Manuel-Kehl / Go-For-It

A stylish to-do list with built-in productivity timer. NOTE: all contributions should go to Jonathan Moerman's fork because this is where active development is taking place: https://github.com/JMoerman/Go-For-It

Home Page:http://manuel-kehl.de/projects/go-for-it/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Move the settings menu to Gio.Menu on gnome

bilelmoussaoui opened this issue · comments

I think, that one of the things that should be done is moving the menu from the Gtk.HeaderBar popover, to a GIo.Menu if the XDG_DESKTOP is Gnome.
I can implement this if you don't have the time to do it ;)

I asume you refer to GLib.Menu/GMenu in the gio-2.0 package, as I have never heard of Gio.Menu and can't find any information on it.
I don't use Gnome myself, so I'm not that familiar with the modern Gnome Human Interface Guidelines. (The pantheon HIG used to be similar, though.)
https://developer.gnome.org/hig/stable/menus.html.en also doesn't mention the usage of GLib.Menu, I haven't found much information about it at all.

Can you give me some more information about the usage of it?

I meant information about when and why it should be used. Documentation about which methods to call, etc... isn't an issue.
Looking into it I think I know what you really mean: use Gtk.Application.app_menu instead of a Gtk.Menu in the HeaderBar.

GLib.Menu itself isn't a replacement for Gtk.Menu, it is a model for things like Gtk.Menu.

One thing to keep in mind is that the menu probably won't stay static, as I plan on adding support for multiple todo lists and plugin support.

The clear done list option already doesn't really fit in the kind of menu that Gtk.Application.app_menu should be:
"The application menu is a single menu containing items that typically impact the application as a whole, rather than acting on a specific window or document. For example, you would expect to see “Preferences” or “Quit” in an application menu, but not “Save” or “Print”."

Well, what i mean is the menu showing settings, contribute, donate, clear list, and about should be defined as an app_menu https://afaikblog.files.wordpress.com/2012/05/calculator-app-menu.png
And the menu should be removed from the headerbar on gnome, for the rest of desktop env, you can keep it.
You can see that on all gnome applications and applications made for Gnome. It's the Gnome HIG since few years now :)

That was what I meant with "use Gtk.Application.app_menu instead of a Gtk.Menu in the HeaderBar.".

I do know that Gnome doesn't use an app_menu for everything, menu buttons are still used in builder, gedit, nautilus, etc... Because of reasons related to my quote above, of which this is the source.

While settings, contribute, donate and about could be moved to an app_menu, that leaves one problem.
If plugins and multiple lists with possibly multiple back ends are going to be supported a place will be needed for backend or plugin specific actions. Right now the current menu seems like a good place to put these. If settings, contribute, donate and about would be moved this menu could at times be empty and at times be filled with actions.

If we are to move these menu items a place for actions that affect a single list as well as actions added by plugins will also need to be found.

Well, i think this menu can be hidden for now; different actions can be added to different menus for later!

Sorry for taking this long to respond. I haven't had much free time and energy lately.
I'll leave this to @mank319 to decide.