GNOME Bugzilla – Bug 752794
Two (grid) windows next to each other are missing borders
Last modified: 2016-06-21 23:50:08 UTC
Created attachment 308022 [details] grid See attachment. Is there any fix? :) It look really bad when two windows are next to each other. Thanks!
The screenshot does not really tell the story here. Are these tiled windows ? gnome-shell or some other compositor ? Which theme ? Which gtk version ? Fwiw, tiled windows get a shadow here, so you can clearly see their boundary, with GTK+ 3.16/17 and the Adwaita theme.
I get borderless tiled windows with Firefox (when FF is focused).
@Matthias Clasen Yes, with gnome-shell, Adwaita and/or Arc, 3.16.2. Their is no shadow, see this screenshot: https://drive.google.com/file/d/0BzfSuVpNNRzqb1pvd3NJWExNQ0E/view?usp=sharing @Jakub Steiner: I would like to have a window border, because it sometimes difficult to keep the windows apart. :)
I've lost the window border on tiled gnome-terminal windows since 3.16 as well, and I can confirm with Firefox as well. It seems all server-side decorated windows lose the border once tiled, whereas client-side decorated windows (like Nautilus) keep the shadow overlaid on top of the other tiled window — e.g.: http://imgur.com/mvVgYj9
I was referring to client-side shadows in comment 1. You are right, server-side decorations seem to loose their shadow when tiled.
Hmm, seems FireFox and the Terminal suffering from this issue. In Nautilus it looks OK. It seems to differ per app.
Moving this to mutter, where server-side decorations get their shadow
(In reply to Matthias Clasen from comment #5) > You are right, server-side decorations seem to loose their shadow when tiled. All tiled windows, or only when two windows are tiled side by side? In the latter case that behavior is intentional, see bug 643075 (and in particular https://bugzilla.gnome.org/show_bug.cgi?id=643075#c9).
(In reply to Florian Müllner from comment #8) > (In reply to Matthias Clasen from comment #5) > > You are right, server-side decorations seem to loose their shadow when tiled. > > All tiled windows, or only when two windows are tiled side by side? When two windows are tiled side by side. > In the > latter case that behavior is intentional, see bug 643075 (and in particular > https://bugzilla.gnome.org/show_bug.cgi?id=643075#c9). It looks even worse than having two borders. What I think Cosimo meant was that only one border should be visible. Right now, you cannot in any way tell where one window ends and when another begins. We should avoid the full shadow, but we should have a 1px border.
Indeed, there used to be a 1px border[0]. If this is still what we want, we should re-assign to GTK+, which provides the theme nowadays. It wouldn't help with the different shadow handling of SSD and CSD windows though ... [0] https://git.gnome.org/browse/gnome-themes-standard/tree/themes/Adwaita/metacity-1/metacity-theme-3.xml?h=gnome-3-14#n67
*** Bug 751952 has been marked as a duplicate of this bug. ***
(In reply to Florian Müllner from comment #10) > Indeed, there used to be a 1px border[0]. If this is still what we want, we > should re-assign to GTK+, which provides the theme nowadays. It wouldn't > help with the different shadow handling of SSD and CSD windows though ... > > [0] > https://git.gnome.org/browse/gnome-themes-standard/tree/themes/Adwaita/ > metacity-1/metacity-theme-3.xml?h=gnome-3-14#n67 Any update on this? :) Is there a method to test this behaviour (without downgrading packages)?
Florian, if the border (which is a shadow still) alone is problematic, the full shadow (which are 2 shadows actually) is totally better then the current, well, nothing.
Created attachment 319530 [details] [review] theme: Take invisible borders required by the theme into account GTK+ paints some elements like box shadows (which Adwaita likes to (ab)use for borders) outside the rectangle passed to gtk_render_*. This is not an issue if our own invisible frame border is big enough, but in case of non-resizable windows we end up clipping away part of the decoration. Use the newly added gtk_render_background_get_clip() to make sure we always use a mask that is large enough to contain all decorations.
*** Bug 756786 has been marked as a duplicate of this bug. ***
Attachment 319530 [details] pushed as f9db65f - theme: Take invisible borders required by the theme into account
*** Bug 745060 has been marked as a duplicate of this bug. ***