Bug 214009 - WISH: clickless desktop switch
Summary: WISH: clickless desktop switch
Status: RESOLVED INTENTIONAL
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: 4.3.1
Platform: Debian testing Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-10 18:01 UTC by cmt.miniBill
Modified: 2009-11-12 10:50 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description cmt.miniBill 2009-11-10 18:01:24 UTC
Version:            (using KDE 4.3.1)
OS:                Linux
Installed from:    Debian testing/unstable Packages

Introduction:
I *love* the desktop grid, because it allows me to have a really fast desktop switch.
I also love it because I can use it to check if a long process has ended, while keeping an eye on my current desktop.
*but* I think it could be improved with a small, yet powerful, change
My idea:
I use 4 desktops, and when I activate the desktop grid with the appropriate angle (SW in my case) I'm presented with a 2x2 grid.
I'd love to be able to switch to a specific desktop by moving the cursor to the appropriate angle (e.g NW=1 NE=2 SW=3 SE=4).
This will let me have a clickless, mouse only, desktop switch.
My proposal:
Add a configuration option, and the relevant code, to make this work.
My part of the work:
I can do testing, and maybe even contribute some code(if not too difficult) if you can provide me hints on how to do that.
I'd prefer to test only an unstable kwin, possibly keeping the pre-packaged program versions for the rest of kde.
Comment 1 Martin Flöser 2009-11-10 18:08:03 UTC
It's not a 100 % duplicate but an almoast duplicate.

The mouse movement itself cannot be used as a measurement for activating a desktop, because there might be other movements to the same direction which do not want to activate the desktop. For example if you move your mouse to move a window from one to another desktop. So the only possible way is to move the mouse on the desktop and have an autorise as in the duplicate bug.

*** This bug has been marked as a duplicate of bug 168297 ***
Comment 2 Thomas Lübking 2009-11-10 18:13:50 UTC
This has two flaws:
1) it works with exactly /one/ setup
2) it breaks with the "in = out" concept (i.e. the active corner acts as toggle)

Also I wonder about the advance of not having to click the mouse (anywhere in a pretty large area) but pointing it into a small corner (what is both: harder as well as easier to do by accident)

Btw: you /can/ change the desktop w/o clicks - just by moving the mouse across an active border ;-)

@Martin
i think he meant hitting the screen corner rather than motion estimation
Comment 3 cmt.miniBill 2009-11-10 18:26:30 UTC
I meant hitting the corner, yay.
I find moving through borders irritating, as it tends to trigger in many unwanted situations (e.g, I have and auto-hiding bar at the bottom).
To Thomas: The idea can be easily extended to an arbitray number of desktops; for example:
2)anything left goes to 1, anything right to 2
3)NW 1, NE 2, S* 3 (2 on the top row, 1 on the bottom)
4)NW 1, NE 2, SW 3, SW 4 (2+2)
5)NW 1, N 2, NE 3, SW 4, SW 5 (3 on the top row, 2 on the bottom)
6)NW 1, N 2, NE 3, SW 4, S 5, SW 6 (3+3)
and so on.

About point 2 (in = out), if this is a default-off option, it shouldn't be a problem, should it?

And pointing a corner isn't hard, I constantly use it to activate desktop grid, expo, and the cube.

I think this bug is *not* a duplicate, as the other one is somehow similar, yet different (different requests, different code, different options).
Comment 4 Thomas Lübking 2009-11-10 18:44:07 UTC
(In reply to comment #3)
> To Thomas: The idea can be easily extended to an arbitray number of desktops;

Describe 9 (3x3) and activate the desktop in the center.
Comment 5 cmt.miniBill 2009-11-10 22:47:40 UTC
Central one can be clicked :)
Anyway, what's the percentage of ppl with > 8 desktops?
The person with the highest number I've ever seen had 8.
Anyway, with 9 you get 1/9 that must be clicked
with 16 1/4
not really bad considering that:
a)this idea would not change anything for people clicking on desktops
b)there are really few people with > 8 desktops
c)the only "breaking" change is when you have selected a screen and then exit using the same corner, but I don't think this is a great deal, and anyway the option can be defaulted to off
Comment 6 Thomas Lübking 2009-11-11 19:58:09 UTC
a) this makes the behaviour inconsistent
b) any (square) setup > 6 desktops is hit and 4 desktops in a horizontal line are (in a way) either (you'd have to watch where the cursor hits the edge - in case you support this at all)

c) most important:
you have still not explained what you expect to be the advance of such clickless activation (i myself can very much faster click somewhere than move the mouse on to the opposite screen corner)
Comment 7 cmt.miniBill 2009-11-11 20:59:13 UTC
Ok, I understand you don't think this would be useful.
Could you provide me some info on how to modify the existing code to create a different one?
Comment 8 Thomas Lübking 2009-11-11 22:18:28 UTC
(In reply to comment #7)
> Ok, I understand you don't think this would be useful.
No, I do not understand why it is - but am willing to be enlightened ;-)

Anyway, kdebase/workspace/kwin/effects/desktopgrid/ contains the relevant sources
you (likely) want to look into
bool DesktopGridEffect::borderActivated( ElectricBorder border )
Comment 9 cmt.miniBill 2009-11-12 08:27:38 UTC
I'd love use my computer with as few clicks as possible, and switching desktop via desktop grid without a click may be interesting.
I don't really know whether this could be liked by the masses, and I won't know till I try and code it :)

Is there a way to do some work on kwin without compiling the entire codebase?
Also because I'd prefer to keep to more stable versions. (I'm already using 4.3.2 anyway, so I hope it doesn't matter a lot to use prepackaged version).
Comment 10 Martin Flöser 2009-11-12 08:35:20 UTC
(In reply to comment #9)
> Is there a way to do some work on kwin without compiling the entire codebase?
You need to run cmake from kdebase-workspace directory, afterwards you can just compile kwin.
> Also because I'd prefer to keep to more stable versions. (I'm already using
> 4.3.2 anyway, so I hope it doesn't matter a lot to use prepackaged version).
You can of course use the 4.3 branch, but be aware that it is possible that the patches might not apply some day (although I think there should not be such a problem)
Comment 11 cmt.miniBill 2009-11-12 10:50:50 UTC
(In reply to comment #10)
> You need to run cmake from kdebase-workspace directory, afterwards you can just compile kwin.
And then how to "use" it? Kill kwin+run new one?
> You can of course use the 4.3 branch, but be aware that it is possible that the
> patches might not apply some day (although I think there should not be such a
> problem)
patches not applying is the least of my problems, also because I think I'm just gonna copy the existing effect and modify the copy