Open probonopd opened 3 years ago
GTK themes are not like Qt platform themes, more like stylesheets. The question to ask is how much you want this, cause it involves forking GTK and a lot of messy C code.
Actually, with that said, there are the gtk plugins like the menu one...
Check out https://hellosystem.github.io/docs/developer/menu
There are (at least):
Mostly undocumented, at least how they all play together.
So the question is, if it can be done for "normal" Gtk menus (e.g., Inkscape, GIMP,...) why can't it be done for what is in those pesky "Hamburger" menus which Gnome seems to love so much these days (because they apparently think they are a mobile phone now).
they apparently think they are a mobile phone now
They are a mobile phone. GNOME is designed as a touchscreen desktop environment.
GNOME is designed as a touchscreen desktop environment.
Do you have a source for this? It would explain many things I am unhappy with in Gnome as a desktop environment, as I generally consider mobile devices and especially phones as unsuitable for "real work".
Most users who are running Fedora or Ubuntu (and thus Gnome by default) are using it as a desktop system. And have been since Gnome 1 (before Fedora and Ubuntu even existed).
According to https://twitter.com/alexm_gnome/status/1448978239125430272 it is "not possible" with Gtk currently. The question is what would need to be done on the Gtk side to make it work.
Could we hook into some Gtk/Gnome function using LD_PRELOAD that would export that hamburger menu over D-Bus?
In Gtk lingo, the "hamburger menu button" is a Gtk.MenuButton
with icon-name: "open-menu-symbolic"
:
(Source)
We must somehow intercept the drawing of those and export their contexts to D-Bus like "normal" Gtk menus.
This gives a first indication of what implements them:
FreeBSD% grep -r MenuButton /usr/local/lib/libg*
Binary file /usr/local/lib/libgtk-3.so matches
Binary file /usr/local/lib/libgtk-3.so.0 matches
Binary file /usr/local/lib/libgtk-3.so.0.2404.26 matches
Binary file /usr/local/lib/libgtkmm-3.0.so matches
Binary file /usr/local/lib/libgtkmm-3.0.so.1 matches
Binary file /usr/local/lib/libgtkmm-3.0.so.1.1.0 matches
Here someone asks for the same thing but the other way around: https://www.reddit.com/r/gnome/comments/g1vw93/gtk_appmenu_to_menubutton/
No clear answer given on how to do it.
Is there a HUD DBus service under GNOME/Gtk?
9 years ago someone wrote:
GtkMenuButton needs to export its menus to dbus for use by the HUD
https://blueprints.launchpad.net/ubuntu/+spec/desktop-r-default-file-manager
Was it ever implemented?
Export Gtk3/Gnome hamburger menu items to the global menu bar:
How?
Possibly using
LD_PRELOAD
trickery or a custom Gtk3 theme?