> On July 1, 2014, 6:04 p.m., Hugo Pereira Da Costa wrote: > > @Martin > > yes we can (tm). But then I'll get complains (got some already in the past) > > from people using oxygen-gtk on gnome (or other DEs). > > so there needs to be a way to communicate. (or as thomas suggested, some > > systemwide gtk.css, hopping that it would override the widget's style, > > which in turn would have the advantage to work with any gtk style). > > > > On a similar topic, the same problem happened with latest (gtk3- 3.13.3), > > which also force shadows on menus. > > This in KDE result in double shadows (ugly): the one passed to kwin from > > oxygen-gtk (via KDE_NET_WM_SHADOW) and the one from gtk. > > This is now fixed in oxygen-gtk (next release) by checking the > > NET_SUPPORTED atom on rootWindow and install either the GTK shadow or the > > kwin shadow, depending on whether the above atom is found in the supported > > list or not) > > Maybe we could do the same (e.g. KDE_NET_WM_SUPPORTS_CSD) for the CSD > > shadows. > > Thomas Lübking wrote: > meh. > > "export GTK_THEME=kde" makes gtk3 interpret global kde/settings.ini and > global & local kde/gtk.css > > a) that doesn't help us, since we'd need to invoke a local > kde/settings.ini > b) placing eg. "gtk-theme-name = Awaita" into (global) kde/settings.ini > traps gtk in infinite recursion on starting any application > > W/o cooperation from gtk+, we'd have to manipulate > ~/.config/gtk-3.0/gtk.css on login and logout - risking to leave it "broken" > for GNOME logins (if KDE/X11 crashes and the user logs into GNOME next) > > Ideal solution could be: GTK_SESSION_CSS=kde -> ~/.config/gtk-3.0/kde.css > > Martin Gräßlin wrote: > > But then I'll get complains (got some already in the past) from people > using oxygen-gtk on gnome > > I think we can ignore that. GNOME/GTK only cares about how it looks on > GNOME, so we can do the same. If users complain point them to the bug report > that shadows are included in the window frame and that this has only been > done to workaround this bug with KWin. If they want the problem fixed, they > should complain to GTK devs.
> GNOME/GTK only cares about how it looks on GNOME, so we can do the same humbly disagree, if can be avoided. At worst I can make the disabling of the shadows depend on the root window support for KDE_NET_WM_SHADOW (can be done right now, and is easy) Ultimately, if NET_WM folks agree on a "NET_WM_SUPPORTS_CSD" that gnome would set and not kde, I would use this of course (and ideally, gtk would do the shadow disabling by itself, in which case I'd simply remove the code) - Hugo ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/119062/#review61412 ----------------------------------------------------------- On July 1, 2014, 2:53 p.m., Martin Gräßlin wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/119062/ > ----------------------------------------------------------- > > (Updated July 1, 2014, 2:53 p.m.) > > > Review request for kwin, Plasma and Hugo Pereira Da Costa. > > > Repository: kwin > > > Description > ------- > > 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. > > [1] https://mail.gnome.org/archives/wm-spec-list/2014-June/msg00002.html > [2] https://bugzilla.gnome.org/show_bug.cgi?id=729721 > > > Diffs > ----- > > atoms.h d52223504a78909efa7c18d7e96feebec8f3cb21 > atoms.cpp 576e85f0c0e865721a1b513af9d1ad1bfdb580ea > client.h 8e41e203d01b41fdd918c35fb3dc9353d7e41774 > client.cpp 608e6a8435ad9bc7d86ff813038023648e6b7b1e > events.cpp 514eecc69d81136d8975155e0fbb3fef39d3a346 > manage.cpp fbdf19570418e412cdadb54f36cf94e5da24db4f > scripts/CMakeLists.txt feeb288250407f5f2bd4b3ea878f21640ebb7d20 > scripts/enforcedeco/contents/code/main.js PRE-CREATION > scripts/enforcedeco/metadata.desktop PRE-CREATION > > Diff: https://git.reviewboard.kde.org/r/119062/diff/ > > > Testing > ------- > > > Thanks, > > Martin Gräßlin > >
_______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel