Skip to content

rbn42/freetile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is a tiling script for X.

Features

  • Use Xlib.
  • Use a tree as window layout structure, like i3-wm.
  • The tree is not required to synchronize with the X server in a background session. It is generated directly from the windows’ geometry every time you run the script.

Previews

See screencasts in different Desktop Environments.

Installing

Please note pip install direct from source may result bad performance (more detail).

It is recommended to build a wheel package and install from the wheel package.

python setup.py bdist_wheel
pip install dist/freetile-*.whl --user

PKGBUILD is provided for Arch Linux users.

Configuration

An example of ~/.config/freetilerc.

Getting Started

Key Bindings

These are i3-wm like key bindings. Configuration files for KDE and xbindkeys are provided.

KeysCommand
<Super> <Space>freetile tile
<Super> hfreetile focus left
<Super> jfreetile focus down
<Super> kfreetile focus up
<Super> lfreetile focus right
<Super> <Shift> hfreetile swap left
<Super> <Shift> jfreetile swap down
<Super> <Shift> kfreetile swap up
<Super> <Shift> lfreetile swap right
<Super> <Ctrl> hfreetile move left
<Super> <Ctrl> jfreetile move down
<Super> <Ctrl> kfreetile move up
<Super> <Ctrl> lfreetile move right
<Super> <Shift> <Ctrl> hfreetile shrink width
<Super> <Shift> <Ctrl> jfreetile grow height
<Super> <Shift> <Ctrl> kfreetile shrink height
<Super> <Shift> <Ctrl> lfreetile grow width

Free Mode and Strict Mode

freetile can be run in a free mode or a strict mode. In the free mode, you must run

$ freetile tile

every time when you want to tile windows. Otherwise nothing unexpected would happen to your windows layout. In the strict mode, you can open a daemon by

$ freetile autotile

The daemon will trigger tiling windows every time it detects a window created or destroyed. And it will quit automatically when no more window exists or it failed to tile the windows for any reason.

Troubleshooting

freetile cannot focus window in KDE5.

KDE5 does not allow focus stealing by default. To turn off “Focus stealing prevention level”, please go to System-Settings->Window behavior.

Credits

This script is inspired by i3-wm and stiler.