Add some MATE integration
I am currently running MATE with wayfire, and MATE definitely far away from wayland readyness. Panel runs- but many applets are not working in wayland session, and so do many panel features. Panel can not be free-floating, can not hide or autohide. And mate-panel in wayland session has noticeable CPU usage - not huge, less that 1% but compared to wf-shell it is much worse.
So wf panel looks to be a better choice here - but thinking of implementing some mate-integration that may be usefull.
- Volume control applet - good thing but very basic. Would be nice to add right-click menu allowing to execute mate-volume-control or pavucontrol application which allows extended control over sound system.
- Battery applet - same stoy, adding menu with possibility to call mate-power-statistics app, which show battery details and history, and battery status of bt mouse.
- Menu - right click menu to run mozo - mate menu editor. Also making separate folder for Mate apps not to mix them with "other de's"
Those changes will not require much programming if they are hardcoded , little bit more if they are configurable (f.e. put options "volume-control-app" where you can put executble - pavucontrol or mate-volume-control, menu editor, power-statistics-app - so it not mandatory to be MATE programs but can be any favorite 3d party tool)
- clock applet - mate clock applet so far is the best I ever seen, because this thing allows to set up several locations with easy switch between them (if you frequently travel between 2 places you can simply make your clock show time wgere you currently is instead of switching your system timezone) , and shows the weather. This one is more complex and requre other DE libs. So most likely additional applet mate-clock is needed for this.
I think for 1, 2, and 3 we could easily add an option to execute actions on right-click. PRs welcome if someone has time and motivation to work on that.
mate-panel would work if compiled with in-process applets, I think, but I don't know how to do that.
It works and I do use it now. It misses some features like autohide, but in other ways seems to be more functional than wf-panel. But also much more code is there, and a lot of runtime checks if the panel is running under Xorg or Wayland. So maybe alternative way is to clean up mate-panel from Xorg code and implement some missing features there. Trying to do something like this but for now its not even close to alpha stage...
I have chosen to just reimplement a panel in Python with in-process plugins loaded as modules.
I am a laptop user. Where the resouces does matter - here I have battery, soldered memory and cooling fans that spin up ad sound like F-15 at takeoff when python crap tries to paint graphcs. So for me python seems to be ok for some app that you need to design quickly and run sometimes - but having python react on your every mouse click....
So I still hope to make normal .c panel work like it should.
I have tested resource usage and it seems fine, because the major things are done in the GTK which is still C, Python is glue code.