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 cdinto the directory.- Configure the program by modifying
config.hif you so wish. - Run
sudo make clean install. - Add
xshader &to your.xinitrc. - Logout and log back in to update the background.
SHADER_PATHis the location of the fragment shader program (note: by default the example/shadersdirectory is copied to~/.local/bin/shaders). It must be an absolute directory (no~/). This may be changed in the future.DELAYis 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.