Azulejo is a port (an attempt to) of winsplit revolution's functionality to Unix desktop environments. Simply put, it resizes and moves windows using keyboard shortcuts.
It has been tested on gnome2, xfce and openbox, but it should work on many others
Traditional floating window managers are very intuitive and extemely popular. Most of the people don't even know other kinds of window managers exist, or what a window manager is. Being able to move and resize windows with a mouse is a killer feature, but for those that spend the whole day in front of a screen switching between windows and resize them every now and then, floating window managers end up standing more on the way than being helpfull. Moving the hands back and forward between the keyboard and the mouse consumes too much time and is rather ineficient. Also, the mouse is not really designed to be a precision device, hitting the right pixel can be an headache. To mitigate these problems, some users switch to tilling window managers, which take a radically different approach and tend to be notoriously more productive. But the switch is often painful, many aquired workflows are abruptly broken and a fairly big amount of keyboard shortcuts need to be memorized just to achieve basic usage. This is where azulejo comes in, it adds some tilling features but leaves your window manager untouched, you can still move and resize your windows with the mouse like you allways did.
There are some python library depedencies needed:
yum install gnome-python2-libwnck python-keybinder
apt-get install python-wnck python-keybinder
Clone the repository and run
Azulejo doesn't have a GUI nor a CLI, simply use the keyboard shortcuts whenever you need :)
The following is the basic default keymap - but all avaliable keymaps are printed on program start:
Ctrl+Super+2 Place two windows side by side Ctrl+Super+3 Place a window on the left half of the screen and two on the right half Ctrl+Super+4 Arrange four windows two by two Ctrl+Super+R Rotate windows' positions i.e. cycle windows Alt+Super+KP4 Resize and move current window to the left Alt+Super+KP6 Resize and move current window to the right Alt+Super+KP8 Resize and move current window to the top Alt+Super+KP2 Resize and move current window to the bottom Alt+Super+KP7 Resize and move current window to left upper corner Alt+Super+KP9 Resize and move current window to right upper corner Alt+Super+KP1 Resize and move current window to left lower corner Alt+Super+KP3 Resize and move current window to right lower corner Alt+Super+KP5 Maximise window Ctrl+Super+q Move window to monitor on left Ctrl+Super+w Move window to monitor on right Ctrl+Super+a Move window to monitor on left and maximise Ctrl+Super+s Move window to monitor on right and maximise
The Azulejo configuration is stored at
~/.azulejo.json and an initial version (containing the above shortcuts) is in the repo at https://github.com/johnteslade/azulejo/blob/master/azulejo/initial_config.json.
Original author: Pedro (http://lamehacks.net)
Changes by John Slade (http://jtes.net):
- Significant refactor of code
- Addition of test cases
- Support for multi-monitor setups