Minimize Python app/script to System Tray/App Indicator area?

Continuing this question here since it has veered off from the original thread. Global menu is getting cut out

I may have misunderstood @fossfreedom, but were you saying that I can make use of the App Indicator without installing into the plugin extension directory?

If the applet is an app indicator then it will auto appear after running … e.g. if set to autostart

That line specifically pops out at me, because while I based my work on an actual Budgie Applet that installs globally, which @fossfreedom indicates can also be installed locally here https://askubuntu.com/questions/886327/how-do-i-write-an-indicator-for-budgie-desktop, I guess I am wondering if I can throw an app or minimize something up in the top right corner alongside other applications that are actual Applets?

I already have the Budgie Applet written and working, but it would be nicer to skip the manual UI install step imo. On a lesser important note… is there a way to change the button text to dark black? I have been going through gtk+ python documentation but haven’t found a way to resolve it, at least nothing that worked for me.

I think I had tried something like this as a test and it did not work, among other attempts.

self.checkbox_region.modify_fg(Gtk.STATE_NORMAL, Gtk.Gdk.color_parse(’#366B7E’))

If you write a python app that supports the app indicator spec,it will appear with other app indicators… assuming you are running the app indicator applet. The appindicator applet is a default in UB, ubuntu mate. Under Ubuntu with gnome shell I am not sure if it’s a default but i know there is a gnome shell appindicator extension.

Just to clarify, the appindicator applet is just a container that hosts icons and labels for all running appindicators.

I see now, thank you! My first system tray with linux so yea definitely had some confusion there and this method is much more ideal. There’s no reason for what I have made to be an Applet that has to be managed in the UI.

I found this example code that demonstrated it just fine!

1 Like