This forum has been archived. All content is frozen. Please use KDE Discuss instead.

QuickTile not rotating window to next screen on repeat call?

Tags: None
(comma "," separated)
JDiPierro
Registered Member
Posts
3
Karma
0
Hey All,

I'm just switching to KDE and I mapped "Quick Tile to the Left" to Meta+Left as in Windows. I tried the bind, and when I hit it a second time it undid the tiling. I was hoping that it would move the window to my second monitor. I downloaded the KWin source and it appears that that condition is coded for so I wanted to see if I might have a configuration issue before posting it as a bug.

I'm using nvidia's X server settings with my two monitors in TwinView mode, so I'm wondering if that's the issue. It shows "X Screen 0".. but I would think that if KDE was seeing me as having one screen it would move the monitor all the way to the right when I snapped to the right side on the left monitor it would go all the way to the other monitor.

Thanks,
JD
mgraesslin
KDE Developer
Posts
572
Karma
7
OS
No, the shortcuts have toggle functionality. I do not know why Microsoft does it differently, but I consider the Microsoft way as bad from a usability point of view - the shortcut results in unpredictable behavior. Depending on the number of screens it does something different. That's in general not good. We use a toggle shortcut to have a clearly defined behavior.

But we have another shortcut to move a window to another screen. Which allows to use the shortcut to put the window on another screen and then the shortcut to quicktile. Yeah it needs two shortcuts, but still a good solution.
JDiPierro
Registered Member
Posts
3
Karma
0
Not according to the code. In geometry.cpp starting at line 3210 is a block of code with the comment:
// If trying to tile to the side that the window is already tiled to move the window to the next
// screen if it exists, otherwise ignore the request to prevent corrupting geom_restore.

Also, yes.. there's a "Move to Next Screen" shortcut but no "Move to Previous Screen". Quite strange from a usability standpoint that I have to keep going through the "next" screen to get back to the previous one.

I've never had unpredictable behaviour with Windows' snap functionality. If the window is snapped to the right of my left monitor and I Meta+Right again.. it's snapped to the left of my right monitor. If it's at the left of my left monitor and I Meta+Left.. it's snapped to the right of my right monitor.
luebking
Karma
0
JDiPierro wrote:Not according to the code. In geometry.cpp starting at line 3210 is a block of code with the comment:
// If trying to tile to the side that the window is already tiled to move the window to the next
// screen if it exists, otherwise ignore the request to prevent corrupting geom_restore.


That's not "code" but "comment" and the branch is obviously not reached in this case (i'm frankly at hand not sure whether it's ever reached) since Left -> Left means that (quick_tile_mode & QuickTileHorizontal) && (mode & QuickTileHorizontal)
JDiPierro
Registered Member
Posts
3
Karma
0
luebking wrote:
JDiPierro wrote:Not according to the code. In geometry.cpp starting at line 3210 is a block of code with the comment:
// If trying to tile to the side that the window is already tiled to move the window to the next
// screen if it exists, otherwise ignore the request to prevent corrupting geom_restore.


That's not "code" but "comment" and the branch is obviously not reached in this case (i'm frankly at hand not sure whether it's ever reached) since Left -> Left means that (quick_tile_mode & QuickTileHorizontal) && (mode & QuickTileHorizontal)


I said that there is a block of code with the comment. Not that the comment was implementing the functionality.

I actually removed that part of the conditional changing:
if (mode == QuickTileNone || ((quick_tile_mode & QuickTileHorizontal) && (mode & QuickTileHorizontal))) {
to
if (mode == QuickTileNone) {
out of curiosity if that's what was causing it to not use that behavior. I recompiled and replaced kwin and it still doesn't have that functionality.

I'm going to keep playing around with it to see if I can get it to do that. The code is there for it.. I'm not sure if it's not hitting it for some reason or if it's something with my configuration.


Bookmarks



Who is online

Registered users: Bing [Bot], Google [Bot], q.ignora, watchstar