- vertical split
- window borders
- simple float mode
- workspaces
- autostart
- simple config
to compile casperwm, you will ned libx11
, libinih
, gcc
and make
, which you can
install with your package manager
then you can clone the repository and build it with make
:
git clone https://github.com/ngn13/casperwm.git
cd casperwm && make
sudo make install
make install_cfg
after that you can run casperwm using your favorite display manager or with the .xinitrc
script
casperwm runs a startup script on start, this script can be found at ~/.config/casperwm/start
you can edit this script or you can replace it with any executable script/binary
configuration file uses the .INI
format and it can be found at ~/.config/casperwm/config
after the installation (it contains comments so you can understand most of the options by reading them)
config contains two main sections:
[general]
: this section contains all general wm options[bind...]
: any section that starts withbind
contains key bindings, you can name the section whatever you want, as long as section name starts withbind
, casperwm will load that section as key binding
key bindings contain 4 different options:
key
: actual key to bindmod
: mod needed by this binding, dont addmod
to your binding if you just want to use the master mod defined in[general]
sectionaction
: action that this binding triggersargument
: argument for the action
all the actions are listed below:
launch
: launches the program specified with theargument
close
: closes the active windowquit
: quits the window managerfocus
: changes focus to the next windowworkspace
: changes workspace to the workspace specified with theargument
send
: sends window to the workspace specified with theargument
float
: takes active window to the float moderesize
: resizes active float window according to theargument
, avaliable arguments are:shrink_left
,shrink_down
,shrink
,grow_left
,grow_down
andgrow
move
: moves the active float window according to theargument
, avaliable arguments are:left
,right
,up
anddown
if you are having problems with the wm, enable debug mode in the config and redirect output to a file, obtain the related output from this file and create an issue explaining your problem
if you want to contribute by sending a pull request, feel free to do so, im open to all ideas!