Tier 1: Linux virtual consoles. Switch among these with Alt-F1 through Alt-F8. Control-Alt instead of Alt if in Wayland. I have seven with a text terminal and Wayland on the eighth. This tier supports showing only one virtual console at once.
Tier 2: Inside the Wayland virtual terminal, Sway managing virtual desktops. I use nonstandard keybindings here: Super-1 and -2 to cycle left and right, and Super-Q n to go to the n-th desktop. Beyond the first ten desktops, I can use Super-R to rename a desktop to a “named” desktop. For cycling purposes, these come after the first ten. This tier supports showing only one desktop at once.
Tier 3: Inside a Sway virtual desktop, windows managed by Sway. This tier supports splitting, showing multiple windows at once. I use nonstandard emacs-style keybindings, Super-F/B/N/P to move among those. These are often running a virtual terminal program,
foot. I don’t use a multiplexing terminal with multiple “tabs”, because I favor a more minimalist setup with fewer tiers.Tier 4: Inside a Sway-managed window,
mosh. This tier isn’t always present; I only use this tier if I’m using a remote system. Mosh has its own concept of sessions. These can be used in conjunction with Tmux’s sessions — mosh’s system is designed to smooth over connectivity issues. Lose network connectivity and mosh will display a message. Hibernate a laptop for a month with a mosh connection open to another machine, open the lid, and mosh will transparently re-establish its connections as if there had been no interruption. I mostly use mosh to reduce perceived latency, but the connectivity stuff is neat. Not much interaction with this tier, short of force-exiting with Control-^ . and this tier only supports showing one session in a terminal at once.Tier 5: Inside a mosh session, tmux sessions. Tmux has its own set of sessions, which one can attach to with
tmux attach. This tier only supports showing one session at once.Tier 6: Inside a tmux session, tmux windows. I use a nonstandard prefix key for tmux (and GNU screen) to reduce friction with emacs — Control-O. I use emacs-style keybindings to cycle among windows — Control-O Control-N/Control-P. This tier does support splitting to show multiple tmux windows at once, though I don’t use that functionality.
Tier 7: Inside a tmux window, I run a bash shell process. Bash supports job control. Control-Z to suspend the current job and return to bash,
jobsto list jobs,fg %nto activate the nth job.Tier 8: Inside a bash job, I might be running emacs, and that has emacs frames. If you’re using graphical emacs, each frame corresponds to a window in your windowing environment. In terminal emacs, each is basically another invisible layer that you can switch among.
C-x 5 2to create a new frame,C-x 5 oto cycle,C-x 5 0to destroy. This tier does not support showing multiple frames at once.Tier 9: Emacs buffers. Each “buffer” might be a text file, a email client with mu4e, an LLM chat session with ellama, a “spreadsheet” with an org-mode table, whatever. One can show multiple emacs windows and assign a buffer to each emacs window (emacs has its own concept of windows, which kinda correspond to “panes” in most programs). Emacs has many systems for switching among these, but I mostly use one of two fairly vanilla add-on packages, either
C-x bforido-switch-bufferto switch among buffers using tab-completing names, orC-x C-bto useibuffer, which provides menu-based selection.Tier 10: Usually not something I use in conjunction with emacs, but if one is running a bash instance in an emacs shell-mode buffer (
M-x shell), then bash’s job control comes into the picture. Emacs shell-mode requires one to prefix each bash control key sequence withC-c, soC-c C-zto suspend the current job, and return to shell,jobsto list current jobs, andfg %nto activate the n-th job. Can only show one job at once.EDIT: You could maybe make an argument that there’s another tier between Tier 7 and Tier 8, because I use an emacs feature called desktop.el that persists an emacs session, including its frames and windows and open buffers and all across invocations of emacs for a given project. But I rarely use this, so it’s not normally in the stack. If it’s there, you can only have one active at once, no “split desktop.el” functionality.
Crank that knob up to 11: Using multiple computers simultaneously to manage all your shit—with some having special hardware dedicated to the task!
Lordy.
I’ve always used virtual desktops, but my life changed when I realized I could chain tags in herbstluftwm. Now I have music player, visualize, & todos always on monitor 1. Then I have Meta-[1-5] bound to switch monitors 2 & 3 in sync between virtual workspaces:
1: programming, web on 2, editor on 3 2: remote, terminals into VPSes and LAN computers, and gotop 3: communications, IM chats on 2, email, Matrix, irc, discourse, SMS bridge on 3 4; random, Factorio or movie on 3, and often Vial on 2, because. 5: more random, usually Darktable, Gimp, Inkscape or some combination depending.
I don’t have 6-9 bound, because 4 or 5 are usually free for whatever.
For me it’s:
- Workstuff
- Games
- Main browser for mail, etc.
- All the messenger apps
Music player lives in yakuake dropdown terminal.
shit dude, I’ve got more than 4.
- comms(chat/email/tickets)
- remote desktop access
- terminal/editor
- primary local development browser/console
- primary research/notes/documentation
- project 2 research/notes
- project 3 research/notes
- project 4 research/notes
- infrastructure migration project lead by PM
- browser for stupid shit/music
I keep forgetting that virtual desktops are a thing that exists.
because at least on windows, they just don’t work well
shit always opens on the wrong desktop, they’re slow and glitchy. it’s just a pain
I just have four monitors
very infrequently I use virtual desktops for particular things, but too often I need to see the secondary shit while doing the primary and also have a meeting or tertiary info up while accessing chat
deleted by creator
Settings > Accessibility > Display and then toggling “Reduce Motion” on.
That just disables most if not all animations though, no? The OS should really just be able to handle the inputs during the animation…
deleted by creator
Wow, that’s worse than I expected.
Why use a virtual desktop when you can simply buy more monitors?
Facts. Or bigger monitors.
Desktop 1 is for my music, browser, socials, maybe a yt video.
Desktop 2 is my work windows VM with spreadsheets and stuff
- Browser, other main stuff
- Games, games never leaves 2
- Terminal, ide, file manager
- Blender, libre office, teams, cad, lmms, davenci resolve
- Virtual box, vmware, virtmanager
- Moonlight, parsec, vnc, rdp.
7-9 when I run out of space in my other desktops - Music player, obs, uget, qbittorrent, xclicker, discord
I miss Qtile’s hackability. I basically rewrote the entire GroupBox widget, the master/stack layout algorithm, and the behaviour of workspaces to mimic AwesomeWM’s tagging functionality.
Desktop 1: The things I need to do (applying for jobs) Desktop 2: The other things I should do (building relevant career skills) Desktop 3: The things I actually do (random hobbies & volunteer work) Desktop 4: I have no fucking clue, maybe reddit?
I never got into these at all. My coworker thought it was crazy that I never did. I just get a bigger monitor to fit all my stuff, lol. Right now, it’s a 49" ultrawide and have no issues.
I have mine as
- Fronted
- Backend
- Database
- Browser
- Music
- Project management
- Messaging/Email
All bound to Meta+h/j/k/l/y/u/i and have a bash function to run and configured to go to the right places. KDE is good
This but with other order and Gnome. Fucking love workspaces.
Ah I’ve found my people, I’m doing 9 atm to complete a 3x3 square in the overview. Only on my laptop though, using the trackpad guestures to switch or overview.
1: Terminal 2: Editor 3: Git
4: Terminal 5: Browser 6: Browser
7: Terminal 8: Any GUI 9: RestWhat’s the bash function doing? Moving windows to the right desktops when they’re open? Do you have them open on system startup?
Moving windows to the right desktops when they’re open?
You can do that with Window Rules in KDE.
Desktop 7 needs to pull themselves by the bootstraps and get a job. Useless.
You sick! Media players go on workspace 10!
Nah, music players get minimised to the status panel.
Can’t minimize soma.fm
You can if you’re listening to it in VLC or Clementine.
Lol you use VLC? I’m using Kew running on Cool Retro Term.
I used to be a virtual desktop user just like you, but then I plugged a second monitor into the pc
I have two monitors and still use virtual desktops. Get on my level.
I have 3 monitors and 9 virtual desktops 😆
How I use virtual desktops:
I don’t. Everything fits on one screen, if it doesn’t I close tasks and leave a note to get back to it.













