Everything in it’s Right Place 5: Toggles or Now you see it, now you don’t

This is the fifth and final 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, third, and fourth post in the series.

So far we’ve covered static workspaces, windows spawning on designated workspaces and starting and moving between the windows on your workspaces. As I said in the introduction I think there are certain applications that do not require your undivided attention. These applications we simply want to appear briefly on top of other windows – what is the name of that song playing, is so-and-so online yet, etc. – and then dispense with. We wish to assign a single keyboard shortcut for toggling this window on and off so as to make this procedure as quick and easy as possible.

(more…)

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.

(more…)

Everything in it’s Right Place 3: Setting dedicated workspaces with devil’s pie

This is the third 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 and the second post in the series.

Dedicated workspaces is a term – possibly – of my own invention. Possibly not. The basic idea was outlined in the first post: “Certain windows belong on certain workspaces”. With multiple workspaces you easily get windows randomly strewn across the workspaces. A browser there, a file manager here, a text editor over there. Because I am pretty goddamn anal this kind of thing bugs me. For my peace of mind as well as for windows being easy to find I need them to be in their proper place. So I devise some sort of order that groups the various types of windows into themes and hierarchies. I tend to group windows into categories like browsers, editors, viewers etc. but the exact nature of my chosen order is not the subject here. The point is that each window has one and just one workspace where it should spawn and where it should stay. It may have that workspace to itself (more easily accomplished with a grid of workspaces) or it may share it with other, similar windows. The technique is the same and utilises just one tool, devil’s pie.

(more…)

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.

(more…)

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.

(more…)