Sample material for constructing extensions/applets for the Budgie Desktop.
- Add Python example
- Add Vala example
- Add C example
Examples on how to create trivial Budgie Desktop Applets
License: MIT License
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?
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.
Sorry, I press Enter
too soon. ๐
So, I'm thinking about adding setting too my applet. How can I add setting using Python?
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.
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.
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.
I am developing my budgie plugin based on your budgie python example.
Now It works with icons in it's own dir.
I don't know how to save and use symbolic icons.
I tried saving and using my icons to usr/share/icons/hicolor/symbolic/apps or usr/share/icons/ hicolor/scalable/actions manually but the plugin didn't recognise it.
Looking to create a test python applet which will invoke an action when the applet is removed from the panel.
Any thoughts how to-do this?
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;
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 ...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.