Keyboard-driven Window Tiling for your existing X11 window manager
In addition to migrating from GTK+ 2.x to GTK 3, QuickTile 0.4.0 makes the following changes:
middlecommand has been renamed to
centerfor consistency with
move-to-center. You will have to update anything which calls
middlevia the command-line or D-Bus APIs, but
quicktile.cfgwill update automatically.
Debian and derivatives (Ubuntu, Mint, etc.):
sudo apt-get install python3 python3-pip python3-setuptools python3-gi python3-xlib python3-dbus gir1.2-glib-2.0 gir1.2-gtk-3.0 gir1.2-wnck-3.0
Fedora and derivatives:
sudo dnf install python3 python3-pip python3-setuptools python3-gobject python3-xlib python3-dbus gtk3 libwnck3
For other distros or for more details, please consult the Dependencies section of the manual.
QuickTile can be run from the source folder without installation via the
For system-wide installation, the recommended option is
pip3, which will
record a log to allow easy uninstallation.
sudo pip3 install https://github.com/ssokolow/quicktile/archive/master.zip
QuickTile's dependence on PyGObject prevents a fully PyPI-based installation option.
Consult the Installation section of the manual for full details and alternative installation options.
First-Run Instructions for Global Hotkeys:
./quicktile.shonce to generate your configuration file at
./quicktile.sh --daemonizeto bind to global hotkeys.
/full/path/to/quicktile.sh --daemonizeto the list of commands your desktop will run on login.
Consult the Configuration section of the manual for further details.
--daemonizeoption will attempt to report any problems with claiming global hotkeys for itself.
quicktile --show-bindings or the Command Reference section of the manual for a list
of default keybindings.
(For example, under default settings, repeatedly pressing
place the active window in the top-left corner of the screen and cycle it
through different width presets.)
This works best when combined with functionality your existing window manager
Alt+Tab) to minimize the need to switch your hand between your
keyboard and your mouse.
See the Usage section of the manual for alternative ways to interact with QuickTile.
If you used the installation instructions listed above, a system-wide installation of QuickTile can be removed with the following commands:
sudo pip3 uninstall quicktile sudo rm /usr/local/bin/quicktile
See the Removal section of the manual for instructions on clearing out files left behind by other installation methods.
I welcome contributions.
The recommended approach to make sure minimal effort is wasted is to open an issue indicating your interest in working on something. That way, I can let you know if there are any non-obvious design concerns that might hold up my accepting your pull requests.
If you're looking for something to do, a ready supply of simple TODOs is split across two different mechanisms:
grep -R TODO *.py quicktile/in the project root.
todo_include_todos = Truein
cd docs; make htmlto generate a version of the manual with a TODO listing on the top-level API documentation page.
See the Developer's Guide for more information.