Description: The Gentoo team has decided to drop support for the LO gtk3 backend and support only the LO gtk4 backend on all gtk platforms, also for non-Gnome and/or gtk3 desktop environments like Xfce, Mate, icewm etc.. However, in many cases LO with gtk4 is the only application in these environments with CSD titlebars, and most important, it is the only application which puts all the dialog buttons from the bottom right corner to the titlebar left and right corner. This is very disruptive and alienating for users which have never been in contact with gnome or any gnome apps. This is especially true for environments like the linux server I run for my students at our university: The desktop is Xfce with MS Windows like theme and settings, and with CSD globally switched off (which unfortunately works only for gtk3, not for gtk4), and 95 % of the students only have Windows background and never seen linux before. I had to switch to the LO qt6 backend for this reason, which is not optimal in a pure gtk3 environment. For this reason, the version information down below in the bug report also says qt6, the gtk4 backend is no longer compiled into my LO, and gtk4 is also no longer installed here. So could you please add an option to the LO gtk4 backend which switches back to traditional title bars and (much more important!) reverts all dialogs back to the traditional button layout (buttons at the bottom!)? Or even better, could you switch the dialogs automatically depending on the desktop environment (Gnome / non-Gnome)? Version is 25.2.1.1, which is not in your list. Steps to Reproduce: Start LO with gtk4 backend. Actual Results: All LO dialogs have CSD titlebars and have moved all their buttons up to the titlebar. Expected Results: As this is a non-Gnome environment, LO should have traditional titlebars and the traditional dialog layout with the buttons at the bottom, conforming to Xfce / Mate / Windows design guidelines. At least, that should be configurable. Reproducible: Always User Profile Reset: No Additional Info: Version: 25.2.1.1 (X86_64) / LibreOffice Community Build ID: 520(Build:1) CPU threads: 16; OS: Linux 6.13; UI render: default; VCL: qt6 (cairo+xcb) Locale: de-DE (en_DE.iso885915); UI: en-US Gentoo official package Calc: threaded
Reasonable, but no sure it is possible. @Caolan, Michael?
(In reply to Klaus Kusche from comment #0) > However, in many cases LO with gtk4 is the only application in these > environments with CSD titlebars, and most important, it is the only > application which puts all the dialog buttons from the bottom right corner > to the titlebar left and right corner. This is very disruptive and > alienating for users which have never been in contact with gnome or any > gnome apps. I don't believe that GTK4 is inherently CSD. Could it be that whoever is converting GTK3 to GTK4 also utilised the opportunity to integrate LibAdwaita?
I'm not a gtk developer at all, but as far as I know, there is no global switch within gtk3 or gtk4 to turn CSD off. There is an inofficial patch to do that in gtk3, but I'm not aware of any such patch for gtk4. As far as I know, it is perfectly possible to code classical windows with no csd and classical windowmanager titlebar also in gtk4, but two separate, different pieces of code are needed in the application for the csd and the non-csd variant.
(In reply to Klaus Kusche from comment #0) > The Gentoo team has decided to drop support for the LO gtk3 backend and > support only the LO gtk4 backend on all gtk platforms, also for non-Gnome > and/or gtk3 desktop environments like Xfce, Mate, icewm etc.. That's of course a decision the Gentoo team can take, but it may be worth mentioning that the gtk4 VCL plugin is still experimental and known to be incomplete (e.g. lacks proper accessibility support due to lack of upstream GTK 4 API, menu support isn't complete yet, extra controls in the file dialog are missing), see also meta bug tdf#151050. (Patches welcome, of course!) > However, in many cases LO with gtk4 is the only application in these > environments with CSD titlebars, and most important, it is the only > application which puts all the dialog buttons from the bottom right corner > to the titlebar left and right corner. This is very disruptive and > alienating for users which have never been in contact with gnome or any > gnome apps. Caolán might have more insights here. I personally prefer the "traditional" design as well, but thought that CSD titlebar approach is what GNOME envisions for its applications, even though it's also possible to stay with the traditional approach. For me on KDE Plasma, for example, gedit also uses a CSD titlebar, as does evince. Does that use a "traditional" titlebar for you on Xfce, Mate, icewm?
Created attachment 199571 [details] Screenshot Gnome & LibreOffice From back to foreground: SuSE's file browser, calculator, gedit and on top LibreOffice gtk4. I cannot follow the claim that CSD is uncommon. What bothers me more is the bad theming - which might be caused by the fact that I'm on KDE (the other tools are native in a virtual box).
(In reply to Michael Weghorn from comment #4) > > However, in many cases LO with gtk4 is the only application in these > > environments with CSD titlebars, and most important, it is the only > > application which puts all the dialog buttons from the bottom right corner > > to the titlebar left and right corner. This is very disruptive and > > alienating for users which have never been in contact with gnome or any > > gnome apps. > > Caolán might have more insights here. I personally prefer the "traditional" > design as well, but thought that CSD titlebar approach is what GNOME > envisions for its applications, even though it's also possible to stay with > the traditional approach. The gtk world is split w.r.t. UI design: You have Gnome desktops, where all windows should have CSD titlebars, and you have Xfce, Mate and oldstyle window manager (like icewm) desktops, where CSD titlebars are unwanted and alien. > For me on KDE Plasma, for example, gedit also uses a CSD titlebar, as does > evince. Does that use a "traditional" titlebar for you on Xfce, Mate, icewm? Over time, gtk applications have also been split: You have applications for the Gnome desktop, which all use CSD titlebars. Gedit and evince are both Gnome-specific applications, so they have CSD. And you have Xfce or Mate applications for the same purpose and with similar functionality, which have traditional title bars and no CSD. Atril is Mate's evince equivalent, pluma is Mate's gedit equivalent, mousepad is Xfce's gedit equivalent, and they also have their own terminal emulator, their own photo viewer, their own file manager, their own archive manager, their own CD burning program and so on, all without CSD title bars. For desktop-agnostic gtk applications, the huge majority of gtk3 applications is non-CSD, while gtk4 applications are mostly using CSD. That's because Xfce and Mate users tend to stay with gtk3 applications as long as they have a choice (because Xfce and Mate are also gtk3 based and will not switch to gtk4 any time soon), while gtk4 applications are mostly used with Gnome (which is the only gtk4 desktop environment I'm aware of). For example, I use geeqie for photos, xarchiver for archives, galculatur as a calculatur, geany for editing, meld for graphic diffs, several wxWidgets-based apps, ... They are all non-Gnome, desktop-independent, gtk3 (with no activity to move to gtk4 afaik) and non-CSD.
(In reply to Heiko Tietze from comment #5) > Created attachment 199571 [details] > Screenshot Gnome & LibreOffice > > From back to foreground: SuSE's file browser, calculator, gedit and on top > LibreOffice gtk4. I cannot follow the claim that CSD is uncommon. What > bothers me more is the bad theming - which might be caused by the fact that > I'm on KDE (the other tools are native in a virtual box). I didn't say CSD's are uncommon, that depends on the desktop you use. Gnome is the most prominent (and only?) "all-CSD" desktop. But each desktop should be consistent, and each app on a desktop should follow that desktop's design guidelines. For linux desktops mainly used by people with mainly Microsoft Windows background or little computing background at all (linux in companies, linux in schools, ...), non-CSD desktops are strongly preferred, and user interface consistency is a major argument (I worked in a government's IT department for several years).
(In reply to Klaus Kusche from comment #6) > Over time, gtk applications have also been split: > > You have applications for the Gnome desktop, which all use CSD titlebars. > Gedit and evince are both Gnome-specific applications, so they have CSD. > > And you have Xfce or Mate applications for the same purpose and with similar > functionality, which have traditional title bars and no CSD. > Atril is Mate's evince equivalent, pluma is Mate's gedit equivalent, > mousepad is Xfce's gedit equivalent, and they also have their own terminal > emulator, their own photo viewer, their own file manager, their own archive > manager, their own CD burning program and so on, all without CSD title bars. > > For desktop-agnostic gtk applications, the huge majority of gtk3 > applications is non-CSD, while gtk4 applications are mostly using CSD. > That's because Xfce and Mate users tend to stay with gtk3 applications as > long as they have a choice (because Xfce and Mate are also gtk3 based and > will not switch to gtk4 any time soon), while gtk4 applications are mostly > used with Gnome (which is the only gtk4 desktop environment I'm aware of). I see. So do I understand correctly that the request here is for LibreOffice to explicitly implement non-CSD titlebars etc., rather than there being a way for applications to implement one solution that would automatically switch between using CSD titlebars on GNOME and non-CSD titlebars on Mate,...? I would personally be rather skeptical regarding having two different implementations in LibreOffice that both need to be maintained. For now, sticking with the gtk3 VCL plugin on MATE seems to be the most straightforward solution to me, as (like other apps you mention), I don't see this disappearing anytime soon. In that case, I think that in the future, seeing what solutions were chosen for other GTK 4 apps might serve as an inspiration on what to do for LibreOffice's gtk4 variant in the future as well. (In reply to Klaus Kusche from comment #7) > I didn't say CSD's are uncommon, that depends on the desktop you use. > Gnome is the most prominent (and only?) "all-CSD" desktop. > > But each desktop should be consistent, > and each app on a desktop should follow that desktop's design guidelines. > > For linux desktops mainly used by people with mainly Microsoft Windows > background or little computing background at all (linux in companies, linux > in schools, ...), non-CSD desktops are strongly preferred, and user > interface consistency is a major argument (I worked in a government's IT > department for several years). As far as I know, LibreOffice automatically chooses the gtk3 variant on all GTK-based desktops by default, which, IIUC, would result in the desired behavior here. Do I understand correctly that the root cause of what you describe as undesirable behavior is that Gentoo deviates from the default LibreOffice behavior? In that case, my suggestion would be to file a ticket in the Gentoo issue tracker, requesting to keep the gtk3 VCL plugin. (Another alternative to get a non-CSD variant is to use the qt6/kf6 variant, in case Gentoo packages those.)
(In reply to Michael Weghorn from comment #8) > (In reply to Klaus Kusche from comment #6) > > Over time, gtk applications have also been split: > > > > You have applications for the Gnome desktop, which all use CSD titlebars. > > Gedit and evince are both Gnome-specific applications, so they have CSD. > > > > And you have Xfce or Mate applications for the same purpose and with similar > > functionality, which have traditional title bars and no CSD. > > Atril is Mate's evince equivalent, pluma is Mate's gedit equivalent, > > mousepad is Xfce's gedit equivalent, and they also have their own terminal > > emulator, their own photo viewer, their own file manager, their own archive > > manager, their own CD burning program and so on, all without CSD title bars. > > > > For desktop-agnostic gtk applications, the huge majority of gtk3 > > applications is non-CSD, while gtk4 applications are mostly using CSD. > > That's because Xfce and Mate users tend to stay with gtk3 applications as > > long as they have a choice (because Xfce and Mate are also gtk3 based and > > will not switch to gtk4 any time soon), while gtk4 applications are mostly > > used with Gnome (which is the only gtk4 desktop environment I'm aware of). > > I see. So do I understand correctly that the request here is for LibreOffice > to explicitly implement non-CSD titlebars etc., rather than there being a > way for applications to implement one solution that would automatically > switch between using CSD titlebars on GNOME and non-CSD titlebars on > Mate,...? Automatic or manual switch would be fine. Either by detecting if the desktop environment is Gnome or not, or by using some configuration option within LO, or by following the GTK_CSD environment variable which is used by some gtk3 apps to switch between CSD and non-CSD. Two gtk4 backends is not ideal. > Do I understand correctly that the root cause of what you describe as > undesirable behavior is that Gentoo deviates from the default LibreOffice > behavior? In that case, my suggestion would be to file a ticket in the > Gentoo issue tracker, requesting to keep the gtk3 VCL plugin. They reverted their decision just a few hours ago, the gtk3 option is back now. But it will be back only until the gtk4 backend is more stable and fully featured. > (Another alternative to get a non-CSD variant is to use the qt6/kf6 variant, > in case Gentoo packages those.) Actually that's what I did in the meantime after testing the gtk4 variant: Qt6 has traditional dialogs and looks much better and more gtk3-compatible than gtk4 here.
On our end in Gentoo, we've brought back the gtk3 VCL plugin. If upstream LO intends to keep it for quite some time, then we won't be in a hurry to drop it there.
(In reply to Sam James from comment #10) > On our end in Gentoo, we've brought back the gtk3 VCL plugin. If upstream LO > intends to keep it for quite some time, then we won't be in a hurry to drop > it there. Great, thanks a lot! (I personally see no need/reason to drop gtk3 anytime soon, given it's currently the most mature LibreOffice VCL plugin on Linux and I'm not aware of any plans of upstream GTK ending support for GTK 3 anytime soon either.) (In reply to Klaus Kusche from comment #9) > They reverted their decision just a few hours ago, the gtk3 option is back > now. > But it will be back only until the gtk4 backend is more stable and fully > featured. > > > (Another alternative to get a non-CSD variant is to use the qt6/kf6 variant, > > in case Gentoo packages those.) > > Actually that's what I did in the meantime after testing the gtk4 variant: > Qt6 has traditional dialogs and looks much better and more gtk3-compatible > than gtk4 here. Do you think qt6 could be an alternative to gtk4 in the long run for those that want a non-CSD LibreOffice? (I currently have no idea whether supporting both, CSD and non-CSD with gtk4 would be more or less trivial or require quite some extra work/maintenance.)
(In reply to Klaus Kusche from comment #9) > Automatic or manual switch would be fine. From the UX POV I fully support this.
(In reply to Michael Weghorn from comment #11) > (In reply to Klaus Kusche from comment #9) > > > (Another alternative to get a non-CSD variant is to use the qt6/kf6 variant, > > > in case Gentoo packages those.) > > > > Actually that's what I did in the meantime after testing the gtk4 variant: > > Qt6 has traditional dialogs and looks much better and more gtk3-compatible > > than gtk4 here. > > Do you think qt6 could be an alternative to gtk4 in the long run for those > that want a non-CSD LibreOffice? > (I currently have no idea whether supporting both, CSD and non-CSD with gtk4 > would be more or less trivial or require quite some extra work/maintenance.) Theoretically, yes. The qt6 LO backend looks quite similar to the gtk3 backend and is non-CSD. And if configured correctly, qt6 automatically tries to generate qt6 theme settings from the current gtk3 theme, with acceptable results (I don't know if qt6 will also translate gtk4 themes with similar results). In practice, there will always be people voting against qt6, either because they want an absolutely uniform UI, or because they have no other application depending on qt6 on their system and would have to install and configure qt6 just for LO. gtk3 desktops (especially Xfce and Lxde) are the preferred desktops for small systems, down to rasperry pi and below, and judging by those system's standards, qt6 is huge. But that's all in the future. As long as Xfce, Mate etc. are gtk3, and as log as both gtk3 and the LO gtk3 backend are supported, to my opinion a non-CSD gtk3 LO backend and a CSD gtk4 backend will make most users with gtk environments happy. Currently there seems to be little need for a non-CSD gtk4 backend or a substitute for such a backend. Gentoo just tried to drop the gtk3 LO backend a little bit too early...
(In reply to Klaus Kusche from comment #13) > Theoretically, yes. > The qt6 LO backend looks quite similar to the gtk3 backend and is non-CSD. > And if configured correctly, qt6 automatically tries to generate qt6 theme > settings from the current gtk3 theme, with acceptable results (I don't know > if qt6 will also translate gtk4 themes with similar results). I didn't hear/know yet that Qt automatically generates Qt styles from GTK 3 themes. I thought that Qt applications only look quite similar to actual GTK apps on GNOME because there is an Adwaita Qt style (in Debian, packaged as adwaita-qt6) that gets used by default on GNOME, but maybe there is more logic somewhere than I'm aware of (either in qtbase or there is some Qt style that contains the logic and takes into account the current GTK settings/theme?) > But that's all in the future. As long as Xfce, Mate etc. are gtk3, and as > log as both gtk3 and the LO gtk3 backend are supported, to my opinion a > non-CSD gtk3 LO backend and a CSD gtk4 backend will make most users with gtk > environments happy. Currently there seems to be little need for a non-CSD > gtk4 backend or a substitute for such a backend. > Gentoo just tried to drop the gtk3 LO backend a little bit too early... Thanks for the feedback. Given this, I'll close this bug as NOTOURBUG for now because it got resolved by Gentoo adding back the gtk3 VCL plugin. Furthermore, an option to disable CSD is something that might make sense in upstream GTK 4 rather than all apps implementing it separately. However, feel free to reopen or create a new one asking to reevaluate this in the future if the topic becomes relevant again, in particular if other GTK 4 apps provide a way to disable CSD and LO doesn't.
(In reply to Michael Weghorn from comment #14) > (In reply to Klaus Kusche from comment #13) > > Theoretically, yes. > > The qt6 LO backend looks quite similar to the gtk3 backend and is non-CSD. > > And if configured correctly, qt6 automatically tries to generate qt6 theme > > settings from the current gtk3 theme, with acceptable results (I don't know > > if qt6 will also translate gtk4 themes with similar results). > > I didn't hear/know yet that Qt automatically generates Qt styles from GTK 3 > themes. I thought that Qt applications only look quite similar to actual GTK > apps on GNOME because there is an Adwaita Qt style (in Debian, packaged as > adwaita-qt6) that gets used by default on GNOME, but maybe there is more > logic somewhere than I'm aware of (either in qtbase or there is some Qt > style that contains the logic and takes into account the current GTK > settings/theme?) Built into qt5 and qt6 base and activated by QT_QPA_PLATFORMTHEME=gtk3 .