This build of xcb-wswm is not fully feature ready.
- Low Memory Usage (~4-7 MiB) (When compiled in Release Mode)
- Low CPU usage (~.1-2%) idle
- Low CPU usage when doing expensive stuff (mapping windows) (~4-10%)
- Code base is, ok
- Doesnt use C++
- XCB
- dmenu
- st
- xorg
- xorg-xinit
- libxcb
- xcb-proto
- xcb-util
- xcb-util-errors
- xcb-util-cursor
- xcb-util-image
- xcb-util-keysyms
- xcb-util-wm
Pacman && yay
sudo pacman -S --needed dmenu xorg xorg-xinit libxcb xcb-util xcb-util-errors xcb-util-cursor xcb-util-image xcb-util-keysyms xcb-util-wm && yay -S st
To use xcb-wswm you must first compile it.
Afterwards you must put exec xcb-wswm
in your ~/.xinitrc
file. See Below.
- Clone this repository.
git clone https://github.com/DerjenigeUberMensch/xcb-wswm.git
- Change Directory to xcb-wswm.
cd xcb-wswm
- Checkout the Experimental branch. (Legacy support)
git checkout origin/Experimental
- Configure it See Configuration (Optional)
- Compile using Make
make
- Install on system, install location '/usr/local/bin'
sudo make install
- Done.
- Change Directory to xcb-wswm.
cd xcb-wswm
- Uninstall using Make
sudo make uninstall
- Compile, See Above.
- Choose option(s) below.
- Locate binary
- if installed should be "xcb-wswm"
- else should be located under "bin/release/" folder as "xcb-wswm"
- Put "exec YOUR_BINARY_LOCATION" in ~/.xinitrc or similiar XServer configuration.
- if it doesnt work make sure that no window-manager/desktop manager is run before.
- Start a Xephyr server.
- Example:
Xephyr :1 -ac c 25 +xinerama -resizeable -screen 680x480 &
- Example:
- After locating the binary location make sure you are in the correct display server.
- Example:
export DISPLAY=:1
- Example:
- After setting the correct external xserver display variable simply run the binary file.
- Example:
./bin/release/xcb-wswm
orxcb-wswm
- Example:
Currently Configuration is not supported in this version of xcb-wswm
This is an experimental build and may contain bugs, Screen tearing can be mitigated by using a compositor or by enabling it in your driver setting
If you have any major issues with the current commit you can revert to a previous commit for a generally stabler version. Or you can open an issue about it.
- Panel that user can just click buttons or type values to configure windows (kinda like a dev panel).
- Fully Extend XCB-TRL to use other features.
- More modularity
- Less Complex Code Base
- Better Documentatin (Likely when I finish implementing the usability part of the Window manager (AKA when I switch over to this.))