Aug 6 2011

A Window Manager Idea(l)

awesome lua

I’ve been using awesome for a while now as my primary window manager. I prefer tiled window managers because they let me think about one less thing (where to place windows and dragging them around) and let me get my work done better. However, I think it can go one step further: I want it to automatically manage my workspaces in addition to the layout of my windows.

My idea for a Lua script (awesome uses Lua internally) would be something that optimizes over two parameters: screen real estate and workspace switching. I want it to automatically figure out “contexts” and only put relevant windows on screen when I switch into those contexts. For example, I often have a ‘coding’ workspace set up, a ‘research’ workspace, an ‘IM’ workspace and a ‘music’ workspace. I would like awesome to, as I spawn and close windows, figure these schemes out and dynamically show and hide windows. For example, I may be coding and need to reference a webpage for a design or syntax example. This script should detect that I keep shifting over to look at the browser and stick it with my code. Later, when I’m simply back in my text editor, the browser should fall back to a secondary workspace to let met focus on just the code.

By optimizing over abstract qualities (“focus” and “minimal context switches”) you open the door to a lot of clever algorithms to actually help HCI instead of hinder it (I’m looking at you, Clippy).



show/hide comment box