[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



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


Reply to: