Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
retitle 744249 CSD windows cannot be resized under many window managers found 744249 3.14.3-1 thanks Hi, Looks like every window manager's developers will have to fix this in their code. I've found an old commit in Mutter's code [1] which fixes the resizing of windows whose titlebar is currently offscreen, and by coincidence, it also fixes the resizing of CSD windows (even though CSD didn't even exist when that commit has been pushed). Muffin, the Cinnamon's WM which is a fork of Mutter, inherited this fix. The code from that commit has been used in Metacity as well [2]. I've pushed this fix to Marco [3], so MATE developers should look at it soon (I hope). As for the other WMs like WindowMaker, I'm not familiar with their code, so it's hard to say what changes need to be made in order to fix this. [1] https://git.gnome.org/browse/mutter/commit/?id=526bc34bba20b5f8d3055f2fb668a36a21357443 [2] https://git.gnome.org/browse/metacity/commit/?id=c9099b4a90932a22c86b960c8b4dc7cd1458defe [3] https://github.com/mate-desktop/marco/pull/142
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Strangely, I can't seem to find any upstream bugs about the inability to resize CSD windows. How come...?
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11 forcing client side decorations on X11
On Fri, 17 Oct 2014 16:04:19 +0400 =?UTF-8?B?VmxhZCBPcmxvdg==?= mon...@inbox.ru wrote: Strangely, I can't seem to find any upstream bugs about the inability to resize CSD windows. How come...? The only CSD I see in KDE is gtk3-widget-factory and it can be resized. The mouse cursor changes when it goes near sides or corners and it makes no difference if I use the default GTK3 theme or a customized one. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hi, I think a misunderstanding has occurred here. ... If GTK3 forces CSD on non-Gnome apps that don't use it explicitly, that IS a bug in GTK3. But if ONLY Gnome apps get CSD, that could be seen as a bug in THEM (or in Gnome) and not in GTK3. Indeed, I didn't get it right... The situation was/is like this: - GTK+ 3.12 forced CSD on all dialog windows and subwindows, making it impossible to resize them with a mouse in the environments other than Gnome Shell. This included not only Gnome apps, but any other GTK+3 apps as well (e.g. Synaptic). - GTK+ 3.14 removed [1] that feature. Now all the dialog windows have CSD only if GTK+ decides it works best in the current environment. In practice it means the dialogs in _all_ GTK+3 apps don't have forced CSD anymore if you're using MATE, Xfce, LXDE, etc. (in other words - not Gnome Shell) - In both GTK+ 3.12 and 3.14, most of the Gnome apps still have CSD in their _main_ windows. That means they're still not resizable with a mouse in the environments other than Gnome Shell, and that's still a bug. [1] http://blogs.gnome.org/mclasen/2014/07/28/a-talk-in-9-images/
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hi, Looking at the GtkHeaderBar source code, it does not appear to be the case that Gtk is forcing client side decorations. 3.12 did for GtkDialog under at least some circumstances, but 3.14 does not appear to use CSD for GtkDialog under non-GNOME. Yes, the subject of this bug report isn't correct anymore. But as I said in my previous letter (to Tsu Jan), the inability to resize any windows that _have_ CSD is still present in 3.14. Since this is basically the same issue that has been reported originally, I think this bug should be kept open. Just the title needs to be changed. One possibility would be to detect GNOME Shell (or some we like CSDs GSetting that GNOME Shell could set), use CSD in Shell, and use WM decorations / no title in the GtkHeaderBar on non-Shell Yes, that's what I'm thinking about. GTK+ 3.14 already has the logic that enables or disables CSD in dialog windows, depending on the current environment. Similar logic might be used to use either WM decorations or CSD. That would solve this bug for good (you would be able to resize the windows normally with a mouse). So, it is likely that someone who advocates this change will have to do the research, propose a solution/design that makes sense and is implementable, and implement it. We've already seen in this bug's discussion that attempts to patch in design changes via a GtkModule are not sufficiently robust to be a good solution. Yes, our experiments so far led to two results, both not acceptable as a good solution yet: - the headerbar is removed completely, taking any app-specific buttons with it, making the app completely or partially unusable. The only control that's not removed is the fallback app menu which is converted to the classic menu. Not a good solution. - the headerbar is not removed, therefore some apps have duplicated window title (in WM decorations and in the headerbar). This doesn't break the functionality but doesn't _look_ good either. Since at least one headerbar item (the app menu) can be converted to the conventional menu, I was hoping to find a way to do the same for the other headerbar buttons (excluding WM controls of course) and therefore get rid of the headerbar in the end. Of course, this would be also paired with the aforementioned logic (leave the headerbars alone in Gnome Shell, convert them in other environments). That would not only solve this bug with window resizing, but also make Gnome apps look less out-of-place in the environments other than Gnome Shell. The fact that GNOME 3.14 adds the gtk-dialogs-use-header GSetting and the gtk_application_prefers_app_menu() function (and hence GtkDialog no longer uses CSD, and some apps' menu structures go back to being more traditional, under non-GNOME) indicates that there is upstream interest in this sort of thing. Oh, that's interesting, I didn't know about gtk_application_prefers_app_menu(). In regard to what had been said above, it would certainly be nice to have some kind of gtk_application_prefers_headerbar() function as well. :) As for now, I don't know whether someone comes up with a reasonable solution, but I'm already afraid we might run out of time due to the coming freeze of Jessie.
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hi, I don't know about gthumb but gnome-calculator, devhelp, gedit and totem are Gnome apps. Yes, they come from Gnome project but that doesn't mean that the users of other desktop environments don't use them. - gthumb is a nice image viewer, it's been around for a long time and there are people that prefer to use it even if they don't use Gnome. - devhelp is used by developers who write apps using GLib and GTK+, and these are not necessarily Gnome developers. Think Xfce, LXDE, MATE, Cinnamon... - gedit is a simple and convenient text editor with the support for plugins, and again, it's used in other DEs as well. More examples that I didn't mention earlier: - evince - used for PDF viewing in other DEs as well. - gnome-disks - I'm not sure this one even has any competitors (only gsmartcontrol, maybe?). A must have tool if you want to know the state of your hard drive(s). - baobab - disk usage analyzer, very convenient if you want to know which folders took up all the place on your hard drive :) Any competitors? (except for MATE's fork of baobab itself) Please don't forget that not all the DEs are as complete as Gnome or KDE. Not every DE developers can afford to have their own video player, image viewer, PDF viewer, disk utility and so on, so they have to rely on Gnome apps sometimes. Think of Xfce and LXDE. Think also of Cinnamon which is a fork of Gnome Shell and historically had to make use of Gnome apps. Last but not least, think of the simple window managers, e.g. WindowMaker, which Matti Hamalainen (the reporter of this bug) does use.
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On 13/10/14 12:00, Vlad Orlov wrote: I don't know about gthumb but gnome-calculator, devhelp, gedit and totem are Gnome apps. Yes, they come from Gnome project but that doesn't mean that the users of other desktop environments don't use them. (you in this email refers to anyone wanting fewer CSDs, not necessarily any specific person.) Looking at the GtkHeaderBar source code, it does not appear to be the case that Gtk is forcing client side decorations. 3.12 did for GtkDialog under at least some circumstances, but 3.14 does not appear to use CSD for GtkDialog under non-GNOME. Apps that use CSDs in X11 do so because they specifically asked for it, e.g. Evince: gtk_header_bar_set_show_close_button ( GTK_HEADER_BAR (ev_window-priv-toolbar), TRUE); gtk_window_set_titlebar (GTK_WINDOW (ev_window), ev_window-priv-toolbar); So I'm inclined to close this as valid bug in 3.12, fixed in 3.14. It's clearly not a bug that Gtk uses CSDs when apps call the functions whose documentation can be paraphrased to please use CSDs here: If you set a custom titlebar, GTK+ will do its best to convince the window manager not to put its own titlebar on the window. If you would like specific GNOME applications (e.g. Evince) to behave differently in order to integrate better into non-GNOME desktop environments (e.g. reducing or avoiding API calls that result in CSDs), I suggest you take that feature request upstream, taking their point of view / design choices into account. Politeness makes sense even from a purely selfish point of view: people tend to be uncooperative when you insult their work. One possibility would be to detect GNOME Shell (or some we like CSDs GSetting that GNOME Shell could set), use CSD in Shell, and use WM decorations / no title in the GtkHeaderBar on non-Shell, perhaps with some convenience code in Gtk to centralize that logic: Shell /--\ - CSD; app window starts here | [*] [] App [=] [X] | - GtkHeaderBar with WM controls +--+ | hello| | world| \--/ other window manager /--\ | [v] App [_|#|X] | - WM decorations ---+--+--- - app window starts here | [*] [] [=] | - GtkHeaderBar without WM controls |--| | hello| | world| \--/ It seems unlikely that either Debian or upstream GNOME maintainers, who are presumably happy with GNOME, are going to lead an effort to make GNOME applications look less GNOME'y in non-GNOME environments; I'm certainly not going to. So, it is likely that someone who advocates this change will have to do the research, propose a solution/design that makes sense and is implementable, and implement it. We've already seen in this bug's discussion that attempts to patch in design changes via a GtkModule are not sufficiently robust to be a good solution. The fact that GNOME 3.14 adds the gtk-dialogs-use-header GSetting and the gtk_application_prefers_app_menu() function (and hence GtkDialog no longer uses CSD, and some apps' menu structures go back to being more traditional, under non-GNOME) indicates that there is upstream interest in this sort of thing. I don't think the Debian GNOME maintainers are going to be willing to be responsible for significant divergence from upstream Gtk, so, upstream first seems the most sensible approach. S -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hi, Today, gkt-3.14.1 afflicted Testing. I use just a few gtk3 apps under KDE (Meld, pavucontrol and Synaptic) and they have no CSD, not even in their dialogs. (They broke themes again though.) Please see the list of CSD apps (and a screenshot) at https://bugs.debian.org/744249#127 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Sat, 11 Oct 2014 12:01:38 +0400 Vlad Orlov mon...@inbox.ru wrote: Hi, Today, gkt-3.14.1 afflicted Testing. I use just a few gtk3 apps under KDE (Meld, pavucontrol and Synaptic) and they have no CSD, not even in their dialogs. (They broke themes again though.) Please see the list of CSD apps (and a screenshot) at https://bugs.debian.org/744249#127 Hi, I don't know about gthumb but gnome-calculator, devhelp, gedit and totem are Gnome apps. _IF_ Gnome devs want to make an isolated DE, it'll be logical not to use their apps outside Gnome. Here, the problem is GTK3 itself: GTK3 is NOT supposed to be a Gnome-specific toolkit. GTK-3.12 was starting to be so and all I say is that apparently GTK-3.14 isn't. So, please tell us if you know of any GTK3 app that has this problem and is not specific to Gnome. I can't give more examples because I have no reason to use more GTK3 apps. gthumb may be a case. We'll need more examples if we want to prove our point clearly. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Today, gkt-3.14.1 afflicted Testing. I use just a few gtk3 apps under KDE (Meld, pavucontrol and Synaptic) and they have no CSD, not even in their dialogs. (They broke themes again though.) So, perhaps, if you don't use Gnome apps CSD won't show up. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 2014-10-10 at 04:12 -0700, Tsu Jan wrote: Today, gkt-3.14.1 afflicted Testing. I use just a few gtk3 apps under KDE (Meld, pavucontrol and Synaptic) and they have no CSD, not even in their dialogs. (They broke themes again though.) So, perhaps, if you don't use Gnome apps CSD won't show up. Well first, I guess it's just a matter of time until the GNOME folks pressure (or convince) the upstreams of these projects to follow their madness. And second, if GNOME actually goes that way to consider itself a independent island, with it's apps no longer being able to be used correctly from outside,... than it should be thrown out altogether for this behaviour that is against the principles of FLOSS. It's basically as if they'd create their own isolated OS, something like Android, and people from inside can't cleanly use stuff from the outside and vice-versa. If they want this (and actually they seem to do) fine... but then they should be kicked out of any Linux distribution. Cheers, Chris. smime.p7s Description: S/MIME cryptographic signature
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 10 Oct 2014 17:29:08 +0200 Christoph Anton Mitterer cales...@scientia.net wrote: It's basically as if they'd create their own isolated OS, something like Android, and people from inside can't cleanly use stuff from the outside and vice-versa. If they want this (and actually they seem to do) fine... but then they should be kicked out of any Linux distribution. The direction they go in is doubtless what you described, at least since four years ago. I think Debian should change its default DE sooner or later. (Is it still Gnome?) -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 2014-10-10 at 19:38 +0330, Tsu Jan wrote: I think Debian should change its default DE sooner or later. (Is it still Gnome?) they changed it some months ago, but reverted now back to GNOME o.O Unfortunately the GNOME mafia ;) is strong here as well... kinda sad, since GNOME, in the meantime, stands for manything which is in the long term actually against the ideas of FLOSS... and especially since GNOME rather tries to replace the distros. smime.p7s Description: S/MIME cryptographic signature
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Am 10.10.2014 um 18:39 schrieb Christoph Anton Mitterer: On Fri, 2014-10-10 at 19:38 +0330, Tsu Jan wrote: I think Debian should change its default DE sooner or later. (Is it still Gnome?) they changed it some months ago, but reverted now back to GNOME o.O Unfortunately the GNOME mafia ;) is strong here as well... kinda sad, since GNOME, in the meantime, stands for manything which is in the long term actually against the ideas of FLOSS... and especially since GNOME rather tries to replace the distros. Christoph Anton, please see this as an advance warning. If you don't stop this behaviour of constantly attacking the GNOME upstream and Debian team and spouting random accusations sprinkled with imaginary conspiracy theories, I'm going to report this to the bts and list maintainers and ask for a ban, as this is clearly in violation of our CoC. I've CCed them here so they are aware of this issue. Michael -- Why is it that all of the instruments seeking intelligent life in the universe are pointed away from Earth? signature.asc Description: OpenPGP digital signature
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 10 Oct 2014 18:39:50 +0200 Christoph Anton Mitterer cales...@scientia.net wrote: they changed it some months ago, but reverted now back to GNOME o.O Oh, I didn't know that! Fortunately many Linux users know the meaning of quality. Gnome couldn't be forced on them by such maneuvers. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 2014-10-10 at 18:51 +0200, Michael Biebl wrote: please see this as an advance warning. Uhm... guess I see it more as trying to oppress freedom speech Michael, I do understand that you have a short fuse recently, since you're involved in so many packages that do get quite heavily attacked in discussions... sometimes justified, sometimes not... But if you now start threatening to silence people, just because they don't like you're (or other's) ideas than a quite concerning step has been reached. If you don't stop this behaviour of constantly attacking the GNOME upstream Well I guess if one breaks existing systems or usage scenarios, people complain about this but regardless one continues with that... it's no big surprise that the affected people get upset, is it? And I mean this bug isn't about bashing GNOME, people were using some GTK+ applications for years, and now they are pretty broken when used from outside of GNOME, and all others basically have to deal with this. All this isn't just random accusations as you claim here, just look at the mailing lists/bug trackers of KDE, mate, Cinnamon... they all have/had to deal with what GNOME usually unilaterally decides without taking any regard on others. I further don't think that the CoC forbids people to discuss political issues, so why do my comments about whether GNOME should be allowed to remain part of Debian [if the light of the above problems] should attack upstream or the Debian Maintainers. It's not more or less than any other difficult or controversial issues like the benefits/disadvantages of systemd (and note that I'm in favour of it), or whether we should have non-free, or how to deal with issues when e.g. Mozilla adds DRM to FF. Also you can't seriously claim I'd be the only one who is negatively affected by the recent developments of GNOME and who tries to deal with it (and you should perhaps note, that nobody here forced to get rid of CSDs, people just asked for a way to optionally don't use them - which is just the contrary behaviour of GNOME which forces it on all others). Also we've had many controversies about GNOME in the past, the tech-ctte ruling on NM, recently whether it should be the default DE or not, and so on. So as I've said, it's for sure not just me who has concerns. Anyway, long story short,... I didn't offend any of GNOME upstream personally, I just said I don't like the ways they go. Arguably, I used the term GNOME mafia, but put a smiley next to it, which should make clear to everyone that it's meant jokingly. I'd assume many people makes similar jokes, like in systemd it's not so uncommon that even advocates of it jokes about Lennart, even himself does as e.g. here (https://plus.google.com/+LennartPoetteringTheOneAndOnly/posts/VUzeRLf5g5m). and Debian team I can't remember of directly offending the Debian team. And even if, I guess it's a difference of offending someone, and just not agreeing with him. Anyway I see that at some point we two must have started off at a wrong foot,... I don't know why, maybe I said something wrong or you misinterpreted it,... may you just don't like the kind of issues I report (like all the issues I have with NM), nevertheless, even if you don't like to work on this issues (and of course you have no obligation), I'd guess that 99,9% of them are very real and it's therefore good to have them in the BTS. But I still can't see why you pick now exactly me trying to silence him. and spouting random accusations sprinkled with imaginary conspiracy theories Wich conspiracy theories? I thought it was well known that GNOME tries to be more self-contained, less taking regard on others (e.g. non-Linuxes, due to them not supporting systemd), there are the plans of GNOME OS, and so on. So nothing of this is just random theories o.O If the CoC actually forbids discussing about that, and how it (possibly negatively) affects Debian and or it's users... then the CoC might be a problem itself. And I seriously doubt that I'm the only one who has strong opinions and also phrases them as that - actually I think you're not much different, at least when looking back at the lengthy threads about the init system debate (even though I mostly agreed there with your points). I'm going to report this to the bts and list maintainers and ask for a ban, as this is clearly in violation of our CoC. I've CCed them here so they are aware of this issue. So actually it turns it's not just a warning as you've claimed before, just that you didn't formally ask them to ban me. I feel really sad that you seem to have a problem with me, especially since you (co-)maintain many packages which have influence on me (GNOME, NM) or which strongly interest me (systemd)... but OTOH I don't see how to change this,... apparently we simply have different philosophies in some fields. Nevertheless, it's still a bit strange that you pick and report me now out from a bug, where you even didn't contribute
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 10 Oct 2014 18:51:24 +0200 Michael Biebl bi...@debian.org wrote: ... If you don't stop this behaviour... I'm going to report this to the bts and list maintainers and ask for a ban... Your concern is understandable but the way you put it into words was rather like a threat. I beg both parties to calm down and focus on the practical side of the problem. This bug report says that GTK3 breaks usability. If there's a good patch to cure that, it could be applied. If not, something should be done about how Gnome affects people outside it. After all, Debian isn't equal to Gnome even if its default DE is Gnome. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
[ I haven't talked to Michael about this, but I thought the same a few days ago when I read another mail from Christoph... I decided to ignore it in case it was a one time thing, but clearly it isn't. ] On 10/10/14 19:59, Christoph Anton Mitterer wrote: I further don't think that the CoC forbids people to discuss political issues That doesn't mean you can throw random accusations on the BTS, stealing useful reports about real bugs. If you want to talk about other stuff, go do it elsewhere. I can't remember of directly offending the Debian team. Heh. Sure you have. Take for example what you wrote on https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=744249#122 Quoting: I really wonder what the GNOME guys smoked when they came to this (or which anti open source company paid them to break a usable desktop model). Your trolling is not welcome here. kthxbye. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11 Date: Tue, 07 Oct 2014 16:37:00 +0400
Follow-up on gtk3-nocsd hack: It turned out that leaving this hack enabled while Matti's patch is applied to GTK+ as well leads to a weird consequence: some Python apps crash on start with segfault. What's even more weird is that all these apps are using GTK+2, not 3. So be careful guys :)
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11 Date: Tue, 07 Oct 2014 16:37:00 +0400
On Wed, 2014-10-08 at 14:23 +0400, Vlad Orlov wrote: It turned out that leaving this hack enabled while Matti's patch is applied to GTK+ as well leads to a weird consequence: some Python apps crash on start with segfault. What's even more weird is that all these apps are using GTK+2, not 3. Hmm to be honest, I rather take the segfault (which constantly reminds me how broken GNOME and their developers are), which I btw: consider to be fault of GTK and not the ones trying to fix it, ... than using GTK/GNOME with the crappy CSDs, silently more and more accepting the slavery of their tablet desktop model ;-) smime.p7s Description: S/MIME cryptographic signature
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hi, I am somewhat at loss for how to proceed, unless Gtk+ devs themselves come up with a standard solution. I don't think they'll do so. They love their CSDs and apparently don't care much about other desktop environments besides Gnome Shell. We can expect some help only from Debian Gnome maintainers (though I don't know why no one of them replied yet). BTW, Arch Linux guys already made use of your patch [1] (they have an older version though). So far, there are no comments on missing application-specific controls that were located on the headerbars before. [1] https://aur.archlinux.org/packages/gtk3-noforcedcsd/
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hey. I really wonder what the GNOME guys smoked when they came to this (or which anti open source company paid them to break a usable desktop model). But thanks to CSD, I can e.g. no longer move such windows from one to another workspace,... moving or maximising the window often doesn't work or simply executes some action (like in epiphany, where basically everything is the address bar). Anyway,... has anyone thought about packaging https://github.com/PCMan/gtk3-nocsd ? It doesn't fully fix this anti-ergonomic and completely dysfunctional feature, but at least it's a start. Apart from that we probably we'll have to live with GNOME/GTK upstream breaking their systems/software more and more, adding more standards incompatible stuff and reducing functionality and usability down do zero. At least alternatives are coming up (and overtake in terms in functionality/usability)... mate, cinnamon, etc. Cheers, Chris. smime.p7s Description: S/MIME cryptographic signature
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 3 Oct 2014, Vlad Orlov wrote: Hi, Hmm .. interesting. Abiword, Transmission (GTK) and Gnumeric seemed to be working as expected, but as I installed gnome-calculator, it _did_ indeed use CSD. Are you sure that these three apps are actually using CSD? It doesn't look like CSD to me. I've run them with the unpatched GTK+ 3.14.1 and haven't seen any stuff like headerbars or other CSD things. They did with 3.12 (CSD, and some dialogs used headerbars), but not with 3.14.0. However, as I said, gnome-calculator does use CSD with unpatched 3.14.0. Not sure why you asked that, as I wasn't claiming that Abiword, Transmission or Gnumeric were using CSD with 3.14.0, just the opposite. Perhaps I wasn't clear enough about it. Those are the Gtk+3 apps that I normally use, and only after I installed gnome-calculator, I noticed that CSD was being used for that on unpatched 3.14.0 for some reason. Screenshot of gnome-calculator, Gtk+ 3.14.0 CSD disabled with my patch: http://tnsp.org/~ccr/gtk3/gnome-calc-with_csd_disable.png Plain Gtk+ 3.14.0 without patch: http://tnsp.org/~ccr/gtk3/gnome-calc-no_csd_disable.png -- ] ccr/TNSP ^ pWp :: ccr tnsp org :: http://tnsp.org/~ccr/ ] PGP key: 7BED 62DE 898D D1A4 FC4A F392 B705 E735 307B AAE3 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 3 Oct 2014, Vlad Orlov wrote: The only issue is that gnome-calculator is missing the menu to change the mode (basic/advanced/financial/programming) when CSD is off. As I understand it, gnome-calculator itself needs to be patched to fix that. Ubuntu already has unity_classic_menubar.patch that brings back the usual mode select menu. Unfortunately, this patch is for gnome-calculator 3.10.x and doesn't apply cleanly to 3.14.x. Ah, I failed to notice that .. indeed, that is unfortunate. The same issue is seen in gthumb, devhelp and totem. Basically, this patch kills the main window's headerbar which has all the application-specific controls (menu buttons, etc.), leaving the user without any way to change application preferences, open files, etc. I'm attaching the screenshots with these three apps with CSD on and off. The only control that's not killed is totem's main menu - it changes to some kind of fallback menu (same as in gnome-calculator). IIRC this fallback menu is GTK+ feature, though I'm not sure. I'm afraid that these apps need to be patched to provide the classic menu, just like it has been done for gnome-calculator in Ubuntu... Ideally, I'd like to find a way to make a smart patch for GTK+, the patch that will intercept the creation of the headerbar items (buttons) and create the classic menu and its items instead. Then there won't be a need to patch every single application. Agreed. But probably unlikely to happen, and the trend seems to be further Gnomeification of many Gtk+ apps .. I fear the day when Gimp goes Gtk+3. I understand that it might be very well impossible though. I concur on this, since headerbars basically allow any kind of widgets inside them (if I recall correctly), it would be difficult, possibly impossible to sanely convert them to menus or such. :/ I am somewhat at loss for how to proceed, unless Gtk+ devs themselves come up with a standard solution. -- ] ccr/TNSP ^ pWp :: ccr tnsp org :: http://tnsp.org/~ccr/ ] PGP key: 7BED 62DE 898D D1A4 FC4A F392 B705 E735 307B AAE3 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Fri, 3 Oct 2014 15:18:26 +0300 (EEST) Matti Hamalainen c...@tnsp.org wrote: I am somewhat at loss for how to proceed, unless Gtk+ devs themselves come up with a standard solution. They don't see any problem to find a solution for. What we've tagged as an important bug here, is probably a feature to them. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Wed, 1 Oct 2014 17:43:53 +0300 (EEST) Matti Hamalainen c...@tnsp.org wrote: With that patch, even gnome-calculator submits to not using CSD. The patch may have some redundant sections, but it's difficult to know what is necessary and what is not without deeper understanding of the CSD/headerbar logic (which I have no time nor patience for, sorry.) I think returning FALSE from gtk_window_supports_csd() in gtkwindow.c is enough, although I haven't tested GTK-3.14 yet. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Unfortunately not. Just returning FALSE in gtk_window_supports_csd() still leaves some programs CSD'd on 3.14.0, like gnome-calculator. I've no idea why, but 3.12 had a similar problem -- the first published patches were essentially just returning FALSE there, but that didn't work for dialogs etc. -- ] ccr/TNSP ^ pWp :: ccr tnsp org :: http://tnsp.org/~ccr/ ] PGP key: 7BED 62DE 898D D1A4 FC4A F392 B705 E735 307B AAE3 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hi, It seems that 3.14.0 packages from unstable work without CSD or headerbars at least on my WindowMaker setup, so I suppose this issue _might_ now be fixed for me. Wait, are all the windows without CSD, or only dialogs/sub-windows? Can you post a few screenshots - from gthumb/devhelp/totem/gnome-calculator/...?
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Wed, 1 Oct 2014, Vlad Orlov wrote: Hi, It seems that 3.14.0 packages from unstable work without CSD or headerbars at least on my WindowMaker setup, so I suppose this issue _might_ now be fixed for me. Wait, are all the windows without CSD, or only dialogs/sub-windows? Can you post a few screenshots - from gthumb/devhelp/totem/gnome-calculator/...? Hmm .. interesting. Abiword, Transmission (GTK) and Gnumeric seemed to be working as expected, but as I installed gnome-calculator, it _did_ indeed use CSD. After some twiddling I came up with a new version of my CSD disabling patch, now for 3.14, available from: http://tnsp.org/~ccr/gtk3/ With that patch, even gnome-calculator submits to not using CSD. The patch may have some redundant sections, but it's difficult to know what is necessary and what is not without deeper understanding of the CSD/headerbar logic (which I have no time nor patience for, sorry.) I did not test any other programs you mentioned, though. Feel free to test and report results with the patch applied, if you have time. -- ] ccr/TNSP ^ pWp :: ccr tnsp org :: http://tnsp.org/~ccr/ ] PGP key: 7BED 62DE 898D D1A4 FC4A F392 B705 E735 307B AAE3 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hi, It seems that 3.14.0 packages from unstable work without CSD or headerbars at least on my WindowMaker setup, so I suppose this issue _might_ now be fixed for me. Wait, are all the windows without CSD, or only dialogs/sub-windows? Can you post a few screenshots - from gthumb/devhelp/totem/gnome-calculator/...?
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
It seems that 3.14.0 packages from unstable work without CSD or headerbars at least on my WindowMaker setup, so I suppose this issue _might_ now be fixed for me. -- ] ccr/TNSP ^ pWp :: ccr tnsp org :: http://tnsp.org/~ccr/ ] PGP key: 7BED 62DE 898D D1A4 FC4A F392 B705 E735 307B AAE3 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Hi all, I've installed GTK+ 3.14 from Sid in my Debian Testing VM. Guess what. Those weird headers in sub-windows are gone. Now these windows can be resized almost normally (almost - because it sometimes works only on the 2nd try, but maybe it's just my theme which hasn't been updated since GTK+ 3.10). I found out that Gnome guys might have really fixed it, like they've promised [1]. I've tested this in nm-connection-editor and Synaptic's package properties window. I'm using MATE. Please check this in your DEs/WMs as well and see whether this bug can be considered fixed. [1] http://blogs.gnome.org/mclasen/2014/07/28/a-talk-in-9-images/
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Quick follow-up: Well, sub-windows might have been fixed, but the apps that use CSD in their main window (gthumb, devhelp) are not. They still use these weird headers and can't be resized properly (at least in my MATE). I'm aware that this bug report is about sub-windows, but that behavior sucks anyway...
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
On Wed, 24 Sep 2014, Vlad Orlov wrote: Quick follow-up: Well, sub-windows might have been fixed, but the apps that use CSD in their main window (gthumb, devhelp) are not. They still use these weird headers and can't be resized properly (at least in my MATE). I'm aware that this bug report is about sub-windows, but that behavior sucks anyway... Well, _this_ report (my original) is about CSD in general, both main and subwindows .. and yes, the behaviour sucks. :( I'm still using my own patched version of 3.12.2, but probably will look into 3.14.x later and patch that too, if necessary :| Matti -- ] ccr/TNSP ^ pWp :: ccr tnsp org :: http://tnsp.org/~ccr/ ] PGP key: 7BED 62DE 898D D1A4 FC4A F392 B705 E735 307B AAE3 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
I guess I've seen the same bug in Synaptic's package properties window in the current Debian Testing. It's impossible to resize that window by holding the left mouse button and moving the mouse. I always end up with the window properties menu (which is usually invoked by right-clicking on the window title) showing up.
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
The above mentioned patch did not do it for me, sub-windows/dialogs were still CSD'd on WindowMaker at least. However, after some work, I came up with the attached patch. It's not very clean, but provides an environment variable-togglable setting to disable CSD and headerbars. There are also some things missed by it at the moment, some dialogs may still get a CSD close button. It's also possible that this patch breaks something, due to my very limited testing (I basically only use Transmission-GTK, Gnumeric and Abiword with Gtk+3) ... To enable, set environment variable GTK_DISABLE_CSD=1 I'll probably continue work on the remaining inconsistencies at some point, but maybe this patch will help some other people in the meanwhile. -- ] ccr/TNSP ^ pWp :: ccr tnsp org :: http://tnsp.org/~ccr/ ] PGP key: 7BED 62DE 898D D1A4 FC4A F392 B705 E735 307B AAE3diff -r 8f959a652e16 gtk/gtkdialog.c --- a/gtk/gtkdialog.c Tue May 27 08:15:40 2014 +0300 +++ b/gtk/gtkdialog.c Tue May 27 09:40:36 2014 +0300 @@ -288,10 +288,11 @@ apply_use_header_bar (GtkDialog *dialog) { GtkDialogPrivate *priv = dialog-priv; + gboolean disable_csd = g_strcmp0 (g_getenv (GTK_DISABLE_CSD), 1) == 0; gtk_widget_set_visible (priv-action_area, !priv-use_header_bar); gtk_widget_set_visible (priv-headerbar, priv-use_header_bar); - if (!priv-use_header_bar) + if (!priv-use_header_bar !disable_csd) { GtkWidget *box = NULL; @@ -312,6 +313,7 @@ gtk_window_set_titlebar (GTK_WINDOW (dialog), box); } + if (priv-use_header_bar) g_signal_connect (priv-action_area, add, G_CALLBACK (add_cb), dialog); } diff -r 8f959a652e16 gtk/gtkwindow.c --- a/gtk/gtkwindow.c Tue May 27 08:15:40 2014 +0300 +++ b/gtk/gtkwindow.c Tue May 27 09:40:36 2014 +0300 @@ -3607,9 +3607,13 @@ #ifdef GDK_WINDOWING_X11 if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))) { + gboolean disable_csd = g_strcmp0 (g_getenv (GTK_DISABLE_CSD), 1) == 0; GdkScreen *screen; GdkVisual *visual; + if (disable_csd) +return FALSE; + screen = gtk_widget_get_screen (widget); if (!gdk_screen_is_composited (screen)) @@ -3788,11 +3792,12 @@ gdk_window = gtk_widget_get_window (GTK_WIDGET (window)); if (gdk_window) { + gboolean disable_csd = g_strcmp0 (g_getenv (GTK_DISABLE_CSD), 1) == 0; if (priv-decorated) { - if (priv-client_decorated) + if (priv-client_decorated !disable_csd) gdk_window_set_decorations (gdk_window, 0); - else if (priv-custom_title) + else if (priv-custom_title !disable_csd) gdk_window_set_decorations (gdk_window, GDK_DECOR_BORDER); else gdk_window_set_decorations (gdk_window, GDK_DECOR_ALL); @@ -5379,6 +5384,10 @@ { GtkWindowPrivate *priv = window-priv; const gchar *csd_env; + gboolean disable_csd = g_strcmp0 (g_getenv (GTK_DISABLE_CSD), 1) == 0; + + if (disable_csd) +return FALSE; if (!priv-decorated) return FALSE; @@ -6008,6 +6017,7 @@ gint i; int old_scale; GList *link; + gboolean disable_csd = g_strcmp0 (g_getenv (GTK_DISABLE_CSD), 1) == 0; window = GTK_WINDOW (widget); priv = window-priv; @@ -6186,10 +6196,13 @@ if (priv-wm_role) gdk_window_set_role (gdk_window, priv-wm_role); - if (!priv-decorated || priv-client_decorated) -gdk_window_set_decorations (gdk_window, 0); - else if (priv-custom_title) -gdk_window_set_decorations (gdk_window, GDK_DECOR_BORDER); + if (!disable_csd) +{ + if (!priv-decorated || priv-client_decorated) +gdk_window_set_decorations (gdk_window, 0); + else if (priv-custom_title) +gdk_window_set_decorations (gdk_window, GDK_DECOR_BORDER); +} if (!priv-deletable) gdk_window_set_functions (gdk_window, GDK_FUNC_ALL | GDK_FUNC_CLOSE);
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
For now, I use the attached patch in addition to the one at http://redmine.audacious-media-player.org/boards/1/topics/1135 to get rid of CSD completely. I don't have Gnome and don't know if they could make any trouble under Gnome-Shell. diff -ruNp gtk+-3.12.1-orig/gtk/gtkwindow.c gtk+-3.12.1/gtk/gtkwindow.c --- gtk+-3.12.1-orig/gtk/gtkwindow.c 2014-04-12 09:34:53.0 +0430 +++ gtk+-3.12.1/gtk/gtkwindow.c 2014-05-04 13:37:07.248913645 +0430 @@ -3607,18 +3607,7 @@ gdk_window_supports_csd (GtkWindow *wind #ifdef GDK_WINDOWING_X11 if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (widget))) { - GdkScreen *screen; - GdkVisual *visual; - - screen = gtk_widget_get_screen (widget); - - if (!gdk_screen_is_composited (screen)) -return FALSE; - - /* We need a visual with alpha */ - visual = gdk_screen_get_rgba_visual (screen); - if (!visual) -return FALSE; + return FALSE; } #endif
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
found 744249 libgtk-3-0/3.12.1-1 severity 744249 serious -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Package: libgtk-3-0 Version: 3.12.0-4 Followup-For: Bug #744249 There is a possible patch for GTK available from an Audacious developer: http://redmine.audacious-media-player.org/boards/1/topics/1135 And here are a few related upstream bug reports: https://bugzilla.gnome.org/show_bug.cgi?id=727693 https://bugzilla.gnome.org/show_bug.cgi?id=727414 and even on KDE: https://bugs.kde.org/show_bug.cgi?id=333554 Of course, GNOME devs seem to be deflecting the blame elsewhere. There seems to be a partial workaround on 3.12.1. -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (990, 'testing'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.13-1-amd64 (SMP w/4 CPU cores) Locale: LANG=es_VE.UTF-8, LC_CTYPE=es_VE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages libgtk-3-0 depends on: ii libatk-bridge2.0-0 2.10.2-2 ii libatk1.0-0 2.12.0-1 ii libc62.18-4 ii libcairo-gobject21.12.16-2 ii libcairo21.12.16-2 ii libcolord1 1.0.6-1 ii libcups2 1.7.2-1 ii libfontconfig1 2.11.0-2 ii libfreetype6 2.5.2-1 ii libgdk-pixbuf2.0-0 2.30.6-1 ii libglib2.0-0 2.40.0-2 ii libgtk-3-common 3.12.0-4 ii libjson-glib-1.0-0 1.0.0-1 ii libpango-1.0-0 1.36.3-1 ii libpangocairo-1.0-0 1.36.3-1 ii libpangoft2-1.0-01.36.3-1 ii librest-0.7-00.7.12-3 ii libsoup2.4-1 2.46.0-2 ii libwayland-client0 1.4.0-1 ii libwayland-cursor0 1.4.0-1 ii libx11-6 2:1.6.2-1 ii libxcomposite1 1:0.4.4-1 ii libxcursor1 1:1.1.14-1 ii libxdamage1 1:1.1.4-1 ii libxext6 2:1.3.2-1 ii libxfixes3 1:5.0.1-1 ii libxi6 2:1.7.2-1 ii libxinerama1 2:1.1.3-1 ii libxkbcommon00.4.0-1 ii libxml2 2.9.1+dfsg1-3 ii libxrandr2 2:1.4.2-1 ii multiarch-support2.18-4 ii shared-mime-info 1.2-1 Versions of packages libgtk-3-0 recommends: ii hicolor-icon-theme 0.13-1 ii libgtk-3-bin3.12.0-4 Versions of packages libgtk-3-0 suggests: ii gvfs 1.20.0-1+b1 ii librsvg2-common 2.40.2-1 -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#744249: libgtk-3-0: gtk 3.12 breaks usability by forcing client side decorations on X11
Package: libgtk-3-0 Version: 3.12.0-4 Severity: important Tags: upstream Upgrade to libgtk 3.12.x breaks usability of many, if not all, gtk3-based software on X11, where it enforces (probably due to recent addition of Wayland support stuff) client-side window decorations. This makes it impossible to sanely resize and manipulate sub-windows (main windows seem to be using normal server-side X WM decorations), because the functionality is not provided by gtk3 client-side decrorations. This issue occurs at least with WindowMaker 0.95.5. Yes, I am aware that there is a pop-up menu accessible through the header bar of gtk3 CSD, with options for resizing etc, but those do not work either. And the usability of those is, at the very least, very questionable. It is possible, in WindowMaker, to temporarily add back WM decorations, but those do not seem to stick and disappear every time the window(s) are closed and reopened, despite attempting to save the settings. For now, I seem to have no other option than to downgrade back to gtk 3.10. -- System Information: Debian Release: jessie/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Kernel: Linux 3.13.9-grsec-dc (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/bash Versions of packages libgtk-3-0 depends on: ii libatk-bridge2.0-0 2.10.2-2 ii libatk1.0-0 2.12.0-1 ii libc62.18-4 ii libcairo-gobject21.12.16-2 ii libcairo21.12.16-2 ii libcolord1 1.0.6-1 ii libcups2 1.7.1-12 ii libfontconfig1 2.11.0-2 ii libfreetype6 2.5.2-1 ii libgdk-pixbuf2.0-0 2.30.6-1 ii libglib2.0-0 2.40.0-2 ii libgtk-3-common 3.12.0-4 ii libjson-glib-1.0-0 1.0.0-1 ii libpango-1.0-0 1.36.3-1 ii libpangocairo-1.0-0 1.36.3-1 ii libpangoft2-1.0-01.36.3-1 ii librest-0.7-00.7.12-3 ii libsoup2.4-1 2.46.0-2 ii libwayland-client0 1.4.0-1 ii libwayland-cursor0 1.4.0-1 ii libx11-6 2:1.6.2-1 ii libxcomposite1 1:0.4.4-1 ii libxcursor1 1:1.1.14-1 ii libxdamage1 1:1.1.4-1 ii libxext6 2:1.3.2-1 ii libxfixes3 1:5.0.1-1 ii libxi6 2:1.7.2-1 ii libxinerama1 2:1.1.3-1 ii libxkbcommon00.4.0-1 ii libxml2 2.9.1+dfsg1-3 ii libxrandr2 2:1.4.2-1 ii multiarch-support2.18-4 ii shared-mime-info 1.2-1 Versions of packages libgtk-3-0 recommends: ii hicolor-icon-theme 0.13-1 ii libgtk-3-bin3.12.0-4 Versions of packages libgtk-3-0 suggests: pn gvfs none ii librsvg2-common 2.40.2-1 -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org