So, I think cosmic apps should support whatever the global menu protocol is called, and have the top bar be ssd. The ssd would use the global menu protocol to add the already existing menu bar to the titlebar.
This would have quite a few benefits, including
- Making every third party app with a menu bar look more native, with them getting a COSMIC-style titlebar.
- Making COSMIC apps integrate nicer with other desktops, especially for people who use a mac-style global menu.
- A more unified and flexible desktop experience overall.
Obvious problems being what to do with other buttons in titlebars(I propose to just move them to wherever else would make sense) and what to do on desktops with no server side decorations like GNOME. Also, on other desktops that have ssd, but don’t put the global menu anywhere, there would have to be a more classic, less elegant menu bar.
This proposal definitely has downsides, but I think it’d be a definite improvement and align with COSMIC’s philosphy, so tell me what you all think!
Also, if any system76 employees are reading this, pretty please 🥺 ?
What does “ssd” mean in this context? I’m guessing it’s not solid state drive since that doesn’t make any sense in these sentences, but searching that acronym isn’t very helpful.
Edit: I guess it means “server side decorations”. I see that OP did use the full phrase once, but it didn’t click with me initially. Wikipedia says that means the window manager draws titlebar buttons, as opposed to client side decorations which enables the app developer to control the titlebar of their app.
Oops, shouldve probably explained it in the post.
ssd= server side decorations
server side decorations is when the system draws the titlebar, as opposed to client side decorations (csd) where the applications draws it.
for example, gnome uses csd, but kde uses ssd.
There’s debate over which is better, but the main difference is that csd allows applications to put anything in the titlebar, which can make the design nicer, and ssd allows the titlebars on all apps to be consistent, which I personally value more.
The realistic answer IMO is that SSD should be the default with client overrides being available.
Yes consistency is important but if someone wants to do something weird, let them. Open software ecosystems should prioritize flexibility like that.
Of course server side decorations are better, why is there even a debate?
Simply because other people disagree.
It’s mostly devs like csd better, because they “can express themselves” and users like ssd better, because it’s not inconsistent and can be themed by them. In short, csd sucks for users.
I’m going to provide the counter opinion here: I prefer CSD. SSD gives you a consistent title bar across applications, but it can cause a wildly inconsistent look within a single app. Part of the application is being themed by a different piece of software that doesn’t know anything about it.
I also like apps being able to make use of some of the extra space in the titlebar if they want to.
Aha oops I edited at the same time as your reply! Thanks for the elaboration, that’s helpful!
You should submit this in a PopOS forum.
I did put it in the system76 community here and on reddit as well, the popOS community here seems kinda dead, is there a system76-ran forum I’m not aware of?
Looks like there’s a GitHub and Mattermost
I’ll see about putting it there, ty!
I personally hate global menu bars. They do not work with focus follows mouse. The way menus currently work is fine for me and I would not want to lose that to, IMO, a much worst system. Any global menu implementation would need to be able to be disabled and better to have it off by default. And I would rather see effort in developing other features personally - though mostly as I would never use this feature.
Might not have been clear enough, this proposal still keeps the menu bar in the application headerbar, unless the user chooses to have a global menu.
This is just a different way of doing that that has certain benefits.