You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #420 we identified a problem with newer Linux desktops. If the OS uses the wayland backend instead of the X11 backend then it is assumed that the app uses CSD (Client Side Decoration). Shoes doesn't have that ability and Shoes and apps are just wrong and mostly unusable. The quick fix in Shoes 3.3.7 beta is to force the use of the 'x11' backend. ElementeryOS also has this 'feature' as does as Fedora 29 with Gnome Shell desktop.
What happens is the min/max decorators in the title bar go away (they can be found with right click on the Close button). Annoying, IMO. There is also an entry for 'shoes' in a global menu bar with one generated item, 'Quit'
CSD appears to be a religious war and it's been brewing for several years. We can't stop the war and there's little point in taking sides. Shoes3 is a GTK3 app so we are affected and the problem will only grow. Forcing the x11 background is not a long term solution. What can Shoes do? What should be done?
Now that Shoes 3.3.7 has menus, those could be moved to the global menubar (possibly, I hope). Similar to how Shoes works in OSX. We would have to draw the min/max button ourself. What most Gnome apps, and some OSX apps do is use that title bar space for icons, buttons, text and things. It's like a toolbar. (Gnome calls it a header bar). We have to assume that there are programmatic ways to get those widgets in there. Could they be shoes widgets? I suspect so. What about situations that don't have CSD? Like Windows or Linux with old time setups? Maybe a new class, toolbar for example that's kind of like a flow with preset height and some built in widgets (min, max, close buttons). This won't happen soon so their is plenty of time to think about it.
For the moment I think Shoes shouldn't worry about CSD and we should actually have some warning trigger to alert the user that CSD will cause issues with Shoes, at least until we can figure what to do with it.
It turns out that gtk3 does have functions to discover and/or use a global menu or the default. It's a bit confusing and wrapped up with gtk_application_window_new() -- which we don't use. Also involved is gtk_application_new() which we short circuit for gtk_init() reasons. I found this by looking at what's needed to get the Multi-Document-Interface (MDI) style app working. It's going to get really complicated.
In #420 we identified a problem with newer Linux desktops. If the OS uses the wayland backend instead of the X11 backend then it is assumed that the app uses CSD (Client Side Decoration). Shoes doesn't have that ability and Shoes and apps are just wrong and mostly unusable. The quick fix in Shoes 3.3.7 beta is to force the use of the 'x11' backend. ElementeryOS also has this 'feature' as does as Fedora 29 with Gnome Shell desktop.
What happens is the min/max decorators in the title bar go away (they can be found with right click on the Close button). Annoying, IMO. There is also an entry for 'shoes' in a global menu bar with one generated item, 'Quit'
CSD appears to be a religious war and it's been brewing for several years. We can't stop the war and there's little point in taking sides. Shoes3 is a GTK3 app so we are affected and the problem will only grow. Forcing the x11 background is not a long term solution. What can Shoes do? What should be done?
Now that Shoes 3.3.7 has menus, those could be moved to the global menubar (possibly, I hope). Similar to how Shoes works in OSX. We would have to draw the min/max button ourself. What most Gnome apps, and some OSX apps do is use that title bar space for icons, buttons, text and things. It's like a toolbar. (Gnome calls it a header bar). We have to assume that there are programmatic ways to get those widgets in there. Could they be shoes widgets? I suspect so. What about situations that don't have CSD? Like Windows or Linux with old time setups? Maybe a new class, toolbar for example that's kind of like a flow with preset height and some built in widgets (min, max, close buttons). This won't happen soon so their is plenty of time to think about it.
Here's a reference
The text was updated successfully, but these errors were encountered: