Skip to content

saber-88/wallrift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wallrift

A Wayland wallpaper engine with smooth parallax / panning effects.


🧭 Preview

output.mp4

✨ Features

  • 🖼️ Dynamic wallpaper rendering using OpenGL (GLES2)
  • 🎯 Smooth cursor-based parallax effect
  • ⚡ Real-time control via CLI

📦 Architecture

Wallrift consists of two components:

1. wallrift-daemon

  • Runs in background
  • Handles rendering (Wayland + EGL + OpenGL)
  • Listens for commands via Unix socket

2. wallrift (CLI)

  • Sends commands to daemon
  • Used to change wallpaper / adjust settings

Installation

yay -S wallrift-git

🚀 Usage

Start daemon

wallrift-daemon

Set wallpaper

wallrift img /path/to/image.jpg

You can also adjust parallax speed

wallrift img ~/wallpapers/bg.jpg speed 0.03

⚙️ Commands

Command Description
img <path> Set wallpaper image
speed <value> Set parallax speed (0.0 – 1.0)

🧠 How It Works

  • Image is loaded using stb_image
  • Uploaded as GPU texture
  • Fragment shader applies parallax offset
  • Cursor movement is interpolated for smooth motion

🎮 Parallax Behavior

  • Cursor position controls horizontal movement
  • Smooth interpolation avoids abrupt jumps
  • Works best with images slightly larger than screen resolution

🛠️ Build

Dependencies

  • Wayland
  • EGL
  • OpenGL ES 2.0
  • stb_image

Compile

make

📁 Socket

Wallrift communicates via a Unix domain socket:

/tmp/wallrift.sock

🧪 Tips

  • Use wallpapers slightly larger than your screen for best parallax effect

📌 Roadmap

  • Memory optimization
  • Transitions
  • Multi-monitor support
  • Animated wallpapers
  • Config file support

👨‍💻 Author

About

A smooth parallax supported Wallpaper Engine for wayland.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages