Git Product home page Git Product logo

budgie-desktop-examples's Introduction

Budgie Desktop Examples

Sample material for constructing extensions/applets for the Budgie Desktop.

TODO

  • Add Python example
  • Add Vala example
  • Add C example

budgie-desktop-examples's People

Contributors

ikeydoherty avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

budgie-desktop-examples's Issues

API/Signal for panel orientation?

For the appindicator applet it needs to understand if it is running on a vertical panel or a horizontal panel since it needs to adjust its orientation to display appindicator's correctly.

Is there an API or any recommended method to determine the orientation of the panel for a budgie applet?

No package budgie-1.0 available.

Hi,

I am trying to figure out how to work with Budgie panel applets. As a first step, I downloaded this project and tried to build in my system(Fedora 23).

autogen script is reporting missing packages budgie-1.0. What is this package about? Is it something specifically available for Solus only?

Regards.

UPDATE
Problem was solved after installing budgie-desktop-devel package.

Applet development documentation

I've found surprisingly little documentation concerning applet development. I'd be willing to put together some more comprehensive documentation, provided it doesn't exist somewhere already (I'm new to Budgie and might be looking in the wrong places).

I assume that installation of a plugin isn't as simple as just dropping the vala_project directory into ~./local/share/budgie-desktop/plugins and running budgie-panel --replace &

Presumably there is some build process, but I'm not sure what that entails. If you drop a few hints to me, I can play around myself and write up a Markdown (or other format) file.

update python example with gsettings and config widgets

After finishing my plugin i took the sample and updated it with some settings and widgets.
https://github.com/lachlan-00/budgie-python-example-applet

I used code from @yursan9 and the caffeine plugin to allow it to build and install. The settings don't really do anything with the plugin but they are bound to the widgets.

Do you want the sample to keep the make file for install? i think all that it needs if you do is the gstettings path/file added and it should be fine.

Not an issue but a question!!!

I am trying to create an applet in python, following the examples here, and i want to test it.
How to do this?
Thanks in advance.

How to use new Budgie.Popover in Python

Hello, I'm kinda confused how to use the new Budgie Popover.
I tried to modify the python example, and looking at the source code for clock applet. This is what I got so far...

import gi.repository
gi.require_version('Budgie', '1.0')
from gi.repository import Budgie, GObject, Gtk, Gdk

class PyShowDesktop(GObject.GObject, Budgie.Plugin):
    __gtype_name__ = "PyShowDesktop"

    def __init__(self):
        GObject.Object.__init__(self)

    def do_get_panel_widget(self, uuid):
        return PyShowDesktopApplet(uuid)

class PyShowDesktopApplet(Budgie.Applet):
    def __init__(self, uuid):
        Budgie.Applet.__init__(self)
        self.widget = Gtk.EventBox()
        self.add(self.widget)
        self.manager = Budgie.PopoverManager()

        self.popover = Budgie.Popover(self.widget)
        self.label = Gtk.Label("Gotta Catch`m All!")
        self.popover.add(self.label)
        self.popover.get_child().show_all()
        
        self.manager.register_popover(self.widget, self.popover)
        self.show_all()

        self.widget.connect('button-press-event', self.on_clicked)

    def on_clicked(self, e):
    	if (e.button != 1):
        	return Gdk.EVENT_PROPAGATE
		if (popover.get_visible()):
			popover.hide();
		else:
			this.manager.show_popover(box);
		return Gdk.EVENT_STOP;

add get_applet_settings to C example

in the vala example there is example code for using the applet settings functions e.g. member function "get_applet_settings" - var settings = this.get_applet_settings(uuid);

Any chance of an equivalent example code for the C example please? ... having difficulty trying to translate the Vala example to C ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.