cosmic-epoch icon indicating copy to clipboard operation
cosmic-epoch copied to clipboard

[Feature Request] Global Menu and Window Button applets

Open vibudh007 opened this issue 1 year ago • 12 comments

I'm being quite selfish with this feature request but essentially I would like to replicate the workflow I had with KDE a couple of years ago before updates to KDE made it impossible to achieve and I switched to GNOME which doesn't have some of these features.

Here is a screenshot of what I'm talking about Screenshot_20221026_173130

In the top panel, there are a few important extensions. Namely, the Global Menu and the Window Buttons. The Media Player is also useful but not as important.

With the Global Menu and the Window Buttons, I could delegate the tasks of the top bar of every window to the top panel of the desktop, and remove the top bar of each window altogether. This would give me more space on the screen for the windows. I could also conveniently pull my mouse to the top right of the screen and left click to close the active window without having to look for the close button of that window.

In the screenshot, the top bar is compact and doesn't stretch to the whole screen but I would usually keep it stretched to the whole screen.

I miss how clean and efficient this felt. I've tried cosmic and it's 90% of the way there to be able to replicate this workflow, but is missing those couple of applets at the moment.

If the cosmic devs see any potential in either any of the applet ideas or the idea of being able to turn off the top bar of windows, then I would love to see them implemented.

vibudh007 avatar Sep 05 '24 10:09 vibudh007

We get a request for a global menu a lot. The big problem here is, that there isn't a unified protocol for this to work reliably across apps. Displaying the title and window controls on the other hand would be trivial.

Drakulix avatar Sep 05 '24 11:09 Drakulix

@Drakulix Will there be a way to disable window top bars as well?

vibudh007 avatar Sep 05 '24 16:09 vibudh007

If we would add such an applet, it should be accompanied by removing window headers, however I don't think we have concrete plans for that yet.

For that at least a protocol exists, however some apps might not respect that or decide to only hide window controls from their top bar.

Drakulix avatar Sep 05 '24 16:09 Drakulix

It's worth stating for the record that while a global menu is (sadly) not yet implemented for Cosmic, you absolutely can put your "window buttons" in the Panel. If you go to Settings>Desktop>Panel>Applets, you should be able to add "App Tray", which is the same "window button" applet otherwise found in the dock at the bottom. I, too, hate having more than one panel/dock taking up screen space.

Hate9 avatar Sep 13 '24 20:09 Hate9

@Hate9 By "Window Buttons", I did not mean the app tray, I meant the minimize, maximize and close buttons. Having one set of them in the panel instead of one set for each open window makes it so that there's some screen space saved (At least in Qt applications) and also you can quickly flick your mouse to the top right of the screen to close the currently focused window.

vibudh007 avatar Sep 14 '24 09:09 vibudh007

We get a request for a global menu a lot. The big problem here is, that there isn't a unified protocol for this to work reliably across apps...

@Drakulix Hi, would a Wayland protocol be a possible solution for this, which toolkits could implement and compositors could decide whether to support the feature?

Sporesirius avatar Nov 15 '24 10:11 Sporesirius

What you think about kde realisation of global menu in wayland?: https://wayland.app/protocols/kde-appmenu

Munteanujasmin09 avatar Dec 03 '24 17:12 Munteanujasmin09

We get a request for a global menu a lot. The big problem here is, that there isn't a unified protocol for this to work reliably across apps...

@Drakulix Hi, would a Wayland protocol be a possible solution for this, which toolkits could implement and compositors could decide whether to support the feature?

The protocol is not the problem, several attempts exist (e.g. kde-appmenu). The problem is getting toolkits to adopt it.

Drakulix avatar Dec 03 '24 17:12 Drakulix

But i we can create custom applet that will add kde-appmenu (even if will work only with qt apps)? Can libcosmic devs add support for appmenu?

Munteanujasmin09 avatar Dec 03 '24 18:12 Munteanujasmin09

We get a request for a global menu a lot. The big problem here is, that there isn't a unified protocol for this to work reliably across apps...

@Drakulix Hi, would a Wayland protocol be a possible solution for this, which toolkits could implement and compositors could decide whether to support the feature?

The protocol is not the problem, several attempts exist (e.g. kde-appmenu). The problem is getting toolkits to adopt it.

Is this a case of "GTK/GNOME developers having a different vision, so they won't support the protocol—like with SSD?"

Sporesirius avatar Dec 03 '24 18:12 Sporesirius

Is this a case of "GTK/GNOME developers having a different vision, so they won't support the protocol—like with SSD?"

I wouldn't necessarily say so. Their gtk-shell protocol has an option to set a menupath: https://wayland.app/protocols/gtk-shell#gtk_surface1:request:set_dbus_properties

Which doesn't seem to be used by GTK4/Adwaita apps anymore, but I am not sure there exists a statement from gnome developers on that issue.

What this needs is a common standard, but I am not sure anybody has tried to make a wayland-protocols proposal.

(Which is not an invite to open an issue at wayland-protocols. Somebody needs to actually write the protocol (which could be based on kde-appmenu), collect feedback and then drive toolkit implementations.)

As for implementing the protocol as is in COSMIC: No, I don't want to support an unstable third-party protocol. If there is common interest, that is a good reason to start standardizing.

Drakulix avatar Dec 03 '24 19:12 Drakulix

I'd like to cast another vote of support for global menus. Beyond the perspective of customizability, to me, the biggest value in offering it is making the DE more welcoming and accessible to users coming from years of experience on macOS, building that muscle memory. So it's part of a bigger issue of offering a UX that allows users of the bigger platforms — Windows and macOS — to feel more at home.

This would give COSMIC a good edge with macOS users for being one of very few DEs that offer global menus.

hyuri avatar Apr 02 '25 23:04 hyuri

Hi, It seems that there was/is work going on for a more generic protocol: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/52

Sporesirius avatar Jun 15 '25 22:06 Sporesirius

I would really love this, I'm using unite (window controls) + fildem (global menu) on my GNOME 48, it would be awesome to carry over my setup to cosmic

CosmicFusion avatar Sep 04 '25 14:09 CosmicFusion

Hi, It seems that there was/is work going on for a more generic protocol: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/52

Will this ever happen? There is a KDE blog post that had it's 5th birthday last saturday. Literally nothing happened since then.

As far as I know Wayland lets create protocols for a specific implementation/compositor, so it would be possible to add a Cosmic protocol to cosmic-comp so at least there would be a protocol to start with. Later KDE could adopt that too if they want to. But for now it seems like they are playing the waiting game rather than making their own protocol for KWin (for wayland at least). If my understandings are correct and this is true it would be possible to create a Cosmic specific implementation of dbus_annotation, rather than waiting forever.

It seems like Gnome devs will never do something like this, Wayland devs are uninterested, so the two community, namely KDE and Cosmic are waiting on others rather than doing it themselves.

usbeehu avatar Oct 14 '25 16:10 usbeehu