Bug#788076: RFP: gtk3-nocsd -- LD_PRELOADable library to disable GTK+ 3 client side decoration
Hi Axel, On 06/09/2015 07:54 PM, Axel Beckert wrote: > Christian Seiler wrote: >> and I found a fix for the crashes I saw. (I'll have to clean that up >> a bit and create a pull request for upstream.) > > Feel free to subscribe @xtaran on Github (i.e. me) to that issue/pull > request. So it turns out that while I found a solution that works quite well with Gtk+ 3.14 (current Debian stable/testing/unstable), it doesn't work with 3.16 at all (latest upstream release, will probably be in Debian at some point in the future), because there the code was changed so that there is no real chance of disabling CSDs anymore. See my comment at: https://github.com/PCMan/gtk3-nocsd/pull/8#issuecomment-65390 So I'm sorry to say, but I think that the only real alternative is to patch Gtk. I am seriously doubtful that one can convince upstream to provide the option - and therefore I'm not convinced the maintainers in Debian will be willing to maintain such a patch that upstream clearly rejects... Therefore, I don't think it makes sense to package this for Debian anymore, because it will have a lifetime of at most a month or two (i.e. when 3.16 enters unstable) before it will stop working. Since it's your RFP, I'm not closing it myself, but I really don't see any alternative. :-( If you want a version that works well with Jessie, you can compile: https://github.com/chris-se/gtk3-nocsd/tree/various-fixes Sorry for the bad news. :-( Best regards, Christian -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#788076: RFP: gtk3-nocsd -- LD_PRELOADable library to disable GTK+ 3 client side decoration
Hi Christian, Christian Seiler wrote: > But even then I'd make it configurable per user (and not via debconf per > host), think of large computer network setups at e.g. universities. Yeah, that should be one option at least. Enabling it for all users unconditionally though does make sense on laptops, etc. IMHO. > Some people might actually like the CSDs even on non-GNOME DEs/WMs. *nod* > Since you've expressed interest in that thing, I got a bit of > motivation in looking at that again, Yay! > and I found a fix for the crashes I saw. (I'll have to clean that up > a bit and create a pull request for upstream.) Feel free to subscribe @xtaran on Github (i.e. me) to that issue/pull request. > I'm also going to take a look at the window decoration + popup > issues; maybe those can be fixed as well. Great. I've no big experience with GUI coding, so I'm not the right person for that. > Since this is an RFP, so you don't intend to package it yourself: Right. > would you be willing to sponsor an upload if I do package that? Yes. Would be unfair if I didn't. :-) > The whole CSD decoration thing has been bugging me for a while now > and I doubt the number of Gtk3 apps is going to decrease soon > (rather the opposite), so the problem is likely going to get worse. Yeah, so far I've only noticed it a few times and where wondering "WTF", but my annoyance level wasn't at the "need to do something" threshold yet. ;-) > And you've given me some motivation to look into that issue a bit > more. You're welcome. And I know of at least two more people who'd be happy if such a functionality would be available as Debian package. :-) Regards, Axel -- ,''`. | Axel Beckert , http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#788076: RFP: gtk3-nocsd -- LD_PRELOADable library to disable GTK+ 3 client side decoration
Hi Axel, On 06/09/2015 06:24 PM, Axel Beckert wrote: > Christian Seiler wrote: >> - 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. > > Urgs. So this can't be get rid of? > > I mostly use Awesome and Ratpoison as window managers where the issue > with borders and title bars are minor. With Awesome, these internal > title bars and the fact that the window requests to be floating by > default are the biggest annoyances. Well, my hope is that one could hack that in additionally. (See below.) >> - 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. > > Well, depends. The package could drop an appropriate file into > /etc/X11/Xsession.d/, maybe configured via debconf. That was at least > what I had in mind. Sure, I had something along the lines of the following in mind: BASESTARTUP=${STARTUP%% *} BASESTARTUP=${BASESTARTUP##*/} if [ "$BASESTARTUP" = x-session-manager ]; then BASESTARTUP=$(basename $(readlink /etc/alternatives/x-session-manager)) fi case "$BASESTARTUP" in gnome-session*) # do nothing ;; *) export LD_PRELOAD=... ;; esac (Detection logic stolen from gnome Xsession.d files, they should know best how to do that properly. ;-)) But even then I'd make it configurable per user (and not via debconf per host), think of large computer network setups at e.g. universities. Some people might actually like the CSDs even on non-GNOME DEs/WMs. >> 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. > > Yeah, sounds like it's not yet as functional as I thought. :-( > > Well, on IRC I was suggested to use GTK+ 2 based applications from the > MATE Desktop project instead. E.g. atril and eom instead of evince and > eog, but that only helps for formerly official GNOME applications. Yeah. Since you've expressed interest in that thing, I got a bit of motivation in looking at that again, and I found a fix for the crashes I saw. (I'll have to clean that up a bit and create a pull request for upstream.) I'm also going to take a look at the window decoration + popup issues; maybe those can be fixed as well. Since this is an RFP, so you don't intend to package it yourself: would you be willing to sponsor an upload if I do package that? The whole CSD decoration thing has been bugging me for a while now and I doubt the number of Gtk3 apps is going to decrease soon (rather the opposite), so the problem is likely going to get worse. And you've given me some motivation to look into that issue a bit more. Regards, Christian -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Bug#788076: RFP: gtk3-nocsd -- LD_PRELOADable library to disable GTK+ 3 client side decoration
Hi Christian, Christian Seiler wrote: > 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): Thanks for the experience report! I only had a very short look at it so far. A friend told about it after he read about it on the FVWM list at https://www.mail-archive.com/fvwm%40lists.math.uh.edu/msg16918.html > - 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. Urgs. So this can't be get rid of? I mostly use Awesome and Ratpoison as window managers where the issue with borders and title bars are minor. With Awesome, these internal title bars and the fact that the window requests to be floating by default are the biggest annoyances. >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. *nod* > - 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. Well, depends. The package could drop an appropriate file into /etc/X11/Xsession.d/, maybe configured via debconf. That was at least what I had in mind. > 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. Yeah, sounds like it's not yet as functional as I thought. :-( Well, on IRC I was suggested to use GTK+ 2 based applications from the MATE Desktop project instead. E.g. atril and eom instead of evince and eog, but that only helps for formerly official GNOME applications. Regards, Axel -- ,''`. | Axel Beckert , http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
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 > * 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
Bug#788076: RFP: gtk3-nocsd -- LD_PRELOADable library to disable GTK+ 3 client side decoration
Package: wnpp Severity: wishlist * Package name: gtk3-nocsd Upstream Author : PCMan * 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. Unfortunately, the GTK+ developers decided to be against the existing standards and provide no option to turn it off. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org