SAMU 🪷
SAMU is an opinionated Window Manager that manages the windows simple and without any BS. It's meant to be very Zen like, the user can focus on just what ever he wants to do on his PC an it will just work. It's my own custom & cute linux desktop (˶˃⤙˂˶).
date +"%Y is the year of the `uname -o` desktop"
SAMU is a CWM fork with opinionated changes. The changes are big enough to justify a rename as it's not to be confused with the regular CWM anymore.
Roadmap 👀
There will not be any big changes anymore as I'm focused on a new Wayland window manager.
There are also still some applications that have issues on Wayland, especially on NVIDIA cards which makes this the 'final X11 WM until Wayland is there' for me.
There are still many CWM keywords in the code that could be cleaned up but I don't care. The WM is completely tested, stable and done until I will switch to Wayland.
Features 💫
Some of the notable changes to CWM:
- no coordinates when moving windows (removed with other useless stuff)
- fix transparency on borders when using picom
- slight changes to mouse behavior when opening new windows
- added autostart
- added new tiling options (top left, bottom right, etc..., center) (the gif shows some tiling, it only lags because of the compression)
- added background color (only works without compositor)
- colored window borders on sticky windows
Notable features from CWM:
- good EWMH support so that all applications will actually work well
- very optimized performance when dragging around windows and resizing them
Supported EWMH hints 🤖
"_NET_SUPPORTED",
"_NET_SUPPORTING_WM_CHECK",
"_NET_ACTIVE_WINDOW",
"_NET_CLIENT_LIST",
"_NET_CLIENT_LIST_STACKING",
"_NET_NUMBER_OF_DESKTOPS",
"_NET_CURRENT_DESKTOP",
"_NET_DESKTOP_VIEWPORT",
"_NET_DESKTOP_GEOMETRY",
"_NET_VIRTUAL_ROOTS",
"_NET_SHOWING_DESKTOP",
"_NET_DESKTOP_NAMES",
"_NET_WORKAREA",
"_NET_WM_NAME",
"_NET_WM_DESKTOP",
"_NET_CLOSE_WINDOW",
"_NET_WM_STATE",
"_NET_WM_STATE_STICKY",
"_NET_WM_STATE_MAXIMIZED_VERT",
"_NET_WM_STATE_MAXIMIZED_HORZ",
"_NET_WM_STATE_HIDDEN",
"_NET_WM_STATE_FULLSCREEN",
"_NET_WM_STATE_DEMANDS_ATTENTION",
"_NET_WM_STATE_SKIP_PAGER",
"_NET_WM_STATE_SKIP_TASKBAR",
Autostart 🚗💨
SAMU will attempt to run a autostart.sh
file located by default in
XDG_CONFIG_HOME/samu/autostart.sh
. This file does not need to be there,
but you can add other applications and commands there to run on launch.
Config ✍️
Edit ~/.samurc
. Infos with man samu
.
Check out conf.c
for pre configured configs, the default terminal is kitty
.
Installation 👷
Manually 🏗️
- Run
make
to buildsamu
. - Copy it to your bin path or run
make install
. - Launch
samu-desktop
withX
The executable of samu
is called samu-desktop
to avoid any complications
with other software that might be called samu
as well.
Thanks
Inspiration taken from: