Pseudo Tiling window manager for Xfce DE
A script to auto-tile up to 4 windows on your current workspace. It Supports 9 workspaces. After the 4th window, it will automatically enter full screen mode.
Features:
Tiling based on window type detection
Auto tiling without key bindings
Move windows to different workspaces
Full screen and tiling mode
Config file
I tried to make it as integrated with XFCE as possible. For example, most shortcuts are configurable directly in the xfce settings manager without the need to edit any script or config file.
If you like XFCE, but you want a more keyboard-driven experience or some basic tiling manager functionality without the hassle to install a different WM, then this script may be a good bet.
wmctrl
devilspie2
pynput (install with pip)
xorg-xev
xorg-xrandr
xorg-xprop
Install dependencies. Put xf-tile.py and xf-tile_config.json (edit with right values) inside your home directory. Put devilspie2 folder inside your .config folder.
Add xf-tile.py to your startup. (easisiest way: go to settings -> session and startup -> application autostart -> add -> Name: xf-tile | Command: python /home/$user/xf-tile.py | Trigger: on login) $replace user with your username
Launch script or reboot.
max_windows_before_fullscreen = how many windows before activating full screen mode. MAX 4
border = single border px of your decoration window
gaps = gaps in px between windows
upper_panel_height
upper panel height in px
lower_panel_height
lower panel height in px
dynamic_resolution = in case you have a 2 in 1 laptop where resolution changes continuously
app_to_exclude = applications to exclude from the tiling manager
app_to_mod = some applications don't detect decorations correctly (for example kitty and vlc), if thats the case put the app name here (to see app names run on a terminal "devilspie2 --debug")
These shortcuts must be edited inside the script (line 156) and removed from XFCE settings to avoids conflicts.
Super+e = Set Mode (Tiled/Fullscreen)
Super+CTRL=e = Tiling Manager On/Off
Super+CTRL+r = Reload Config File
Super+CTRL+l = Move active window right
Super+CTRL+h = Move active window left
Super+CTRL+0-9 = Move active window to x workspace
Other shortcuts can be configured directly with XFCE
Multiscreen setups *not tested
Vertical panels *not supported
Themes with not equal window border size *not supported
Not really a bug, but some apps (like Gimp) set a hardcoded minimum window size, so depending on your monitor resolution and number of windows opened, you could get a window going beyond the limits of your screen. Not much i can do, move it to another workspace to have fullscreen mode. (you can also put the app in the exclude list)
Why only 4 windows?
Because thats where i want my windows to go fullscreen. I dont like to work on micro spaces and on my current monitor(1920x1080) i dont see the reason to go beyond that limit considering i have 8 workspaces running.
That doesn't mean i will not update the script in the future to support more windows.