> On Jan. 20, 2014, 5 p.m., Thomas Lübking wrote:
> > given the ratio by this property is set (often) and read (rarely), i wonder 
> > whether we could establish a semi-async functionality, where the client 
> > sends a message to have the property updated, then syncs, reads and returns 
> > the updated property?
> > 
> > reg. screen ./. output terminology:
> > we've "active screen" everywhere and we can probably not expose the 
> > screen/output problem to end users.
> > Also Qt talks of screen in this regard.
> > I'd suggest to keep activeScreen and specify the meaning in the comment.
> >
> 
> Martin Gräßlin wrote:
>     > i wonder whether we could establish a semi-async functionality, where 
> the client sends a message to have the property updated, then syncs, reads 
> and returns the updated property?
>     
>     That would be different to how all the other methods in KWindowSystem 
> works. What could be considered is not having a signal to not wake up the 
> clients or only emit the signal if connect-notify is called.
>     
>     > Also Qt talks of screen in this regard.
>     
>     This was the reason why I went with screen in the first place. The class 
> is called QScreen and not QOutput. Calling it output didn't occur to me at 
> all. I don't mind how it is called and from a technical perspective 
> (especially considering XRandR) I agree with Fredrik. But from a user point 
> of view I think screen is the better name due to the QScreen anology. What 
> could be done is using output in the NET class to be closer to the X11 world, 
> but keep the name screen in the abstraction. I don't know whether output 
> makes sense on Windows or Mac (in case they ever implement it).
> 
> Thomas Lübking wrote:
>     > That would be different to how all the other methods in KWindowSystem 
> works.
>     My major concern would be the mouse driven active screen.
>     Right now, when the active screen is required, kwin just checks the 
> current mouse position.
>     When we need to keep the info updated (signal or not), that means that 
> kwin has to poll the mouse all the time (even if we would "smoothen" the 
> update by a timer so the active screen isn't updated a 1000 times when moving 
> the cursor around a screen edge).
>     
>     And while knowing the "active" screen is certainly nice, our main concern 
> right now is the occasional raiseOrLower taskbar case.
>     
>     A 2-pass query would nicely circumvent this as the data only needs to be 
> updated when really and likely rarely required.
> 
> Fredrik Höglund wrote:
>     kwin should be using XI2 instead of polling.
>     
>     We already have properties that are updated every time the stacking order 
> changes
>     and every time the active window changes.  Given that, I don't think the 
> update
>     frequency for this property is going to be a problem.
>     
>     So with regards to the terminology, this is what we're looking at:
>     
>     X               | Qt
>     ----------------+-----------------
>     Output          | Screen
>     Screen          | Virtual desktop
>     Virtual desktop | ?
>     
>     Which is just really unfortunate.  It's bound to cause confusion no matter
>     which name we pick, and it doesn't help that the QScreen documentation
>     doesn't explain the terminology.
>     
>     Windows and Wayland also use "output", while I think Mac OS uses 
> "display".
>

> kwin should be using XI2 instead of polling
yes, "should" - https://git.reviewboard.kde.org/r/111875/


- Thomas


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


On Jan. 20, 2014, 1:14 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. 20, 2014, 1:14 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
> -----
> 
>   autotests/netrootinfotestwm.cpp 120fbee92d0b22862d8ce746b3b30891ecd9f056 
>   src/kwindowsystem.h 5bcfd062dcca42d282b70d0683d4ee1da88cc814 
>   src/kwindowsystem_mac.cpp 8bd2ac763fa26ba49e7733fc3ba93e755383928c 
>   src/kwindowsystem_win.cpp 96148b2d808396a3046204e55fd19d767db017c5 
>   src/kwindowsystem_x11.cpp 8634240cabc708a608277b34f21c41cee295e48a 
>   src/netwm.h aee6cea5e3b65cf6252b50515e4920cb9c96f240 
>   src/netwm.cpp 266afccaf111e6707493b18dad1d9c03dde1d912 
>   src/netwm_def.h 8b1ccb8bd731aefb9559c8f2b450337b0312ed4d 
>   src/netwm_p.h 41792b330f7405034f4d51fb31a4de5dd674b6d0 
> 
> 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
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to