4 ms·
For apps that don't care about decorations, the toolkit is supposed to handle it. Inside Electron would be the safest place to implement a fallback for applicat
by zxzax 6y ago
For apps that don't care about decorations, the toolkit is supposed to handle it. Inside Electron would be the safest place to implement a fallback for applications that don't care about decorations. That way you can be sure it will work on any window manager that doesn't provide decorations, not just GNOME... I don't want to retread more of the discussion that was in the github issue, but one way to do it is to have Electron hook into GTK and draw the GTK decorations, like Firefox does.
GNOME is an open source project, asking them to reconsider a position doesn't make sense -- the default response to every feature request is "no" unless someone volunteers to implement it. And honestly I see very little chance that the current GNOME volunteers are going to implement server side decorations in Wayland unless someone outside the project steps up to do the work. Maybe Canonical would pay for it? It's a major change for something that no GTK/GNOME apps would even use, and it wouldn't really benefit those small applications... they would still have to draw their own decorations to handle any other window manager that doesn't implement decorations, such as Weston.
- vially 6y ago> GNOME is an open source project, asking them to reconsider a position doesn't make sense -- the default response to every feature request is "no" unless someone volunteers to implement it I don't think GNOME would accept a pull-request adding SSD regardless of where it came from (I'd love to be proven wrong though). In fact, someone asked this exact question [0] and it got no reply. But after reading the whole thread a while ago my takeaway was that such a pull-request would not be accepted. > [...] it will work on any window manager that doesn't provide decorations, not just GNOME. GNOME is the only real desktop compositor that doesn't support SSD. The main reason no one is complaining about Weston not supporting server-side decorations is because there aren't many (any?) people running Weston on the desktop. Also, there's no technical reason why SSD couldn't be added to Weston too. Again, as I've mentioned before I think both SSD and CSD have their use-cases. GNOME thinks otherwise and that's okay. But it doesn't seem to be (only) due to lack of resources. [0] - https://gitlab.gnome.org/GNOME/mutter/-/issues/217#note_356962 https://gitlab.gnome.org/GNOME/mutter/-/issues/217#note_3569...
- zxzax 6y agoThe pull request probably wouldn't be accepted because it's a major change and no other Mutter contributors are interested in reviewing such a patch or dealing with the (far-reaching) effects of it. GNOME is just the nonprofit open source project and it doesn't really allocate resources or have resources to spare -- it's got to be a volunteer who works on this who has enough resources to do it in a way that doesn't mess it up for everyone else, maybe that's Canonical who can do it, I don't know. There is also the option of implementing it first in one of the forks (Elementary, Budgie, etc), testing it out for a while, and then submitting it later after it's known that it works and doesn't break everything. Getting upstream to accept a 10,000 line patch is not easy under any circumstances. There are other window managers that don't support server side decorations, I don't know why people always single out GNOME. Weston is important too, it's not often used directly but it's used as a base for other implementations -- if your app is busted and has no decorations on the reference implementation it can hardly be called a working Wayland app. Server side decorations do have a use case but they're not equivalent to client side decorations. I used to think they were until I tried to implement them in a window manager, now I see server side decorations as mostly a broken concept unless it's in very specific circumstances. The toolkits and apps have to implement client side decorations if they want to ensure the correct behavior everywhere, it's unavoidable.