Tiling manager with hot corner support for Xfce and other EWMH Compliant Window Managers.
Simply keep your current window manager and install cortile on top of it.
Once enabled, the tiling manager will handle resizing and positioning of existing and new windows.
- Workspace based tiling.
- Keyboard and hot corner events.
- Vertical, horizontal and fullscreen mode.
- Resize of master / slave area.
- Drag and drop window swap.
- Auto detection of panels.
- Multi monitor support.
You need go >= 1.17 to run cortile.
Install go via archive
:
cd /tmp && wget https://dl.google.com/go/go1.17.linux-amd64.tar.gz
sudo tar -xvf go1.17.linux-amd64.tar.gz
sudo mv -fi go /usr/local
echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.profile
echo "export GOPATH=~/.go" >> ~/.profile
source ~/.profile
Install go via apt
:
sudo apt install golang
Install go via pacman
:
sudo pacman -S go
Check your go version:
go version
Install cortile from GitHub main
branch:
go install github.com/leukipp/cortile@main
Clone cortile from GitHub main
branch:
git clone https://github.com/leukipp/cortile.git -b main
cd cortile
Once you have made local changes run:
go build && go install
Start in verbose mode:
~/.go/bin/cortile -v
In case of warnings during startup, check if config.toml is properly configured.
Useful shortcuts for Xfce environments:
- Move window: Alt+Left-Click.
- Resize window: Alt+Right-Click.
- Maximize window: Alt+Double-Click.
The config file is located at ~/.config/cortile/config.toml
.
Corner events | Description |
---|---|
Top-Left | Cycle through layouts |
Top-Right | Make the active window master |
Bottom-Right | Increase number of master windows |
Bottom-Left | Decrease number of master windows |
Key events | Description |
---|---|
Ctrl+Shift+t | Tile current workspace |
Ctrl+Shift+u | Untile current workspace |
Ctrl+Shift+m | Make the active window master |
Ctrl+Shift+n | Goto next window |
Ctrl+Shift+p | Goto previous window |
Ctrl+Shift+s | Cycle through layouts |
Ctrl+Shift+i | Increase number of master windows |
Ctrl+Shift+d | Decrease number of master windows |
Ctrl+] | Increment size of master windows |
Ctrl+[ | Decrement size of master windows |
- Configurable hot corners (current: hardcoded corner events).
- Configurable LTR/RTL support (current: master is on the right side).
- Proper dual monitor support (current: only biggest monitor is tiled).
- Resizable windows (current: only master/slave proportion can be changed).
Based on zentile from Berin Larson.