Linux Desktops

That Desktop Clutter

Linux introduced me to the twin concepts of virtual desktop and multiple desktops. Although it’s technically possible to do these things on Windows, the implementation is opaque, and in practice, I have found the experience horrible.

Virtual desktop depends on the fact that your monitor screen operates as a “window,” allowing you to view the desktop created by your operating system GUI. (In Linux/Unix, this window is sometimes referred to as a viewport.) By convention, the viewport is the same size as the desktop, e.g. my current viewport is 1920×1080, as is my desktop.

But, that is a convention, not necessarily hard wired into your computer. The size of the desktop is constrained by the native ability of the graphics card. The size of the viewport is constrained by the capability of your monitor (its “resolution”).

I could, for example, have a viewport of 1920×1080 and a desktop of 2970×1620. The viewport would reflect my monitor’s resolution, and the desktop the capability of my graphics card. Portions of the desktop would then be invisible, off the edges of the display, and I would move the viewport around by hitting the edges of the display with my mouse pointer. Virtual desktops are quite useful for working simultaneously in several applications, and switching rapidly from one to another.  The application windows don’t bury each other.

Virtual desktop 2970x1620. This desktop is 1.5 times the size of the viewport.
Virtual desktop 2970×1620. This desktop is 1.5 times the size of the viewport.

Having multiple desktops is the bomb. I currently use 4. Now, I have multiple applications running simultaneously, and segregated from each other. I often keep this browser running on a desktop by itself, while doing real work on the others. I may also keep my email open on its own desktop, or a programming IDE/editor. In any case, distractions are reduced by keeping irrelevant activities off screen, and by a simple keystroke (or mouse movement) I can return to some other activity. After 20 years, I’m so used to this environment, that I’m constantly trying to CTRL-ALT-<arrow> to other desktops on my Windows box, sometimes with unfortunate results, depending on what application I’m using at the time.

Four desktops - four work areas
Four desktops – four work areas

Follow That Mouse

Everybody who has worked in Windows is aware of a basic annoyance.  When you move from one application window to another by clicking into the target window, you reset the position of the application’s cursor.  Whether you are editing a document, or creating a presentation slide, you now have to remember — hopefully, you do remember — to move the cursor back to the proper insertion point, before continuing.  Of course, I often don’t remember, until I’ve whacked my document with an enormous paste operation.

Focus follows mouse is a standard behavioural feature on Linux desktops that eliminates this annoyance.  Again, you can activate it on Windows desktops, but its implementation is sub-optimal and I have found it to be not useful. Focus follows mouse means, simply, that when you move the mouse pointer out of an application window, that window loses focus (becomes inactive) and when you move the mouse pointer into an application window, that window gains focus (becomes active).  Not having to activate a window by clicking means that you do not, cannot, accidentally move the window cursor when you activate the window. (It also means that you have to be conscious of where your mouse pointer is.  It’s possible to start working in the wrong application, if you fail to notice which one is active.)

Because, Linux

It just makes most of my work so much easier.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s