It would be nice to have and option in Preferences > Interface to support headerbar so that we:
a) gain some screen real state b) make Geany look like a modern GTK3 app
It could be a simpler start where the window decoration top bar goes away and the menu and top icon bar (which are on the same 'line' in my geany configuration) move to the top border.
Or ideally a more thorough GUI refresh, maybe moving the Menu to a hamburger (but keeping the shortcuts to no change in day-to-day use to hardcore users), keeping the single-line icon bar, maybe coming up with a symbolic icon set (like GIMP did, for instance).
Sharing some thoughts. I use geany daily and it is starting to look a bit dated - it would be nice to have a visual refresh. The GTK3 port done a few years ago would probably enable this.
a) Not only would you lose you window manager controls, replaced by some GNOME-specific kludge, but you'd also _lose_ screen real estate. Geany's menu and toolbar fit within the same area as the giant header bar but expose all the functionality directly instead of hiding it behind some trendy hamburger or gear icon.
b) You mean modern _GNOME_ app. Just because GNOME developers are actively ruining GTK+'s cross-desktop experience, doesn't mean we can't still try to use it to make a portable application that looks normal on good desktop/platforms (ex. XFCE, KDE, Windows, etc.)
Speaking for myself, GtkHeaderBar is the worst thing to happen to desktop Linux since GNOME-shell. It serves no purpose other than to break cross-desktop compatibility and windows management, all just to look like a phone app on the desktop.
In case it wasn't obvious, 👎 for me :)
@codebrainz you forgot the `</rant>` :) But basically took the words out of my mouth. :-1:
@arigit Adding an extra action to get the menus every operation does not improve usability. The point of a menu interface is to make it easier to use than apps like vim or emacs that are totally keyboard driven (or were, they both now have menus IIUC :) Whilst Geany is not specifically targetted at "my first IDE" its also not targeted at leet developers only, its a happy middle ground.
Of course GUIs are very personal things, and what is the best GUI for a particular app varies, but Geany has attracted contributors who seem to appreciate the effectiveness of a traditional GUI in this use-case. So I suspect you won't get much support for a GUI "refresh" without providing significant real world data that demonstrates an improvement in effectiveness. Simply "its new" won't cut it. And also being tied to a specific platform and desktop isn't acceptable either.
I think this might be do-able for a plugin. It would probably require [hooking into the widget hierarchy](https://www.geany.org/manual/reference/ui__utils_8h.html#a49c80700d479b852da...) and thus be somewhat hacky, but I've done [similar](https://plugins.geany.org/devhelp.html) [kludges](https://plugins.geany.org/overview.html) in plugins with moderate success 😃
Thanks all for the comments. I wasn't meaning to start a flamewar. The main driver for my ask was the headerbar to save some screen real state and at the same time update a bit the look and feel (yes I was thinking gnome primarily, but Windows would benefit as well), not to force a change on people.
An optional plugin approach to headerbar support would be super nice, with the HB maybe hosting the current menu+toolbar in a single line, optionally collapsing the menu if it doesn't fit behind a hamburger button (so that more vertical screen real state is made available to code)
I did notice that some apps like e.g. the media player DeadBeef support an optional GTK3 headerbar via plugin (and it looks fantastic on the the desktop) - https://github.com/saivert/ddb_misc_headerbar_GTK3 - so the approach could be workable. Optional support for CSD (client side decorations) is also present on Firefox.
For context - RE Windows support for headerbars - it's been a long time since gtk3 apps with headerbars work on windows - see for instance gedit 3.20. GIMP CSD/headerbar is coming to all platforms (also optional, as I understand it).
The main driver for my ask was that the headerbar can save some screen real state
![normal_and_headerbar](https://user-images.githubusercontent.com/181177/51444053-383abb00-1ca7-11e9...)
I guess it depends on how you consider saving screen real-estate. While the GtkHeaderBar is technically smaller than a menu/toolbar+window decorations, it also wastes a lot of space where functionality could be accessible from, opting to bury it inconveniently beneath hamburgers and submenus. On top of that, it also drops the native window manager controls and looks completely out of place (except on GNOME of course).
update a bit the look and feel (yes I was thinking gnome primarily, but Windows would benefit as well)
I think the only desktop environments where it would look more appropriate are GNOME and perhaps ElementaryOS (although their headerbar is different I believe).
it's been a long time since gtk3 apps with headerbars work on windows - see for instance gedit 3.20
I didn't mean to imply it didn't work, just that it looks terribly out of place and removes native window manager decorations which are important for cross-application consistency. Somehow it manages to look even worse and less native than Chrome on Windows, which is saying a lot.
An optional plugin approach to headerbar support would be super nice
Even though I hate CSD/GtkHeaderBar, if anyone wants to make such a plugin, I would be willing to assist, just for the fun of hacking Geany's UI in unusual ways :)
IMO we could provide it as an option, if it doesnt add a lot of code. Screen real estate is clearly important and some peope might prefer the header bar with lots of stuff being behind a button.
github-comments@lists.geany.org