Commit graph

21 commits

Author SHA1 Message Date
l10n daemon script
a010bbc6a7 SVN_SILENT made messages (.desktop file) 2014-11-02 21:49:41 +00:00
l10n daemon script
7d9831d8b4 SVN_SILENT made messages (.desktop file) 2014-10-23 08:55:48 +00:00
l10n daemon script
87878572de SVN_SILENT made messages (.desktop file) 2014-10-21 11:18:35 +00:00
l10n daemon script
1f2bb4232b SVN_SILENT made messages (.desktop file) 2014-09-30 10:55:14 +00:00
l10n daemon script
857610668e SVN_SILENT made messages (.desktop file) 2014-09-27 08:47:58 +00:00
l10n daemon script
08540b45eb SVN_SILENT made messages (.desktop file) 2014-09-21 08:48:08 +00:00
l10n daemon script
8a620e7259 SVN_SILENT made messages (.desktop file) 2014-09-11 08:46:22 +00:00
l10n daemon script
1205c9c170 SVN_SILENT made messages (.desktop file) 2014-09-07 08:46:08 +00:00
l10n daemon script
493e9b3238 SVN_SILENT made messages (.desktop file) 2014-09-02 10:43:26 +00:00
l10n daemon script
5114d9b5da SVN_SILENT made messages (.desktop file) 2014-08-31 08:41:36 +00:00
l10n daemon script
f2fc577770 SVN_SILENT made messages (.desktop file) 2014-08-24 08:45:33 +00:00
l10n daemon script
1478a08c31 SVN_SILENT made messages (.desktop file) 2014-08-14 08:44:45 +00:00
l10n daemon script
2c78ff8bfd SVN_SILENT made messages (.desktop file) 2014-07-25 10:15:29 +00:00
l10n daemon script
5179d4d3c9 SVN_SILENT made messages (.desktop file) 2014-07-16 09:40:44 +00:00
l10n daemon script
ae9689a105 SVN_SILENT made messages (.desktop file) 2014-07-14 03:49:40 +00:00
l10n daemon script
bd098e9080 SVN_SILENT made messages (.desktop file) 2014-07-13 03:59:17 +00:00
l10n daemon script
e231be7c7c SVN_SILENT made messages (.desktop file) 2014-07-10 04:23:36 +00:00
l10n daemon script
69ae6a6d22 SVN_SILENT made messages (.desktop file) 2014-07-07 08:36:00 +00:00
l10n daemon script
e8e650b9f2 SVN_SILENT made messages (.desktop file) 2014-07-06 08:35:53 +00:00
l10n daemon script
eb6013655d SVN_SILENT made messages (.desktop file) 2014-07-05 08:34:14 +00:00
Martin Gräßlin
f0e1e3187e Add a script to enforce window decorations for GTK windows
This is going to be a controversal change. It enforces KWin decorations
on all client side decorated windows from GTK+. Unfortunately we are
caught between a rock and a hard place. Keeping the status quo means
having broken windows and a more or less broken window manager due to
GTK+ including the shadow in the windows. This is no solution.
Enforcing server side decorations visually breaks the windows. This is
also no solution. So why do it?

It's our task to provide the best possible user experience and KWin is
a window manager which has always done great efforts to fix misbehaving
windows. One can think of the focus stealing prevention, the window rules
and lately the scripts. The best possible window management experience is
our aim. This means we cannot leave the users with the broken windows
from GTK.

The issues we noticed were reported to GTK+ about 2 months ago and we are
working on improving the situation. Unfortunately several issues are not
yet addressed and others will only be addressed in the next GTK+ release.
We are working on improving the NETWM spec (see [1]) to ensure that the
client side decorated windows are not in a broken state. This means the
enforcment is a temporary solution and will be re-evaluated with the next
GTK release. I would prefer to not have to do such a change, if some of
the bugs were fixed or GTK+ would not use client-side-decos on wms not
yet supporting those all of this would be a no issue.

For a complete list of the problems caused by GTK's decos see bug [2] and
the linked bug reports from there.

The change is done in a least inversive way in KWin. We just check for
the property _GTK_FRAME_EXTENTS and create a Q_PROPERTY in Client for it.
If we add support for the frame extents in future we would also need
this. So it's not a change just for enforcing the decoration.

The actual enforcing is done through a KWin script so users can still
disable it.

REVIEW: 119062

[1] https://mail.gnome.org/archives/wm-spec-list/2014-June/msg00002.html
[2] https://bugzilla.gnome.org/show_bug.cgi?id=729721
2014-07-03 16:03:22 +02:00