Reference for all scripts in bitzdots.
17 scripts powering the waybar custom modules.
| Script | Purpose | Used By |
|---|---|---|
brightness.sh |
Outputs current brightness % with 4-tier icon as JSON | custom/brightness |
launch.sh |
Ensures waybar + swaync are running | Autostart |
media.sh |
playerctl metadata follower (artist/title/album/status) | custom/media |
notification.sh |
Bell icon with DnD/notification count | custom/notification |
power-profile.sh |
Queries UPower via D-Bus for active profile icon | custom/power-profiles |
power-profile-switch.sh |
Cycles to next available power profile via D-Bus | Click handler |
system-power.sh |
Rofi power menu (Lock/Logout/Sleep/Reboot/Shutdown) | custom/power |
tui-audio.sh |
Opens pulsemixer in floating kitty | Audio click (waybar) |
tui-bluetooth.sh |
Opens bluetui in floating kitty | Bluetooth click (waybar) |
tui-wifi.sh |
Waits for NetworkManager, then opens impala in floating kitty | Network click (waybar) |
tui-cpu.sh |
Opens btop in floating kitty | CPU click (waybar) |
weather.sh |
Fetches weather from wttr.in (30-min cache) | Optional module |
workspaces.sh |
Batch workspace display (5 at a time) | custom/workspaces |
workspace-click.sh |
Determines clicked workspace from pixel offset | Workspace click |
workspace-next.sh |
Focus next workspace | Scroll up |
workspace-prev.sh |
Focus previous workspace | Scroll down |
10 core scripts for theming and recording.
Applies the generated theme to all running components.
~/.config/wallust/reload-theme.shWhat it does:
- Reloads swaync CSS (
swaync-client --reload-css) - Updates Hyprland border colors from
colors.lua - Fixes qt6ct config path if needed
- Restarts waybar for full refresh
Rofi-based wallpaper picker with grid thumbnails.
~/.config/wallust/wallpaper-select.sh # Open picker UI
~/.config/wallust/wallpaper-select.sh /path/to/image.jpg # Direct setFeatures:
- Grid display of all wallpapers with ImageMagick thumbnails
- Separate sections for static wallpapers and live wallpapers
- Cached theme switching — uses pre-generated palettes when available
- Backup/restore safety on all theme generations
- Restarts waybar after theme change
One-shot pre-cache all wallpapers.
~/.config/wallust/cache-wallpapers.shGenerates wallust palettes and ImageMagick thumbnails for every wallpaper in the directories.
Event-driven background cache daemon.
~/.config/wallust/wallust-cache-daemon.shFeatures:
- Watches wallpaper directories with
inotifywait - Debounces rapid file changes
- Pre-generates palettes in background
- 24-hour failure cooldown for problematic images
- File locking for single-instance safety
- Runs at idle priority (Nice=19)
Toggle fullscreen screen recording.
~/.config/wallust/record-fullscreen.sh- Uses
wf-recorderwith audio (pulse audio) - Toggles: first call starts, second call stops
- Saves to
~/Videos/Recordings/Fullscreen/with timestamped filename - Shows start/stop notifications
Toggle region screen recording.
~/.config/wallust/record-region.sh- Uses
slurpfor region selection +wf-recorderwith audio - Same toggle behavior as fullscreen
- Saves to
~/Videos/Recordings/Region/
Blinking indicator for waybar recording module.
- Called by waybar polling (10s interval)
- Outputs empty JSON when not recording
- Alternates between empty and icon JSON when recording (creates blink effect)
Generates a basic hyprlock.conf from current wallpaper.
~/.config/wallust/hyprlock-setup.sh- Uses current wallpaper as lock screen background
- Sets JetBrainsMono font for the clock/date
Boot-time WiFi stabilizer. Called from hypr/autostart.lua a few seconds after login.
~/.config/wallust/wifi-fix.shWhat it does:
- Waits for NetworkManager to appear on D-Bus (up to 30s)
- Unblocks the WiFi radio (
rfkill unblock wifi,nmcli radio wifi on) - Waits for an active connection (up to 45s)
- If still offline, reactivates every saved connection
- Retries with a radio toggle (off/on) if needed
Fixes the boot-time "strikethrough WiFi" waybar icon and impala crashes caused by NetworkManager not being ready.
Clipboard history manager.
~/.config/rofi/scripts/clipboard.sh # copy mode
~/.config/rofi/scripts/clipboard.sh --delete # delete mode- Lists recent clipboard entries from cliphist
- Default mode (
SUPER+V): decodes and copies selected entry back to clipboard - Delete mode (
SUPER+SHIFT+V): removes selected entry from clipboard history - Starts cliphist store daemon if not running
- Keyboard navigable via rofi
Spotlight-style search (ALT+SPACE). One rofi prompt that searches installed
applications, files, folders and the web — live suggestions as you type, each
with its icon (app logo, folder icon, or browser logo). On-demand only: rofi
exits when the menu closes, no background daemon.
~/.config/rofi/scripts/spotlight.sh- Type to filter apps / folders / files under
$HOMElive Search the web(always visible at the top) opens the default browser with the typed query; pressing Enter with no matching row also does a web search- Apps launch via their
.desktopentry; files/folders open in the default file explorer ($FILE_EXPLORER) - Uses the same wallust-generated rofi template theme as the launcher
(
launcher.rasi); defaults are read fromhypr/defaults.lua(BROWSER,FILE_EXPLORER)
Power management menu.
~/.config/rofi/scripts/system-power.shOptions:
- Lock —
hyprlock - Logout —
hyprctl dispatch exit - Sleep —
systemctl suspend - Reboot —
systemctl reboot - Shutdown —
systemctl poweroff - Cancel — Close menu
Uses themed SVG icons from rofi icons directory.