NovaWM is right now a experimental window manager/compositor which right now does not work properly
  • C 97.8%
  • Makefile 2.2%
Find a file
2026-05-01 14:35:39 +02:00
include add stuff for bars 2026-05-01 14:35:39 +02:00
src add stuff for bars 2026-05-01 14:35:39 +02:00
LICENSE Initial commit 2025-11-17 19:46:04 +01:00
Makefile quick fixed for the makefile so it sees imlib2 2026-04-30 19:10:14 +02:00
novawm.conf.example this should fix polybar issues 2026-05-01 11:33:31 +02:00
README.md add stuff for bars 2026-05-01 14:35:39 +02:00

NovaWM

NovaWM is a dynamic tiling window manager for X11 with a tree-based layout.


Features

  • Tree-based tiling (dwindle-style splits)
  • Per-workspace layouts (no window loss on switch)
  • Floating & tiling modes
  • Configurable gaps (inner & outer)
  • Focus follows mouse (optional)
  • Mouse follows focus (optional)
  • Live config reload
  • Multi-workspace support
  • Fullscreen support
  • Adjustable split ratios (grow/shrink)
  • Flip split direction
  • Built-in wallpaper support

Regarding polybar

NovaWM has a option to reserve space for polybar/others in the config.


Setup

You do not need to manually create a config anymore.

NovaWM will automatically create:

~/.config/novawm/novawm.conf

on first launch.


Default Config

# NovaWM config

master_factor = 0.5
border_width = 2
border_color_active = 0x00ff00
border_color_inactive = 0x222222

gaps_inner = 8
gaps_outer = 12
focus_follows_mouse = true
mouse_follows_focus = false
show_splash = false

background_color = 0x000000
# wallpaper = ~/Pictures/wallpaper.png
wallpaper_mode = fill  # fill/zoomed, fit, stretch, center, tile

# Commands to run once when NovaWM starts
exec-once = picom --experimental-backends
# exec-once = polybar mybar

# Windows NovaWM should not tile/manage
# Useful for panels, bars, docks, desktop widgets, launchers, etc.
ignore_class = Polybar
ignore_class = polybar
ignore_name = polybar
ignore_type = dock
ignore_type = desktop
ignore_type = notification

bind = SUPER, Return, spawn, kitty
bind = SUPER, Q, killactive
bind = SUPER, F, togglefloating
bind = SUPER, F11, fullscreen
bind = SUPER, J, focusnext
bind = SUPER, K, focusprev
bind = SUPER, H, shrink
bind = SUPER, L, grow
bind = SUPER, V, flipsplit
bind = SUPER, G, togglegaps
bind = SUPER, M, centerfloating
bind = SUPER, R, reload
bind = SUPER SHIFT, E, quit

## workspaces
bind = SUPER, 1, workspace, 1
bind = SUPER, 2, workspace, 2
bind = SUPER, 3, workspace, 3
bind = SUPER, 4, workspace, 4
bind = SUPER, 5, workspace, 5
bind = SUPER, 6, workspace, 6
bind = SUPER, 7, workspace, 7
bind = SUPER, 8, workspace, 8
bind = SUPER, 9, workspace, 9
bind = SUPER, 0, workspace, 10

## move focused window to workspace
bind = SUPER SHIFT, 1, movetoworkspace, 1
bind = SUPER SHIFT, 2, movetoworkspace, 2
bind = SUPER SHIFT, 3, movetoworkspace, 3
bind = SUPER SHIFT, 4, movetoworkspace, 4
bind = SUPER SHIFT, 5, movetoworkspace, 5
bind = SUPER SHIFT, 6, movetoworkspace, 6
bind = SUPER SHIFT, 7, movetoworkspace, 7
bind = SUPER SHIFT, 8, movetoworkspace, 8
bind = SUPER SHIFT, 9, movetoworkspace, 9
bind = SUPER SHIFT, 0, movetoworkspace, 10

Roadmap Ideas

  • Wayland backend (future)
  • Rules system (assign apps to workspaces, float rules, etc.)