~kennylevinsen/clay

shell/layout: Add grid layout
shell: Realtime scheduling
outputs: Slight restructure to avoid damage hack

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~kennylevinsen/clay
read/write
git@git.sr.ht:~kennylevinsen/clay

You can also use your local clone with git send-email.

#clay

clay is a wayland server library and compositor that does whatever I want my wayland server to do. Its features follows my mood, and has been rewritten more times than I can count.

#Components

  • src/clay - a wayland server library, using wlroots
  • src/kiosk - a simple kiosk server
  • src/shell - the full clay server

#Building and running

meson setup build
ninja -C build
./build/clay -c config.toml

#Shell features

#Plan9-inspired containers

clay starts with an empty container on each output. More empty containers can be created with mod+shift+enter, and containers can be destroyed with mod+shift+backspace.

Windows open in the currently focused container, and mod+tab/mod+shift+tab or mod+mouse scroll will go through the available windows for that container. Any window that is not currently shown in another container is available.

This has the effect that e.g. a launcher will open up in the focused container, and whatever it launched naturally replaces it as the container remains focused. A history stack and some special logic around toplevel parents ensure logical fallback when a window disappears.