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.
I really like that you found a way to utilize the virtual desktop grid. I really love the idea and I can’t wait for plasma 6 to improve upon it but right now I haven’t used it much.
you wrote that it’s hard to reach meta+9 (win+9) but if you have a numpad and use both hands it doesn’t really matter which number you want to reach. It’s always the same distance away. file browser is always at meta+1, browser is at meta+2, etc. I can’t move up and down like you can but I don’t have to. Even if I hadn’t have a numpad, I’d still have two hands and meta+9 wouldn’t be too far away.
In short, I guess I want to say that I have found my way and I really appreciate your write up about your way but to me it sounds too complicated. Moreover, the task manager (kde, not windows. different things) is just a mouse move away and I can reach any app I want to. Moreover, Plasma Drawer is reachable within a meta click and has all apps. It’s not yet as good as GNOME’s but it’s getting there.
Yes, my way is extremely confusing, even more than I thought before writing this. That picture with the firefox workspace in the middle really made it hit home. I don’t recommend anyone to follow it.
Using the numpad as a grid workspace is an amazing idea I’d never thought of!
Not really my kind of thing since I don’t really like to move my wrists much as I use my pc, but I’ve gotta admit, when I first saw it while I was researching for another commenter I just looked at my numpad and thought “genius”. I had a grid in my keyboard and hadn’t even noticed it. Maybe if I had known that a few years ago I would have used it, but nowadays, I prefer the workflow I have. Thanks for the amazing comment, nevertheless!
Glad you got something that works for you but maybe you should look into i3WM instead. It does everything you built KDE to do natively.
I understand where you’re coming from, but I think I prefer the ease of use of something like KDE. I tried sway for a while, only to figure out that I am not really a tiling window manager type of person :)
Thanks for the tip though!
The one thing I really liked about sway/i3 was having numbered spaces. The tiling I could take or leave, sometimes it was annoying if you hadn’t put in rules for an app. E.g. gimp used to have multiple windows back in the day and it was a bit of a mess
So for the work spaces I setup, I did 1 for general, 2 for web browser, 3 for code editor, etc. I really liked that and it became muscle memory.
I’ve got a Mac for my job provided by work and I’ve done the same thing and setup workspaces in the same way. I use Ctrl+number to get to a space.
Might be worth an experiment setting up key binds to take you to a specific workspace. I think you’d like it! :)
i have a very very similar setup as yours.
the differences are:
- i have 2 screens, i use a grid of 20 desktops for each screen. the grids are synced between the screens, if i go left on one screen, it goes left on the other
- i have tiling; i use bismuth to add the tiling to kwin. i have set up shortcuts like meta+f makes a window float etc
- i have an mx master mouse with the thumb button and other configurable buttons. i have logiops to remap those. clicking the thumb button will bring up the desktop grid. thumb+up goes a desktop up, etc… this is extremely comfortable to use
- i have configured the task manager in the panel to only show apps opened in the current virtual desktop. this way i can have a Firefox for each row for example.
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
I don’t have time right now to read all the post, i only read up to the desktop grid, but i have to ask: have you ever heard about
i3wm
? I think you might like it.And if you do know it, do you know of any way to implement a desktop grid? I have the same problem you have with
alt+tab
and it would be the best thing everStrangely enough, although I could’ve sworn there was a simple command for that, I could only find scripts. You can use them if you want, should be easy to find, but a surprising workaround someone mentioned was using the numpad as the grid.
I don’t really remember how to do it, but think I remember there was a way to map ctrl+meta+down to workspace + 3, and ctrl+meta+up to workspace -3, which gave the same effect. I’ll see if I can find it
do you have a numpad? wouldn’t that make more sense? I usually use the numpad to assign the position of a window. meta+7 is in the upper left corner, meta+6 is on the right, etc. but it would work with workspaces as well
The numpad is a really great idea. It’s right there, now i feel dumb lol
Yeah, I also noticed that and felt the same!
Shift alt tab exists, lol
Uhm, what makes a desktop grid with open windows more accessible that a good alttab switcher for you?
I assume having them split by the predefined categories, instead of juggling all the open windows.
Then again, I don’t know other alt-tab options.
Makes sense, alt tab is randomly sorted
It doesn’t have to be, it can be configured in KDE.
You can have it in last-used order and have it separate Monica’s/unminimized windows too.
I’m like you as far as being the opposite of a multitasker, except I solved things with hardware. Getting a 32:9 monitor was fantastic because I can have one 16:9 window in the center and two 8:9 windows at the sides. The center window is big enough that the side windows are barely, if at all, in my peripheral vision, so it quells my anxiety with having multiple windows open.
Nice post tho, some good info in there since I’ll be switching my daily driver to KDE soon
Wow, buying a big monitor sounds like an idea that could work. I’d never even thought about doing that, since most of the times monitors like those are used, as far as I have seen, to get a better multitasking experience and I am the type of person who simply leaves one fullscreen window open at the time. But if it leaves your peripheral vision, I guess it is definitely possible.
I don’t think it’d work for me, but honestly, sounds like a great idea to have in mind! I’m having a lot of fun learning about different people’s workflows like this.
I have a similar, but different setup for similar, but different reasons. Some call it ADHD. That’s a terrible term for it but that’s another conversation. I get sidetracked easily, so multitasking is risky. When that happens, I forget everything. If I get distracted, it can lead to hours, if not days, of forgetting to do critical things like: sleep, bathroom, eat, bathe, reply to texts from friends, family, bosses etc. An innocent wikipedia link can cause me to lose a day or two. So I use the virtual desktops as a way to ‘break away’ from whatever meaningless distraction has pulled me away from whatever i was doing. More on that in a bit.
Other important notes: I am left handed. I have rheumatoid arthritis. It effects both hands but my right hand is much worse. Keyboard shortcuts are not friendly to people who are left hand dominant. Keyboards period, are usually not left hand friendly. I have 2 monitors always and sometimes 3 or 4. I recently got an ultrawide and have been using just 2 lately. The 2nd monitor, the smaller one, is where I usually put things that are always running like chat clients, music player, daily agenda, timers for cooking etc. If I have a 3rd, it will have a text editor, firefox or things i read to assist with whatever i’m working on.
I have 4 virtual desktops. They are arranged and named like so: | Main | System | | Art | Porn |
Don’t let the names fool you.
“Main” is what it sounds like. It’s where I do most of my work. It’s also where I keep my ‘to do’ list. The list keeps me organized somewhat. It’s a shortlist of important things I need to remember.
The other 3 are where my biggest sources of distraction go.
“System” is where I put anything related to the tools I use. This is not limited to the operating system, it includes software and hardware troubleshooting stuff but also things like the manuals for my car, planners for building computers, electronic schematics, health related stuff like insurance crap or research papers and plenty more. Stuff that I need to be operational. It’s also a week/month/year planner and where I keep phone numbers, notes for projects, all sorts of stuff.
“Art” is mostly for image and video editing software. If I get frustrated by something, it becomes a vacation spot. A zen garden of sorts. Occasionally I will run “feh -rzsZFD 5 /path/to/my/shittyart” which starts a nice slideshow of images and watch it for awhile.
“Porn” is for anything that is not important. This is where wikipedia lives if it’s not related to anything important. This is where the youtube videos go, that friends/family send me that i’m worried they will distract me. It’s more of a ‘to do later’ section. That’s part of the choice in name for the desktop, ‘do’ sometimes used as a euphemism for sex. Another way of putting it, it’s the “fuck that for now” desktop. Also, I quit watching TV and movies and also playing videogames, as a new year resolution back in 2020. This is where those things used to go. Also, this is where I watch porn.
Keyboard: I remapped a lot of keyboard shortcuts. I wont list all of them, just the important/relevant ones. CTRL+[F1…F4] These switch to the virtual desktops. F1 is Main, F2 is System, F3 is Art and F4 Porn. CTRL+[top row 1…4] These send the currently focused window to the corresponding desktop. Most useful when I catch myself getting distracted by something. I can CTRL+4 to ‘throw it away for later’ Meta+top row 1/Meta+ top row 3 Moves current focused window left or right in regard to which monitor it is on. Meta+ top row 2 Maximize toggle focused window. Meta+4
Meta+WSAD Tile ↑↓←→ F1 Application Launcher (because I don’t need help lol) F2 Window menu F3 Krunner F4 Yakuake toggleThis allows me to use my left hand almost entirely by itself, useful when my right hand is locked and curled up in a clenched fist from the rheumatism. Another part of the reason I named the 4th desktop what I named it, because i’ve become really good at typing with one hand.
There are a lot of F row combinations that are unused. F5-F8 with shift, alt, meta and ctrl can be done with either hand once you do it a few times and understand how your hand can reach them. F5 alone is refresh. meta+f5 and f6 do mouse focus stuff i don’t really understand or use. I don’t use or know of any programs that use any combinations of them. To me it means there are 30+ shortcuts that could be made if i include shift+another modifer key.
I also made caps lock the 3rd level chooser, pause/break the compose key, mousewheel on the desktop switches desktops, mousewheel on the titlebar of any window moves that window and switches desktop, alt+menu (the keyboard menu button) and crtl+menu to open the emmoji picker and special character select dialogues.
I originally designed this with the KDE desktop cube switcher. It really helped the ADHD aspect of things. Something about being able to mentally ‘put stuff on the cube’ helped keep me focused. The visualization itself also worked as a distraction, one that I could use to help break away from my distractions. Convoluted way to do things, I know. Losing that silly cube animation really messed me up for awhile. I can’t wait for it to return, although I doubt it will have the same functionality.
Like you mentioned at the end, I am probably forgetting to talk about something.
This is a low quality gif I made, when I was first working out the shortcuts and stuff. Felt relevant.
Wow crazy detail. I’ll read it when I get a chance lol. I stopped at “I’m a single tasker” I recently learned about the term “monotropism” which is so me.
I had never heard that term. I think I am bad at multitasking, but not to that point! :0 Maybe I’ll take an online monotropism test tomorrow and see what I get, just for fun