Bug 146085 - Support client-side decoration of the libreoffice main frames when building for GTK4
Summary: Support client-side decoration of the libreoffice main frames when building f...
Status: RESOLVED DUPLICATE of bug 115512
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: UI (show other bugs)
Version:
(earliest affected)
7.4.0.0 alpha0+
Hardware: All Linux (All)
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: needsUXEval
Depends on:
Blocks: Desktop-Integration
  Show dependency treegraph
 
Reported: 2021-12-06 20:27 UTC by christian.ohrfandl
Modified: 2021-12-07 09:36 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments
Screenshot of the POC for having GTK4 CSD working on libreoffice (swriter) main application frame (64.76 KB, image/png)
2021-12-06 20:28 UTC, christian.ohrfandl
Details

Note You need to log in before you can comment on or make changes to this bug.
Description christian.ohrfandl 2021-12-06 20:27:15 UTC
Description:
TL;dr: This: https://ask.libreoffice.org/t/development-exchange-libreoffice-main-frame-with-a-gtk4-one/71248

Motivation:
GTK4 and the CSD headerbars are state-of-the-art when on GNOME Shell like Linux distros. Additionally many dialogs are already ported to GTK4 and make use of the CSD headerbars. Therefore, making use of CSD headerbar for libreoffice main frames (e.g. swriter) when compiling for GTK4 would be a natural step. The benefits may be illustrated as better integration into Gnome Shell, making use of new UX technologies provided by GTK4 (and/or libadwaita) and generally fancier look&feel of the orverall office suite.

POC:
I did a POC on that exact matter. In order to make use of CSD when compiling for GTK4, not much change was needed (vcl/unx/gtk3/gtkframe.cxx; thanks for pointing me into the right direction @caolan). The outcome (baby steps, keep in mind) can be viewed in this ticket (incl. screenshot): https://ask.libreoffice.org/t/development-exchange-libreoffice-main-frame-with-a-gtk4-one/71248

In general I am willing to spend time on this topic. However, IMO it would only make sense if the libreoffice team and the design team especially backs this topic.

Steps to Reproduce:
1. Compile libreoffice with --enable-gtk4
2. Start libreoffice
3. Currently: No GTK4 CSD on libreoffice main applications frames; after feature implementation: Makes use of CSD on GTK4 on main applications frames

Actual Results:
- See "Steps to Reproduce"

Expected Results:
- See "Steps to Reproduce"


Reproducible: Always


User Profile Reset: No



Additional Info:
- See "Steps to Reproduce"
Comment 1 christian.ohrfandl 2021-12-06 20:28:28 UTC
Created attachment 176745 [details]
Screenshot of the POC for having GTK4 CSD working on libreoffice (swriter) main application frame

Screenshot of the POC for having GTK4 CSD working on libreoffice (swriter) main application frame
Comment 2 V Stuart Foote 2021-12-06 21:17:31 UTC
So are we going to implement CSD cross platform to service our other DE? 

WF in past reviews, e.g. bug 113388, has that somehow changed?

If so, would need dev effort on X11 as well Wayland backends with native DE work for qt5/6, kf5, Quartz and WDM--we can't just do it for gtk4.

Seems like a slippery slope...
Comment 3 Heiko Tietze 2021-12-07 06:16:23 UTC
Many thanks for the initiative, looking forward your patches. But let's track the task at the previous ticket.

*** This bug has been marked as a duplicate of bug 115512 ***
Comment 4 Caolán McNamara 2021-12-07 09:36:51 UTC
(In reply to V Stuart Foote from comment #2)
> So are we going to implement CSD cross platform to service our other DE?... we can't just do it for gtk4.

We already have a number of features that only exist on platforms that provide them, so a feature that's only implemented for a gtk version is not without precedent.