A script that generates terminal colorschemes from images and applies them on the fly.
wal is a Bash script that generates terminal colorschemes from images and applies them dynamically to your desktop environment. It solves the problem of manually theming terminals and other applications by automating color extraction and application, creating a unified look based on your wallpaper.
Linux users and developers who customize their desktop environments, particularly those using terminal emulators like URxvt, Termite, or xfce4-terminal and window managers like i3.
Developers choose wal for its simplicity, automation, and deep integration with the Linux desktop ecosystem, allowing real-time theming across terminals and supported applications without manual configuration.
🎨 Generate and change colorschemes on the fly. Deprecated, use pywal instead. -->
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automatically generates colorschemes from any image using ImageMagick, eliminating manual palette creation for wallpapers.
Applies colorschemes to all open terminals in real-time via escape sequences, providing immediate visual feedback without restarting.
Exports colors to Xresources, shell variables, and formats like SCSS, enabling theming for i3, rofi, vim, and Firefox with minimal setup.
Stores generated schemes for instant cycling through wallpapers, speeding up theme switching without reprocessing images.
Development focus has shifted to pywal, making wal less updated with potential bugs and missing features like tests or new export formats.
Only works with terminals supporting specific escape sequences, excluding many modern or proprietary emulators without manual fixes like the -t flag for VTE issues.
Requires editing shell startup files (.bashrc) and .xinitrc for persistence, adding overhead and potential for errors in configuration.
Admits it's not perfect and may fail with some images, relying on ImageMagick which can produce suboptimal palettes for low-contrast or complex visuals.