Everything in it’s Right Place 4: Launch and switch

This is the fourth post in a series on achieving an orderly desktop environment in GNOME 3, using no add-ons, only old school hacks. See also the first, second and third post in the series.

Following the first two set of instructions we’ve got static workspaces and windows spawn where they should. That in itself is not terribly convenient as I now have to run up and down in the GNOME workspace stack to find the window I’m looking for – even if I just launched it – or rely on the old alt-tab trot that we know and hate from Windows. To torture this metaphor, we’re going to skip the stairs and install an express elevator thus also justifying the arbitrary choice of the post’s header image.

This is where the final piece of the puzzle comes in: A better way to start applications and switch between them. These two kinds of actions tend to be treated separately. You start up an application by clicking an icon or typing a command and then you find it again later on by different means. Both actions stem from the ‘I need application X now’ impulse. So you should channel that impulse the same way. There is an established way to integrate them, though. Windows 7+, GNOME Shell, and Mac OS X (I believe?) all tie an icon to a permanent process bar and have this work as both process launch and recall. I don’t think this is a good solution for a number of reasons: a) it’s not convenient (read: keyboard-centric) and b) I dislike bars (the taking-up-screen-space kind, not the other one one). The simple solution: Associate one application with one keyboard shortcut and leave it to the computer to figure out whether this means starting the application or retrieving a running instance. Either way it will obviously have to be on it’s proper workspace, see post the second, so we want to come to (move the focus to) the workspace of the window, rather than janking it out of it’s place and having it come to us.

To this end we introduce two tools that will help us achieve this: wmctrl for manipulating windows and xbindkeys for the keyboard shortcut bit. Also bits of Bash for glue. All of these are omnipresent on linux distibutions and should be installable as packages named just as written above. One word of warning, though. This entire series is composed of hacks but the previous ones are so established and solid that it hardly counts. This is where it gets a bit hairy.


Everything in it’s Right Place 2: Setting static workspaces

This is the second post in a series on achieving an orderly desktop environment in GNOME 3, using no add-ons, only old school hacks. See also the first post in the series.

In the previous post I laid out the requirements for my ideal desktop. In the following I’m going to explain how I go about achieving this within the confines of Gnome Shell. Which immediately begs the question: Why Gnome Shell? There is a ton of alternative desktop environments and window managers out there, many of which may be more amenable to what I intend to do. I will not go into the whole desktop choice debate here. Suffice to say that I still believe that Gnome Shell can be made into a decent desktop environment with the hacks detailed in these posts.

Here’s the plan: First we’ll set static workspaces with Gnome tweak tool (alternatively dconf), then we’ll make various windows adhere to a specific workspace using devilspie and then we’ll set up a way to switch between applications using wmctrl and xbindkeys. This post will focus on getting static workspaces to work.


Everything In It’s Right Place 1: My idea of a proper desktop

I’m working on polishing a collection of minor desktop hacks that will transform my Gnome Shell experience into something more palatable than vanilla. In preparation for an article on how best to achieve these goals I wrote down the following as a sort of vision and mission statement for the project. The how-tos will appear over the following weeks months under the everything in it’s right place tag.

My desktop philosophy is that everything has it’s place. Yes, it’s very anal but I’ll take that as a compliment. Browsers here, Terminals there. The desktop metaphor is apt: I have books on my desk. They belong in the upper right corner. I have a keyboard. It’s place is in the center in front of the display. Etc. That is where I expect them to be and that is where my eye automatically goes when I need them. Certain kinds of things, like pencils, should be pulled in to wherever I need them and then ideally disappear into another dimension until I need them again. Of course real life pencils don’t do that. But surely that would be a more ideal office than one in which pencils are lying about all over the place simply because you never know when or where you might need one.

So much for metaphor. This is how it translates into virtual space.


Gnome Shell: Three years on

The big battle of GNOME Shell has beeen pretty much fought out by now. I think the general consensus is that GNOME Shell lost but that there’s no clear winner, since Canonical’s Unity hasn’t won anybody over but themselves (even if that does represent a sizeable chunk of linux desktop users).

So when this piece showed up in my feed reader, I could empathize. I also liked the idea of Gnome Shell, I also liked the look of Gnome Shell. But since the reality of Gnome Shell was above all buggy, uncustomizable and marked by the developers’ we-know-best attitude, I also left in search of pastures new. And also came up short.