Let's build our own wall

This commit is contained in:
David Heinemeier Hansson
2026-05-11 15:28:33 -04:00
committed by Ryan Hughes
parent 7a988d8909
commit 333ec367df
17 changed files with 309 additions and 155 deletions
-1
View File
@@ -18,7 +18,6 @@ if [[ -f $FIRST_RUN_MODE ]]; then
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
bash "$OMARCHY_PATH/install/first-run/gdk-scale.sh"
bash "$OMARCHY_PATH/install/first-run/swayosd.sh"
bash "$OMARCHY_PATH/install/first-run/skwd-wall.sh"
bash "$OMARCHY_PATH/install/first-run/gtk-primary-paste.sh"
bash "$OMARCHY_PATH/install/first-run/elephant.sh"
omarchy-hook-install post-update "$OMARCHY_PATH/install/first-run/install-voxtype.hook"
+2 -1
View File
@@ -326,7 +326,8 @@ show_theme_menu() {
}
show_background_menu() {
skwd wall toggle
background=$(omarchy-theme-bg-switcher)
[[ -n $background ]] && omarchy-theme-bg-set "$background"
}
show_font_menu() {
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
# omarchy:summary=Restart Skwd-wall wallpaper daemon
systemctl --user restart skwd-daemon.service 2>/dev/null || true
+1 -5
View File
@@ -40,9 +40,5 @@ else
NEW_BACKGROUND="${BACKGROUNDS[$NEXT_INDEX]}"
fi
# Set new background symlink
ln -nsf "$NEW_BACKGROUND" "$CURRENT_BACKGROUND_LINK"
# Apply the new background through Skwd-wall
skwd wall apply "{\"type\":\"static\",\"path\":\"$CURRENT_BACKGROUND_LINK\"}" >/dev/null
omarchy-theme-bg-set "$NEW_BACKGROUND"
fi
+3 -2
View File
@@ -20,5 +20,6 @@ fi
# Create symlink to the new background
ln -nsf "$BACKGROUND" "$CURRENT_BACKGROUND_LINK"
# Apply the new background through Skwd-wall
skwd wall apply "{\"type\":\"static\",\"path\":\"$CURRENT_BACKGROUND_LINK\"}" >/dev/null
# Kill existing swaybg and start new one
pkill -x swaybg
setsid uwsm-app -- swaybg -i "$CURRENT_BACKGROUND_LINK" -m fill >/dev/null 2>&1 &
+20
View File
@@ -0,0 +1,20 @@
#!/bin/bash
# omarchy:summary=Open the Omarchy wallpaper switcher
# omarchy:group=theme
# omarchy:name=bg-switcher
# omarchy:aliases=omarchy wallpaper
OMARCHY_PATH=${OMARCHY_PATH:-$HOME/.local/share/omarchy}
selection_file=$(mktemp)
trap 'rm -f "$selection_file"' EXIT
theme_name=$(cat "$HOME/.config/omarchy/current/theme.name" 2>/dev/null)
OMARCHY_WALLPAPER_SELECTION_FILE=$selection_file \
OMARCHY_STOCK_BACKGROUNDS_DIR="$HOME/.config/omarchy/current/theme/backgrounds" \
OMARCHY_USER_BACKGROUNDS_DIR="$HOME/.config/omarchy/backgrounds/$theme_name" \
quickshell -p "$OMARCHY_PATH/default/quickshell/wallpaper-switcher.qml" >/dev/null
if [[ -s $selection_file ]]; then
cat "$selection_file"
fi
-1
View File
@@ -68,7 +68,6 @@ omarchy-theme-set-browser
omarchy-theme-set-vscode
omarchy-theme-set-obsidian
omarchy-theme-set-keyboard
omarchy-theme-set-skwd-wall
# Call hook on theme set
omarchy-hook theme-set "$THEME_NAME" >/dev/null
-14
View File
@@ -1,14 +0,0 @@
#!/bin/bash
# omarchy:summary=Refresh Skwd-wall after an Omarchy theme change
# omarchy:hidden=true
THEME_COLORS="$HOME/.config/omarchy/current/theme/skwd-wall-colors.json"
SKWD_COLORS="$HOME/.cache/skwd-wall/colors.json"
if [[ -f $THEME_COLORS ]]; then
mkdir -p "$(dirname "$SKWD_COLORS")"
cp "$THEME_COLORS" "$SKWD_COLORS"
fi
skwd wall cache_rebuild >/dev/null