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

2015-06-11 Thread Christian Seiler
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

2015-06-09 Thread Axel Beckert
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

2015-06-09 Thread Christian Seiler
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

2015-06-09 Thread Axel Beckert
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

2015-06-09 Thread Christian Seiler
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

2015-06-08 Thread Axel Beckert
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