On branch master
renamed: music-notify -> bin/music-notify renamed: motd.sh -> mensa/motd.sh renamed: motdmb.sh -> mensa/motdmb.sh deleted: testing-wallpaper renamed: wallpaper-picker -> wallpaper/hyprland/wallpaper-picker new file: wallpaper/niri/README.md renamed: wallpaper-niri -> wallpaper/niri/wallpaper-niri new file: wallpaper/niri/wallpaper.rasi
This commit is contained in:
parent
f05962b900
commit
06c0fbb8e9
8 changed files with 100 additions and 55 deletions
|
|
@ -1,55 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
WALLPAPER_DIR="${HOME}/Pictures/wallpaper"
|
|
||||||
EXTENSIONS="jpg|jpeg|png|gif|webp|bmp|tiff|tga|svg|avif"
|
|
||||||
|
|
||||||
declare -A wall_map
|
|
||||||
|
|
||||||
while IFS= read -r -d '' path; do
|
|
||||||
name="$(basename "$path")"
|
|
||||||
wall_map["$name"]="$path"
|
|
||||||
done < <(
|
|
||||||
find "$WALLPAPER_DIR" -maxdepth 1 -type f \
|
|
||||||
-regextype posix-extended \
|
|
||||||
-iregex ".*\.(${EXTENSIONS})" \
|
|
||||||
-print0 | sort -z
|
|
||||||
)
|
|
||||||
|
|
||||||
chosen="$(
|
|
||||||
for name in "${!wall_map[@]}"; do
|
|
||||||
printf '%s\0icon\x1fthumbnail://%s\n' "$name" "${wall_map[$name]}"
|
|
||||||
done | sort | rofi \
|
|
||||||
-dmenu \
|
|
||||||
-show-icons \
|
|
||||||
-i \
|
|
||||||
-p "Wallpaper" \
|
|
||||||
-theme "$HOME/.config/rofi/wallpaper.rasi" \
|
|
||||||
-kb-accept-entry "Return,KP_Enter" \
|
|
||||||
-kb-element-next "Tab" \
|
|
||||||
-kb-element-prev "ISO_Left_Tab"
|
|
||||||
)"
|
|
||||||
|
|
||||||
[[ -z "${chosen:-}" ]] && exit 0
|
|
||||||
|
|
||||||
full_path="${wall_map[$chosen]:-}"
|
|
||||||
if [[ -z "${full_path}" || ! -f "${full_path}" ]]; then
|
|
||||||
notify-send "wallpaper-picker" "Not found: $chosen" --urgency=critical
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
awww img "$full_path" --transition-type grow --transition-step 90
|
|
||||||
|
|
||||||
persist="$HOME/.config/niri/wallpaper-restore.sh"
|
|
||||||
mkdir -p "$(dirname "$persist")"
|
|
||||||
|
|
||||||
cat > "$persist" <<EOF
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
pgrep -x awww-daemon >/dev/null || awww-daemon &
|
|
||||||
sleep 0.5
|
|
||||||
awww img "$full_path" --transition-type simple
|
|
||||||
EOF
|
|
||||||
|
|
||||||
chmod +x "$persist"
|
|
||||||
|
|
||||||
notify-send "Wallpaper" "$chosen" --urgency=low
|
|
||||||
13
wallpaper/niri/README.md
Normal file
13
wallpaper/niri/README.md
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Wallpaper-Picker on Niri
|
||||||
|
|
||||||
|
arch: yay -S awww rofi libnotify
|
||||||
|
|
||||||
|
nix: environment.systemPackages = with pkgs; [
|
||||||
|
rofi-wayland
|
||||||
|
awww
|
||||||
|
libnotify
|
||||||
|
];
|
||||||
|
|
||||||
|
put wallpaper.rasi in ~/home/.config/rofi/wallpaper.rasi
|
||||||
|
|
||||||
|
wallpapers should stay in ~/home/$USER/Pictures/wallpaper
|
||||||
87
wallpaper/niri/wallpaper.rasi
Normal file
87
wallpaper/niri/wallpaper.rasi
Normal file
|
|
@ -0,0 +1,87 @@
|
||||||
|
configuration {
|
||||||
|
show-icons: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
bg: #0f1115ee;
|
||||||
|
bg-alt: #171a21ff;
|
||||||
|
fg: #e6eaf2ff;
|
||||||
|
fg-muted: #aab4c3ff;
|
||||||
|
accent: #89b4faff;
|
||||||
|
border: #2a2f3aff;
|
||||||
|
selected: #1e2530ff;
|
||||||
|
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
width: 28%;
|
||||||
|
border: 2px;
|
||||||
|
border-radius: 14px;
|
||||||
|
border-color: @border;
|
||||||
|
background-color: @bg;
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
children: [ inputbar, listview ];
|
||||||
|
spacing: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
children: [ prompt, entry ];
|
||||||
|
spacing: 8px;
|
||||||
|
padding: 10px 12px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @bg-alt;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
text-color: @accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
text-color: @fg;
|
||||||
|
placeholder: "search...";
|
||||||
|
placeholder-color: @fg-muted;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
columns: 3;
|
||||||
|
lines: 1;
|
||||||
|
dynamic: false;
|
||||||
|
cycle: false;
|
||||||
|
scrollbar: true;
|
||||||
|
spacing: 10px;
|
||||||
|
layout: vertical;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
orientation: vertical;
|
||||||
|
padding: 8px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @fg-muted;
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.normal {
|
||||||
|
background-color: @selected;
|
||||||
|
text-color: @fg;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
size: 120px;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue