A simple application to run GLSL shader programs as the root window on systems using X.
The window manager used in these screenshots is DWM and I am using Luke Smith's dwmblocks build to set the status with some custom scripts.
Using the gradient.frag
shader program
- Clone the repo
git clone https://github.com/lord-123/xshader.git
cd
into the directory.- Configure the program by modifying
config.h
if you so wish. - Run
sudo make clean install
. - Add
xshader &
to your.xinitrc
. - Logout and log back in to update the background.
SHADER_PATH
is the location of the fragment shader program (note: by default the example/shaders
directory is copied to~/.local/bin/shaders
). It must be an absolute directory (no~/
). This may be changed in the future.DELAY
is how often the program will be delayed between redrawing the screen. Having this low can be a serious power draw on laptops so watch out.- The number of shader uniforms used MUST be set correctly in
UNIFORM_COUNT
. This may not be necessary in a future update. - The custom uniforms are defined by their name and a custom updater function.
- Custom handwritten shaders
- Completely customizable
- Written in pure C for maximum efficiency and minimal power consumption
- Supports custom uniforms which update each frame (animated wallpapers)
- One time shaders at the start of the program
- Seperate shader update rates
I would be very grateful for anybody wanting to contribute anything. Issues and pull requests would be excellent, however, if you would like a substantial feature, I might suggest creating a different fork as I am trying to keep this as minimal as possible. Custom shaders from people would be a great addition to this project.