Notes
-
Please note that this workflow is not meant for anyone but me to use. I will provide a guide on how to replicate it, but this is more of a “read because it’s interesting post” rather than “read because it’ll make you more productive post”. Nevertheless, I’d love it if you learned something from this mess and used it in your own setup!
-
Most shortcuts here appear with WIN (windows key). For KDE, this key is META
Preface
Hey all!
I am a single tasker. The opposite of what you call a multi-tasker. It is very hard for me to concentrate in 2 tasks at the same time, and even harder for me to change my focus from one thing to another.
Briefly, I am the type of person who only ever has a few browser tabs open at the same time.
I’ve been thinking about publishing something for a while, since I had yet to contribute with content to lemmy. Thus, I decided I’ll explain the setup I came up with to be able to use multiple windows at the same time without getting stressed out!
If you only care about the setup itself, you can skip to the setup chapter.
I’ll go explain how to do replicate my setup in kde, but the same should be possible in most other DEs
Thanks for reading!
What I wanted to achieve
Whenever I want to do something, I want it to be:
- Effortless -> I want to be able to do something without thinking about it
- Muscle-memory driven -> Whenever I do something (e.g. press a shortcut), the outcome should be the same, allowing me to easily build muscle memory
- In as few steps as possible -> The more steps, the more likely I am going to lose concentration on whatever I am doing
- Instantaneous -> Few animations and/or performance heavy tasks
Stuff I really wanted to get rid off
Alt+tab
Alt+tab is the bane of my existence. It is nigh impossible for me to use this shortcut without getting extremely stressed. Looking and processing each window I have open in order to select it would oftentimes make me forget which window I wanted to open, and what I was doing entirely, so most of the times I’d just press and pray. I can’t tell you how many times I had wanted to do something like this:
- pressed alt tab -> didn’t change to the window I wanted
- pressed alt tab again -> back to the first window
- pressed alt tab x2 -> Wrong window too
- pressed alt tab x3 -> correct
(I got extremely annoyed and failed a few times just by testing this, that’s how bad this shortcut is for me)
This took 5 steps! And in those 5 steps I had to process which window I changed to, and then process whether they were the ones I wanted. It’s terrible, and it gets exponencially more terrible with more windows open!
Setup Explanation
This is simply an overview of what I do. How to do this is explained below.
Window management
A shortcut for each category
So the thing I wanted to get rid off the most was alt+tab. But how is one meant to get rid of one of the most used shortcuts?
There’s at least one simple answer: Virtual Desktops! (These are usually called “Workspaces” however, KDE calls them Virtual Desktops for some reason so that’s what I am going to call them)
Put simply, Virtual Desktops are a group of windows. It’s easy to picture if you think of it as something that automatically minimizes windows for you.
Let’s say you have opened 2 windows in Virtual Desktop 1. If you change Virtual Desktop to 2, those windows will be automatically minimized. You can then do whatever you want in Virtual Desktop 2, and when you come back to Virtual Desktop 1: Ta-da! The windows you had opened there are exactly as you left them. Cool, isn’t it?
Right now, I have 9 workspaces for different purposes.
- Browser -> I leave firefox open here
- Discord -> I leave discord open here
- Terminal -> I leave kitty (my terminal) open here
- Gaming -> I play videogames here
- Depends on whether I am working or gaming. Usually used for TeamSpeak.
- Emacs -> I leave emacs open here
- Wild card
- Music -> I leave Spotify or whatever music service I am using open here
- Wild card
Whenever I press Win+num, I go to num workspace.
But there’s one slightly annoying issue: The numbers on the keyboard are hard to reach. Try to type win+9. Hard, isn’t it?
To fix this, meet the:
Virtual Desktop grid
Have you ever heard of a desktop grid?! NO??? Well, it’s amazing. Mine is 3x3 (That’s why I have 9 workspaces).
Since we have the amazing Win+num shortcut, this is a little unnecessary, but I personally rarely use those.
I always use ctrl+win+arrowkey to travel! Let me draw it for you:
[Sketch of my workspace grid][https://imgur.com/a/wWY70st]
And since I always know where I am in that grid, I can move to any adjacent workspace with a shortcut:
- ctrl+win+up -> Go one desktop up
- ctrl+win+down -> Go one desktop down
- ctrl+win+left -> Go one desktop left
- ctrl+win+right -> Go one desktop right
GREEAAT!!! One issue though, we still need to be able to change window’s assigned Virtual Desktop.
- ctrl+win+shift+up -> Move window one desktop up
- ctrl+win+shift+down -> Move window one desktop down
- ctrl+win+shift+left -> Move window one desktop left
- ctrl+win+shift+right -> Move window one desktop right
Perfect.
…Or not. Let’s say I am in desktop 1 and I want to change to desktop 9.
Damn. Seems like I’ll need to click “ctrl+win+down ctrl+win+down ctrl+win+right ctrl+win+right”, and while that does indeed work, it completely defeats the point of trying to do everything in as few steps as possible.
And this is where I introduce perhaps the most alienating part of my workflow:
Wrap around Virtual Desktops.
yes.
This will be tough to explain in a concise way.
Pros:
- This allows me to reach any desktop with a single shortcut, regardless of how far they are.
Cons:
- It is extremely confusing
For instance, let’s pretend I am in the deskop 1.
Since the Virtual Desktops wrap around, this is how it looks like.
[Sketch of wrap around Virtual Desktops with Firefox one in the middle][https://imgur.com/a/sM1P6W7]
Yeah, I know. Hard to wrap your head around it if you know what I mean.
Now, if I wanted to get to desktop 9 It’d be a single shortcut:
- ctrl+window+up+left (yep, you can join them like this)
It may seem extremely overly complicated and weird and unnecessary and stupid and redundant but it’s surprisingly easy to navigate with this once you get used to it.
Surely I wouldn’t have started using it if it were stupid. right? right? right…
Note: I started with ctrl+win+arrowkey, but nowadays I use ctrl+win+(hjkl) so I can stay in the home row :) Since this would make the post harder to understand for non-vimmers I decided to not use it
KRUNNER
Note: I don’t know what applies and what doesn’t apply to the default kde search engine. I think krunner looks sleeker, so I use that one.
Want to see if a word is spelled correctly? Maybe you want to get its definition. Maybe you want to do some quick maths?
Krunner can do all that. And oh boy, that’s just the tip of what krunner can do.
Krunner is an app that comes bundled with KDE. If you type anything into an empty desktop a little search bar will appear in the top. That’s Krunner! I have remapped win+d to start it.
You can put a ton of plugins into that thing, for instance, making [any search started with define show the definition of the subsequent word (just like google!)][https://imgur.com/a/OHkZQJK], and much, much more.
There were 6 things that made it seem cool to me:
- The fact that you can disable plugins -> You’d usually assume this is possible, but I guess windows just lowered my expectations. If you disable the majority of them, krunner becomes lightning fast and as predictable as it gets (some plugins make it a little unpredictable for me). I’m not entirely sure whether the default search tool from KDE also has this feature.
- No need for a calculator -> I don’t even have a calculator app installed. Wanna do some arithmetic? Just type [128 * 98 + 45][https://imgur.com/a/wrfWKzP]
- As a non-native english speaker, the dictionary plugin :(
- pretty. it looks pretty. it looks pretty. it looks pretty. it looks pretty.
- God, does it looks pretty.
If you want to know all it can do, just search “?”!
Kwin!
Kwin is the KDE’s window manager. I won’t go into details about what is a window manager, since I don’t think it’s very important at all, but I’ll tell you to run a single shortcut.
Alt+f3 (notice: in some laptops, this may be alt+fn+f3)
Goodness gracious, you’re a linux adult now! You can even access that secret menu. I’m gonna cry!
This menu is amazing. A godsent. I pray to it every day.
…Or not. I most certainly should.
With it, you can:
- Assign windows to virtual desktops
- Change the size, position, and whether it should start fullscreen or minimized when that specific app opens.
- Much, much more… A little too much. In a good way.
How to replicate it
Virtual Desktop Grid
-
Go to settings, and search Virtual Desktops in the top left search bar.
-
Click the add button until you get 9 desktops
-
In the right, there should be a button saying “1 row”. Write 3 instead of 1 or click in the arrow pointing up until you get it to 3.
-
Enable Navigation Wraps around
-
Disable animation when switching (optional)
-
Still in the settings, go to shortcuts
-
Scroll down until you find Kwin
-
Remap Switch One Desktop Down/To The Left/To The Right/Up to whatever you want (you can simply enable ctrl+win+arrow too, the default)
-
Remap Switch to Desktop num to your liking
And I think you’re good to go!
Krunner
- Go to settings, then shortcuts
- Search krunner and and remap it to whatever you want.
- Use the shortcut, krunner will start. Inside Krunner, click on the leftmost button
- Change position on screen to center (optional)
- Click Configure enabled search plugins and change those to your liking!
Kwin
- With a window opened, press Alt+F3
- Go to more actions and click special application settings
- Press Add property and have fun! If you want the window to start in a specific desktop every time, you can move it to that desktop and add the property virtual desktops with “apply initially”. Should be the default
End
And that was… Much less than I thought. Apparently, this whole thing was a journey to get rid of alt+tab. That’s quite funny, but seriously, screw alt+tab. I vehemently hate it.
I am probably forgetting to talk about something.
Nevertheless, I hope you enjoyed this post! It’s my first one talking about linux. If you see any mistake, grammar or factual, I’d really appreciate it if you pointed it out. I won’t get mad. Promise.
Also, if you also have a weird setup such as mine, I’d love to hear about it, and to see if I can incorporate whatever you do that’s weird to other people into my own setup. I am a weird person after all.
That’s very interesting, especially the mouse part. I hadn’t thought about remapping its buttons to anything related to KDE, and unfortunately I don’t think that is possible in mine.
I am also surprised you can manage 20 desktops in two monitors. How much ram do you have, both in your brain and in your computer?! And the part where the grid is synced between the screens also feels a little weird to me, but even though I only use a single monitor, I can definitely see the appeal. Obviously, the biggest issue with doing that is that you have to have corresponding workspaces on both monitors at all times, but with 20 workspaces on each side, you can certainly get a lot of combinations. You could get two instances of firefox open in a different sets of workspaces, one for work and another for leisure, for instance. Firefox profiles are great for that!
Even then, I need to say it, 20 desktops on each side is a lot. For such a large number, you could consider activities, but since you seem to change desktop through the desktop grid, with no need for shortcuts, I can see how it becomes more manageable. Your setup seems very creative and unusual, at least for me.
Thanks for the comment!
i do have a beefy machine… i have 32gb of ram :)
the mouse part is the part i like most. usually people use this kind of workflow to not use the mouse… i did the opposite. in kde with meta+left click you can move windows between monitors or to reorder them in the tiling. and with meta+right click you can resize them. this means that opening 2 windows will open them with half screen for each (because of the tiling) but with meta + mouse i can reduce one window (and thus enlarging the other), it’s very fast and very convenient.
the 20 desktops are a lot but i don’t use them all, i generally organize my work in rows. but sometimes i use the desktops differently and i like to have that kind of flexibility.
i actually used 2 activities to separate work and personal, with 2 separated Firefox profiles. so i had 40 desktops for personal and 40 for work… :)
but activities have their own set of problems, like, there is no shortcut to send a window to another activity, you have to do it from the menu in the panel. and after a reboot, sometimes windows get thrown into the wrong activity, and that’s very annoying.
to add a bit of context, i’m a software engineer, and the combination i use most is vscode on one monitor and Firefox in the other. with maybe dolphin on a neighbor desktop. this repeated 4/5 times depending on how many projects i’m working on.
Wow, now that’s a very intricate setup. The fact that the windows don’t go to their corresponding activity seems weird, maybe it’s a bug? Seems like it’d be hard to find the cause, though.
Also, when you reboot, do the windows with different firefox instances stay with the same tabs open? Are the profiles kept? Since I prefer to start on a clean slate, I start a new session and simply autostart my usual apps which are bound to their respective desktops. But if even those two are kept, it does seem pretty damn great. Pretty similar to suspending, in a way. Too bad about the activities part though.
yes after a reboot stuff gets reopened in the same place it was (sometimes some windows do not, is not 100% stable). but only windows that support saving themselves into the session get reopened, stuff like vscode or Spotify do not. Firefox and kde stuff yes.
Firefox is very stable in this regard, it always reopens all the windows with all the tabs in the right desktops.
the activity part is definitely a bug, its a kde + X bug and it is in wontfix state. i hope they will rework this feature on plasma 6 with Wayland