Tuesday·20·January·2009
How I use my virtual desktops //at 00:29 //by abe
Many months ago I stumbled upon this German written meme about how users use their virtual desktops. I use virtual desktops since my very early Unix times (tvtwm on Sun Sparc SLC/ELC/IPX with greyscale screens running SunOS 4.x), so in the meantime I use them nearly everywhere the same way.
Short Summary
3x5, no overlapping windows, either tiling or fullscreen, keyboard navigation, xterms, yeahconsole, FVWM, panel for systray.
Window Manager of Choice
My window manager of choice is FVWM since more than a decade. I tried others like Sawfish, Metacity and Compiz, but I couldn’t get them behave like the FVWM I got used to, so I always came back.
Since I hate overlapping windows, I use FVWM a lot like a tiling window manager. FVWM has this nice function to maximize windows so that they occupy as much space as available, but do not overlap other windows. This function was also often missing when I tried other window managers. I though do not want to use real tiling window managers since I have a few sticky windows around (e.g. the panner with the virtual desktops and xosview) and they shouldn’t be overlapped either.
Virtual Desktops
Switching between virtual desktops is done with the keyboard only – with Ctrl-Shift as modifier and the cursor keys. The cursor keys are usually pressed with thumb, ring and small finger of the right hand. Which hand presses Ctrl and Shift depend on the situation and keyboard layout, but it’s usually either ring and small finger of the left hand, or pointer and middle finger of the right hand. So I’m able to switch the virtual desktop with only one hand.
I have always three rows of virtual desktops and usually four or five columns.
The top row is usually occupied with xterms. It’s my work space. The top left workspace usually contains at least one xterms with a shell and one with mutt, my favourite e-mail client since nearly a decade. At home the second left virtual desktop in the top row usually contains a full-screen Liferea (my preferred feed reader) while at work it contains the GNU Emacs main window besides two xterms. Emacs and the emacs server are automatically started at login.
This also means that I switch the virtual desktops when I switch between mutt and Emacs for typing the content of an e-mail. Did this already during my studies. (At home mutt runs inside a screen, so there I just switch the virtual terminal with Ctrl-A Ctrl-A instead of the virtual desktop. Not that big difference ;-)
The other virtual desktops of the the top row get filled with xterms as needed. Usually one virtual desktop per task.
The middle row is for web browsers. One full screen browser (usually Conkeror or Opera) per virtual desktop, often opened with many tabs (tabs in Opera, buffers in Conkeror) related to the task I’m accomplishing in the xterms in the virtual deskop directly above.
The third row usually contains root shells for maintenance tasks, either permanently open ones on machines I need an administrate often (e.g. daily updates of Debian testing or Debian unstable machines), or for temporary mass administration (Linux workstations on the job, all Xen DomUs of one Xen server, etc.) using pconsole.
yeahconsole
Additionally I have a sticky yeahconsole running, an xterm which slides down from the top like the console in Quake. (It’s the only overlapping thing I use. :-) My yeahconsole can be activated on every virtual desktop by pressing Ctrl-Alt-Z (with QWERTY layout, Ctrl-Alt-Y with QWERTZ layout). It’s the terminal for those one-line jobs then and when, e.g. calling ccal, translate, wget or clive.
Changes over time
Of course the desktop usage changes from time to time:
At work I have more than one monitor, so in the meanwhile the second row with the web browsers “moved” to the second screen – with independent virtual desktops (multiple X servers, no Xinerama). The second row on the main screen at work is now used the same way as the third row with a slight preference for the permanently open shells while the third row is more used for mass administration with pconsole.
At home I used XMMS respective Audacious for a long time (my FVWM panner and xosview are exactly as wide as WinAmp2/XMMS/Audacious, guess why:-) which usually was sticky the same way as the panner and xosview are. But when I started using last.fm recently, I moved to Rhythmbox (after testing some other music players like e.g. Amarok) which I use in fullscreen as I do with web browsers and the feed reader. So it occupies a complete virtual desktop, usually the second one in the middle row – below the feed reader because I don’t need a corresponding web browser for the feed reader. (Just found out that there is a last.fm player for text-mode, so maybe that will change again. :-)
Another thing which changed my virtual desktop usage was the switch from a classical tabbed web browser (Galeon, Kazehakase, Opera) to the buffer oriented Conkeror. With a tabbed web browser I have either no overview over all open tabs (one row tab bar or truncated tab menu) or they occupy too much space of the browser window. That was another reason for more than one browser window and therefore more than one virtual desktop with fullscreen web browser windows. With Conkeror tabs are optional (and not even enabled by default), Conkeror uses buffer like Emacs and if you want to switch to another buffer, you press C-x b and then start typing parts of the buffer’s name (e.g. parts of the URL or the web page title) to narrow down the list of buffers until only one is left or until you have spotted the wanted buffer in the list and choose it with the cursor keys. So the need for more than one browser window is gone.
For a long time I didn’t need any task/menu/start/whatever bar on my desktop. But since neither NetworkManager nor wicd have a comand-line interface (yet) and bluetooth seems also easier handled from the system tray my laptops also use either gnome-panel (big screen, long sessions with FVWM) or lxpanel (formerly used trayer; use it on small screen, short sessions with ratpoison or matchbox) on my laptops. It’s sticky and always visible. (No overlapping, remember? ;-)
The panel is usually at the bottom on the screen as by default with Windows or KDE, not at top as with GNOME and MacOS. Only on the OpenMoko, I have the panel at the top to be close to what I’m used from Nokia mobile phones.
Things I tried …
… but didn’t survive in my setup:
- Desktop icons – nearly always covered if you use a tiling window manager. (I though use root window menus – mostly for starting applications later occupying that space where I clicked. ;-)
- A button to minimize all windows. Only sissies without virtual deskops need that. ;-)
- Automatically scrolling logfile content on the desktop (root-tail, root-portal, etc) – the space was too precious to not use it for xterms or web browsers. ;-)
Systems without Virtual Desktops
Anyway, there are systems where I don’t use virtual desktops at all.
On systems with a screen resolution so small that there’s not enough
space for two non-overlapping, fixed font 80x25 xterms on the screen
(e.g. on my MicroClient with 8” touch screen, the 7” EeePC or the
OpenMoko) I do not use virtual desktops at all. On such systems I use
all applications in fullscreen, so switching between applications is
like switching virtual desktops anyway. My window managers of choice
for such systems are ratpoison for systems with keyboard and matchbox
for system without keyboard. With ratpoison you treat windows like
terminals in GNU screen, so there are no new keybindings to learn if
you’re already used to screen (which I use nearly daily since more
than a decade).
Tagged as: Audacious, buffers, ccal, clive, Compiz, Conkeror, desktop, EeePC, Emacs, FVWM, Galeon, GNOME, icons, Kazehakase, keyboard-driven, Last.fm, Liferea, LXDE, lxpanel, matchbox, meme, Metacity, MicroClient, multiscreen, mutt, Nokia, OpenMoko, Opera, Other Blogs, overlapping, panel, QWERTY, QWERTZ, ratpoison, Rhythmbox, root-tail, Sawfish, screen, Sparc, tabbed browsing, tabs, tiling window manager, touch screen, translate, trayer, tvtwm, virtual, wget, WinAmp, window manager, X, Xinerama, XMMS, xosview, xterm, yeahconsole
3 comments // write a comment // comments off
Related stories
Comments
Re: How I use my virtual desktops
Posted by: Kelly Clowers Website: mailto:kelly.clowers@gmail.com Time: Mon, 19 Jan 2009 20:10 Interesting stuff, and pretty similar to my setup in some ways. Just FYI, your setup, including non-overlapping sticky windows can be done with Awesome 3.x. Just assign the "sticky" window(s) to all tags (3.1 might have "real" sticky windows). Awesome 3 has a system tray built in, as well as a single line "run"/term interface.
I use xmms2 with the CLI client; the client/server model work really well for music players IMO. And it supports streaming last.fm as well as scrobbling.
Re: How I use my virtual desktops
Posted by: Simon Website: mailto:simon@familiekainz.at Time: Mon, 19 Jan 2009 20:48 I tried several window managers but still stick to fvwm. My setup is 3x3 and I use the number keys to switch desktops. This works pretty nice, because I actually never use the number keypad to enter numbers :-). It also makes switching very fast, because a new desktop is only 1 keystroke away.
If someone is interested in my config, just let me know... Regards, Simon
Your Comment
Spam Protection: To post a comment, you'll have to answer the following question: What is 42 minus 19?
Re: How I use my virtual desktops
This is a really fascinating meme! I haven't used FVWM myself (having used mostly ratpoison on my 9" EEEPC) but I'm interested in switching to a more virtual-desktop oriented system. Would you be willing to post any configuration files that you use?
Reply