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.
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.
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.