Review Request 118928: Add support for showing window menu in NETRootInfo

Thomas Lübking thomas.luebking at gmail.com
Wed Jun 25 07:37:05 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/118928/#review60929
-----------------------------------------------------------


Do we really need this in NETRootInfo?

- it's (yet) a nonstandard item which went through no review, so the final protocol (if any ever) may differ from our API
- (from what i read from eg. xfce and awesom, lxde switches to Qt and whatnot): it will likely remain a gtk+gnome only thing anyway
- gtk "is holding it wrongly" (ie. CSD should seek for CSD support announcement from the WM)
- apparently the WM does not announce support for this (and that's probably neither intended, since it would become equal to announcing support for CSD ...)

-> we could mangle support for some gtk proprietary properties (shadow padding...) and this message into kwin (with a grumpy comment >-), and record every "bug" report  reg. gtk+ CSD support as "whishlist" for kwin as well

I do not want KDE users to suffer from this ... situation, but i do really not see a reason to dump this (and esp. not in its current state) into public NETRootInfo API.

Gtk+ CSD has the shape of a client side hack and imo it therefore should also be treated as one.
Sorry.


src/netwm.h
<https://git.reviewboard.kde.org/r/118928/#comment42431>

    for ABI, i'd add an unused QPoint here
    a) because of your comment, i just found
    b) because i assume with MPX or touch support (gesture -> menu attached to some indicator in the CSD, maybe also "Alt+F3" triggered from within the client) this will become a requirement to show the menu at the correct position.



src/netwm.cpp
<https://git.reviewboard.kde.org/r/118928/#comment42430>

    likely the input device to determine the pointer position.
    from their patch: the gobject "device-id" (so i assume we're supposed to link gdk, yes?)


- Thomas Lübking


On June 25, 2014, 6:17 a.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/118928/
> -----------------------------------------------------------
> 
> (Updated June 25, 2014, 6:17 a.m.)
> 
> 
> Review request for KDE Frameworks, kwin and David Edmundson.
> 
> 
> Repository: kwindowsystem
> 
> 
> Description
> -------
> 
> Add support for showing window menu in NETRootInfo
> 
> This implements the non-standard _GTK_SHOW_WINDOW_MENU which will be
> used by GTK's client-side-decoration (CSD) to show the window menu. I'm
> neither happy with implementing a GTK specific hint nor am I happy
> with adding any support for the completely broken GTK CSD [1] in our
> source base. Outside GNOME Shell GTK should not use their CSD or at
> least check whether the window manager supports CSD. Unfortunately
> GTK is not doing that and leaves the windows in a rather broken state
> on our side. For example the shadows are part of the windows breaking
> any window snapping, moving and window activation. By implementing this
> extension to show the window menu we can make the life for our users
> a little bit better. It allows to show our KWin user actions menu
> instead a broken GTK menu [2]. Especially it allows our users to add
> sane window decorations back to the window.
> 
> Adding support for a GTK specific hint is a one time exception. We
> need to add it now otherwise we cannot add the required virtual method
> to NETRootInfo. I do hope that GTK tries to bring this to NETWM before
> we release 5.0. Even after 5.0 I'm going to replace it by the NETWM
> hint as soon as it gets standardized and thus breaking support for the
> GTK hint.
> 
> [1] https://bugzilla.gnome.org/show_bug.cgi?id=729721
> [2] https://bugzilla.gnome.org/show_bug.cgi?id=729788
> 
> 
> Diffs
> -----
> 
>   autotests/netrootinfotestwm.cpp f8c28be51e5a5b19d436c54eede0e8659a65c84e 
>   src/netwm.h 2d812a755565a09b2850958a014060a864a652a0 
>   src/netwm.cpp 1daad1e5fc87fa85da6348a059d0ae0acec26eaf 
>   src/netwm_def.h 0edadc085e08531ec81bcde5651e8475e8573091 
> 
> Diff: https://git.reviewboard.kde.org/r/118928/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140625/eda776e7/attachment.html>


More information about the Kde-frameworks-devel mailing list