Home

Awesome

Tidal Window Manager

Simple and sane window tiling window manager plugin for gnome shell, with gaps!

Features

Tidal is intended to be somewhat light on features and only handle the automatic placement of windows within the desktop. You may move windows to other desktops or monitors using the mouse (drag and drop) or gnome's built in hotkeys.

Currently only "spiral" tiling is supported, but i3/sway and binary splitting are options in development.

Spiral

Spiral Example

Installing

Clone this repo:

git clone --depth=1 \
    https://github.com/rustysec/tidalwm \
    ~/.local/share/gnome-shell/extensions/tidalwm@rustysec.github.io

Logout from current session and login again to start a new session.

Activate with:

gnome-shell-extension-prefs

Some notes about compatibility:

Current Features

Configuration

TidalWM is not as fully featured as something like i3, sway, or bspwm, but there are some quality of life settings to make it more pleasant to use.

Gaps

SettingDescription
Window GapsThe space between windows and the edge of the screen (pixels)
Smart GapsOnly apply gaps when more than one window is on the monitor

Windows

SettingDescription
Inactive Window OpacitySets opacity of any non-focused window, percentage 0-100
Highlight Active WindowDraw a colored border around the focused window
Active Border TopDraw the border along the top of the window
Active Border RightDraw the border along the right side of the window
Active Border BottomDraw the border along the bottom of the window
Active Border LeftDraw the border along the left of the window
Border WidthWidth of the border to draw around window
Border ColorCan be any valid CSS color, ex: #00ff00, rgba(100, 100, 100, 0.5)
Always FloatList of wm classes to exempt from tiling, ex: gnome-calculator,gnome-tweaks

Tiling

SettingDescription
SpiralUse spiral tiling
BinaryUse binary tiling (not implemented)
i3/swayUse i3/sway tiling (not implemented)
Initial Split DirectionWhich way to perform the first split

Hotkeys

SettingDescription
Float WindowFloats the focused window, ex: <Ctrl><Alt>f
Rotate WindowsAutomatically rotate windows through the tiling order, ex: <Ctrl><Alt>r
Increase Horizontal SplitIncrease the width of the current window, ex: <Shift><Super>Right
Decrease Horizontal SplitDecrease the width of the current window, ex: <Shift><Super>Left
Increase Vertical SplitIncrease the height of the current window, ex: <Shift><Super>Up
Decrease Vertical SplitDecrease the height of the current window, ex: <Shift><Super><Alt>Down
Select Window To AboveFocuses the window directly above the current, ex: <Super>k,<Super>Up
Select Window To BelowFocuses the window directly below the current, ex: <Super>j,<Super>Down
Select Window To LeftFocuses the window directly to the left of the current window, ex: <Super>h,<Super>Left
Select Window To RightFocuses the window directly to the right of the current, ex: <Super>l,<Super>Right

FAQ

Why is this a thing?

This question can probably be broken down into two subquestions:

Why not just use a tiling wm?

Well, I do. I love sway. I've used it as my daily driver for a couple of years and it's great. I'm 100% on board with wayland and use a mix of HiDPI and FHD monitors for my setup and Xorg just doesn't work well for me. However, there's some software (i'm looking at you zoom) that doesn't work (well) on wayland outside of gnome. Switching back and forth between two environments is a pain, so this became a fun little side project to solve my needs.

Why not use Pop-Shell/PaperWM/Gnomesome/Tiling-Gnome/Gtile/etc?

In short: I have used those, and I just wanted something slightly different. All of these projects are great and have pretty active developers and user bases. But they either lack features (like gaps or auto tiling) that I want, or they add too much to the gnome workflow that I don't need or care for.

What Tidal is not

Tidal is not a wholesale abandonment of the gnome ethos. The only behavior this extension overrides is the window placement. All workspace functionality is still the same.

This began strictly as a productivity hack for myself. I don't play games, and primarily live in the terminal and a browser. It is possible that Tidal is currently not very compatible with other work flows, so be cautioned! Open an issue and I'll try to resolve it if you find some rough edges.

How Tidal is tested

A lot of other gnome extensions tested have worked great in single monitor situations but fallen over pretty hard when using multi-monitor configurations. Tidal is tested using a FHD laptop panel along with external FHD and 4k monitors.

Where did this awesome name come from?

Honestly, I'm just terrible at naming things and for some reason this felt like a good fit.