[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#788076: RFP: gtk3-nocsd -- LD_PRELOADable library to disable GTK+ 3 client side decoration



On 06/08/2015 01:54 PM, Axel Beckert wrote:
> Package: wnpp
> Severity: wishlist
> 
> * Package name    : gtk3-nocsd
>   Upstream Author : PCMan <pcman.tw -AT- gmail.com>
> * URL or Web page : https://github.com/PCMan/gtk3-nocsd
> * License         : LGPL-2.1
>   Description     : LD_PRELOADable library to disable GTK+ 3 client side decoration
> 
> gtk3-nocsd is a small LD_PRELOADable library used to disable the client
> side decoration (CSD) of GTK+ 3.
> 
> Since GTK+ 3.10, its developers added a so-called header bar or custom
> title bar.  With this and the client-side decoration, the original title
> bar and window border provided by the window manager are disabled by
> GTK+. This makes all GTK+ 3 programs look like alike. Even worse, this
> may break some window manager or compositors.

With the release of Jessie (and the advent of Gtk3-based software that
uses CSD), I've been playing around with gtk3-nocsd myself (compiling
it manually) and while I generally like the idea to return some sanity
to Gtk3-based apps, there are a couple of issues that I stumbled on to
(and prevent me from actually using it):

 - While this preloadable library does get rid of the window manager
   hints that disable server-side decorations, it does not get rid of
   the humongous title bars themselves. I've attached a screenshot
   featuring gedit run with preloaded gtk3-nocsd under KDE4 to
   illustrate the problem. While there are things there that can be
   considered just to be simple toolbar buttons, the windows title and
   the minimize/maximize/close buttons are still there and now
   duplicated. It looks *really* weird, and I think that's the main
   issue that should be solved: you also need to remove everything that
   can be found in the normal title bars of window managers.

 - Popup menus are cut off (see second attached screenshot) - if I run
   gedit without the preloaded lib, this doesn't happen.

 - It crashes some apps when preloaded; most notably virt-manager,
   which is in python2, but I've also seen crashes with apps that just
   use glib2 and not gtk3. Don't know why that is yet.

 - I don't think "edit your ~/.profile", as suggested by upstream, is
   a fantastic deployment strategy for this. It kind of goes against
   Debian's "just install it and it will work" mantra.

Don't misunderstand me: I'm not against packaging this for Debian (in
principle I'm quite in favor of it, because I absolutely loathe the
current state of affairs with gtk3, and would probably be willing to
package that myself), but I think there are a couple of issues that
need to be ironed out first, before this becomes really usable.

Regards,
Christian

Attachment: gedit_nocsd.png
Description: PNG image

Attachment: gedit_nocsd_menus.png
Description: PNG image


Reply to: