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.

  1. Browser -> I leave firefox open here
  2. Discord -> I leave discord open here
  3. Terminal -> I leave kitty (my terminal) open here
  4. Gaming -> I play videogames here
  5. Depends on whether I am working or gaming. Usually used for TeamSpeak.
  6. Emacs -> I leave emacs open here
  7. Wild card
  8. Music -> I leave Spotify or whatever music service I am using open here
  9. 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.

  • lattrommi@lemmy.ml
    link
    fedilink
    中文
    arrow-up
    3
    ·
    1 year ago

    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 toggle

    This 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.

    https://imgur.com/SQsqa6C