Review Request 115137: Provide information about the active screen in KWindowSystem
Thomas Lübking
thomas.luebking at gmail.com
Tue Mar 4 21:14:52 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115137/#review51954
-----------------------------------------------------------
src/kwindowsystem_x11.cpp
<https://git.reviewboard.kde.org/r/115137/#comment36936>
Brainstorm.
Assuming this is of rare interest and we would want to limit X11 roundtrips and pointer tracking.
The WM could then simply set the strategy (mouse/active window) and ::activeOutput() could check that to calculate the reult on request.
KWindowSystem could (on connect notify) track the mouse/active window to emit the signal.
This way tracking would only be required if/while some client is really interested.
Downside is that 2 or more clients could be tracking simultanously.
Benefit would be that other WMs can adapt this very easily and we don't rely on XI2 support (what will probably also not work if the mouse is navigated by the keyboard?)
src/netwm.cpp
<https://git.reviewboard.kde.org/r/115137/#comment36930>
The API says the parameter can be NULL, nstrdup will then return a casted nullptr and this will segfault. (Or I missed something?)
- Thomas Lübking
On Jan. 31, 2014, 1:01 p.m., Martin Gräßlin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/115137/
> -----------------------------------------------------------
>
> (Updated Jan. 31, 2014, 1:01 p.m.)
>
>
> Review request for KDE Frameworks, kdewin and kwin.
>
>
> Repository: kwindowsystem
>
>
> Description
> -------
>
> The rational for these changes is based on the discussion in http://article.gmane.org/gmane.comp.kde.devel.plasma/27579/
>
> Plasma needs to know which is the active screen and so far only KWin knows it, so we need to make everybody aware of it.
>
> ---
> Add convenient wrapper for active screen to KWindowSystem
>
> A method is added to get the identifier of the active screen as a
> QString and a signal whenever the active screen changes. This method
> is only provided for X11, on Windows and Mac a null QString is returned
> as the identifier.
>
> Add an active screen property to NETRootInfo
>
> The active screen is intended to be set by KWin to the active screen
> it's using. This can be used by a Client to manually position e.g.
> override redirect windows on the active screen. It's intended as a help
> for multi-screen setups where a Client can only do guesses on where to
> position e.g. a notification window.
>
> It's a KDE specific extension as property _KDE_NET_ACTIVE_SCREEN and
> announced in the supported properties.
>
>
> Diffs
> -----
>
> tests/activeoutputtest.cpp PRE-CREATION
> tests/CMakeLists.txt ce68cc505a69ea9a3cf645e9ae587bd89abe1648
> src/netwm_p.h 41792b330f7405034f4d51fb31a4de5dd674b6d0
> src/netwm_def.h 8b1ccb8bd731aefb9559c8f2b450337b0312ed4d
> src/netwm.cpp 84eb137492e0afaaac80e8d26561fd8f8aff9c27
> src/netwm.h 393a29de3153a8b291b9fb249bd3eaeb1ba4e7d5
> src/kwindowsystem_x11.cpp 01c78c1debf95d5a176e2153139da19abf383c41
> src/kwindowsystem_win.cpp 96148b2d808396a3046204e55fd19d767db017c5
> autotests/netrootinfotestwm.cpp 120fbee92d0b22862d8ce746b3b30891ecd9f056
> src/kwindowsystem.h 3de0fea179dd468a78a265808fc64704027ec30d
> src/kwindowsystem_mac.cpp 8bd2ac763fa26ba49e7733fc3ba93e755383928c
>
> Diff: https://git.reviewboard.kde.org/r/115137/diff/
>
>
> Testing
> -------
>
> * wm part of NETWM is unit tested
> * KWindowSystem is only compile tested (unit testing is difficult as we need a window manager which supports this property which is at the moment of this writing: none)
> * Windows and Mac is not even compile tested, that's why kdewin is included in the review. If you have the time for it, please do a compile test.
>
>
> Thanks,
>
> Martin Gräßlin
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140304/8cb8dceb/attachment.html>
More information about the Kde-frameworks-devel
mailing list