A beautiful, dynamic Sway window manager configuration integrating Pywal, Waybar, and Rofi with dynamic textures (CRT scanlines, glass blur) depending on your wallpaper selection in real-time!
Special Thanks: I was heavily inspired by the Ruixi-rebirth/sway-dotfiles repository. Thank you for the inspiration!
-
Backup your existing configurations (optional, the script will do it too):
mv ~/.config/sway ~/.config/sway_bak mv ~/.config/waybar ~/.config/waybar_bak mv ~/.config/rofi ~/.config/rofi_bak
-
Clone and Run Installer:
git clone https://github.com/Mustafaqe/dinrice.git ~/dinrice cd ~/dinrice chmod +x install.sh ./install.sh
-
Reload Sway: Press
Mod + Shift + c. Waybar and Rofi will automatically boot up with the new configurations.
Adding your own wallpaper is incredibly simple. This rice contains a custom dynamic engine built into set_wallpaper.sh that automatically themes Waybar and Rofi based on keywords in your wallpaper filename!
-
Add your wallpapers: Place any new
.png,.jpg, or.webpinside the wallpaper directory:~/.config/sway/wallpaper/ -
Trigger Dynamic Textures via Filename:
- CRT Scanline Mode: If you rename your wallpaper file to include the word
crtanywhere in the filename (e.g.,synth_crt.png), Waybar and Rofi will automatically drop opacity and apply a retro CSS CRT scanline effect! - Glass / Blur Mode: If you rename your wallpaper to include the words
glassorblur(e.g.,mountains_blur.jpg), the components will become highly translucent, mimicking a frosted glass blur. - Default UI: If neither word is found, menus will fall back to beautiful, opaque colors matched perfectly to the image using Pywal.
- CRT Scanline Mode: If you rename your wallpaper file to include the word
-
Change the Wallpaper: Press your bound shortcut (likely
Alt + Spaceor through your Rofi menu) to open the Wallpaper selector and pick your new image. All system colors and menu textures will shift simultaneously!
Make sure you have the following packages installed to get the best out of this rice:
- Core WM:
sway,swaybg,waybar,rofi(wayland fork),kitty - Dynamic Theming:
pywal - Notifications & UI:
mako,nm-applet,fcitx5 - Screenshots:
grim,slurp,wl-clipboard,imagemagick(for the script watermark) - Media & Backlight:
light,playerctl,pulseaudio(orpipewire-pulseforpactl) - Idle Control:
swayidle,swaylock
Here are the main keybindings configured in config. (Note: Mod refers to the Alt key.)
Mod + [1-0]: Switch to workspaces 1 through 10Mod + Arrow Keys(orh/j/k/l): Move focus between windowsMod + Shift + [1-0]: Move focused window to workspaceMod + Shift + Arrow Keys: Move focused windowMod + , / .: Prev/Next WorkspaceMod + /: Back and Forth Workspace
Mod + Return: Open Terminal (kitty)Mod + Shift + Return: Floating TerminalSuper(Windows Key): Open Application Launcher (rofi)Mod + Super: Open Power Menu (rofi)Mod + Space: Open Wallpaper SelectorMod + Shift + Space: Toggle Floating ModeMod + Shift + c: Reload Sway settingsMod + Shift + e: Exit Sway SessionMod + Shift + p: Kill Focused WindowMod + o: Toggle Waybar visibilityMod + f: Toggle Fullscreen
Mod + s / w / e: Change layout to Stacking, Tabbed, or SplitMod + g / Shift + g: Remove / Reset outer and inner gapsMod + - / =: Move to scratchpad / Show scratchpadMod + r: Enter Resize Mode (then use arrows/hjkl, Return/Esc to exit)
PrintScreen: Fullscreen ScreenshotShift + PrintScreen: Area ScreenshotMod + [: Area Screenshot (save only)Mod + ]: Area Screenshot (copy to clipboard)Mod + a: Area Screenshot (with styled watermark via imagemagick script)
Mod + b: FirefoxMod + m: Netease Cloud MusicMod + t: Telegram DesktopMod + q: IcalinguaVolume / Brightness Keys: Media, internal volume (pactl), and brightness (light) adjustments



