Hi,

On 05/27/2016 03:17 AM, Christoph Anton Mitterer wrote:
> Sorry for the delay :-/

No worries.

>>  - #824614 (not universal for all windows)
> forgot to check that one, but if it works for you, I'd simply assume
> it's fine and the window decorations are there ;-)

Well, at least for the cases where you mentioned it it works. I did
another grep through the Gtk+ source code just now though and found
two other corner cases that aren't covered:

 - I wonder wether I should force gtk-dialogs-use-header = FALSE
   in gtk3-nocsd; that causes a header bar to be added to message
   boxes if true (and because of the way shared libraries work,
   the CSD-disabling code will not work without overriding that
   setting). OTOH, according to docs it defaults to FALSE on non
   GNOME desktops (GNOME actually overrides it via dconf when
   running), that's why I've never seen any problems related to
   that.

 - I just noticed that the 'keyboard shortcuts' windows aren't
   covered (e.g. gedit -> right menu button -> Keyboard Shortcuts)

Will fix the second one before the next upload, the first one I'll
think about a bit more.

>>  - #824616 (tool tips / drop down borders)
> seems to work both, i.e. tool tip texts are okay, drop down borders are
> no longer thicker.

:-)

>>  - #824758 (this bug)
> The Application menu is gone, the window decoration left-hand-side icon
> with the folder logo gives now the standard menu common to all windows,
> the "CSD bar" below the window decorations has now another left hand
> side icon, with the program logo, that gives the proper menu as with
> CSDs.

So I would consider that fixed. :-)

> Further, in gedit, the "top line" goes now to both sides.
> 
> 
> BUT,.. as shown in my newly attached screenshots:
> - in gedit, with CSDs, that top line still locks thinner than with
>   gtk3-nocsd (even though the line goes to both ends of the window now)

Ok, for that, could you please replace the CSS in gtk3-nocsd with the
following CSS?

    static const char *custom_css =
      "window > .titlebar:not(headerbar) {\n"
      "  padding: 0;\n"
      "  border-style: none;\n"
      "  border-color: transparent;\n"
      "}\n"
      ".background:not(.tiled):not(.maximized) .titlebar:backdrop,\n"
      ".background:not(.tiled):not(.maximized) .titlebar {\n"
      "  border-top-left-radius: 0;\n"
      "  border-top-right-radius: 0;\n"
      "}\n"
      "";

(The border-style and border-color in the first declaration are new,
the rest is the same.)

This should fix it, it would be great if you could verify that.

> - there is still that thing I've described, that the maximised window
>   seems to overlay the bottom bar from Cinnamon with CSDs, which it
>   doesn't with gtk3-nocsd,... but as I've said before,.. it looks
>   better with what gtk3-nocsd gives,... so perhaps this is rather a
>   gtk3 error?

Neither, it's by design. With CSDs, when a window is maximized, Gtk3
by design disables all window borders, so while the window doesn't
actually overlap anything from Cinnamon, as the colors are similar
in the place where you circled in the screenshot, it kind of looks
like there is some overlap. In reality you just have a borderless
maximized window.

Cinnamon, on the other hand (like other WMs/DEs), does show the lower
and upper window borders when a window is maximized (just not the
left and right ones), so you get an additional (small) window border
when CSDs are disabled on Cinnamon.

So this is not a bug (in either gtk3 or gtk3-nocsd), but just a
difference that occurs because of varying design decisions.

Regards,
Christian

Reply via email to