Wallman¶
Índice¶
- Resumen
- Archivos
- Constantes y variables
- wallpicker.sh — Selector interactivo
- restore.sh — Restauración al inicio
- Directorio de fondos
- Dependencias
- Notas y recursos
Resumen¶
Wallman es el gestor de fondos de pantalla. Está compuesto por dos scripts bash en ~/.config/wallman/. Soporta tanto imágenes estáticas (via awww) como videos en loop (via mpvpaper). El fondo actual se guarda en ~/.config/wallman/current para poder restaurarse al reiniciar sesión.
El selector se puede abrir desde:
- El Command Center (SUPER+C → botón Wallpaper).
- Directamente: bash ~/.config/wallman/wallpicker.sh.
Archivos¶
| Archivo | Propósito |
|---|---|
wallpicker.sh |
Selector interactivo de fondos via rofi |
restore.sh |
Restaura el último fondo al iniciar sesión |
current |
Archivo de estado — guarda la ruta del fondo activo |
wallpapers/ |
Directorio de imágenes y videos (no incluido en el repo) |
Constantes y variables¶
wallpicker.sh¶
| Variable | Valor | Descripción |
|---|---|---|
WALL_DIR |
~/.config/wallman/wallpapers |
Directorio de fondos |
STATE_FILE |
~/.config/wallman/current |
Guarda la ruta del fondo activo |
restore.sh¶
| Variable | Valor | Descripción |
|---|---|---|
STATE_FILE |
~/.config/wallman/current |
Lee el fondo guardado para restaurarlo |
wallpicker.sh — Selector interactivo¶
Flujo general¶
1. Listar archivos de WALL_DIR (solo nombres, sin ruta)
2. Mostrar lista en rofi (búsqueda fuzzy)
3. Reconstruir ruta completa del archivo seleccionado
4. Llamar a apply_wallpaper()
Función apply_wallpaper(file)¶
Detecta el tipo de archivo por su extensión y aplica el fondo correspondiente:
Imágenes estáticas (png, jpg, gif, etc.)¶
- Termina cualquier proceso
mpvpaperprevio. - Termina el daemon
awww-daemonprevio (si está corriendo). - Si no hay
awww-daemoncorriendo, lanzaawww-daemon --no-cacheen segundo plano y espera 0.5 s. - Ejecuta
awww img "$file"para aplicar el fondo.
awww daemon no es un subcomando válido
El daemon es un binario separado (awww-daemon), no un subcomando de la CLI awww (awww daemon → error: unrecognized subcommand 'daemon'). Si se invoca mal, falla en silencio (stderr redirigido a /dev/null) y el siguiente awww img no encuentra el socket del daemon — el wallpaper no cambia y no hay ningún mensaje de error visible. Ver Obsoleto.
Videos (mp4, mkv, webm, avi, mov)¶
- Termina
mpvpaper,awwwyawww-daemonexplícitamente (con múltiples variantes de pkill para cubrir todos los casos). - Espera 0.5 s para asegurar que los procesos terminaron.
- Lanza
mpvpaper '*' "$file" -o "--no-audio --loop --hwdec=auto-safe"en segundo plano.
Nota: La terminación explícita de
awwwantes de lanzarmpvpaperes importante. Si no se mata correctamente, el fondo estático deawwwqueda visible debajo del video.
Selección con rofi¶
selection_name=$(
find "$WALL_DIR" -type f -printf '%f\n' \
| sort \
| rofi -dmenu -i -p "Wallpaper"
)
Rofi muestra solo el nombre del archivo (sin ruta completa). Una vez seleccionado, se reconstruye la ruta completa con:
Selecciona de la lista, no escribas el nombre completo
Si escribes texto en rofi y presionas Enter sin resaltar una entrada de la lista, rofi devuelve el texto escrito literalmente — aunque no coincida con ningún archivo. Si no hay coincidencia, el script ahora notifica No match for '<texto>' en vez de no hacer nada.
Guardar estado¶
El path completo se guarda en STATE_FILE al inicio de apply_wallpaper(), antes de aplicar el fondo. Esto garantiza que restore.sh siempre tenga la ruta más reciente.
restore.sh — Restauración al inicio¶
Se ejecuta al inicio de sesión (via exec-once en Hyprland) para restaurar el último fondo usado.
Flujo¶
1. Leer STATE_FILE → obtener ruta del fondo guardado
2. Si el archivo no existe → salir sin error
3. Detectar tipo por extensión
4. Video → mpvpaper '*' "$wallpaper" -o "no-audio --loop"
5. Imagen → awww daemon + awww img "$wallpaper"
Diferencia con wallpicker.sh
restore.sh usa flags ligeramente diferentes a wallpicker.sh en el comando de mpvpaper (no-audio --loop vs --no-audio --loop --hwdec=auto-safe). Ambos funcionan, pero wallpicker.sh añade aceleración de hardware.
Directorio de fondos¶
No incluido en el repositorio
El directorio wallpapers/ está en el .gitignore del repo porque los archivos de video/imagen son pesados y personales. El script de instalación crea el directorio vacío automáticamente.
Formatos soportados:
| Tipo | Extensiones |
|---|---|
| Imágenes | .png, .jpg, .jpeg, .gif, .webp, .bmp, .tiff |
| Videos | .mp4, .mkv, .webm, .avi, .mov |
Dependencias¶
| Herramienta | Paquete | Uso |
|---|---|---|
awww / awww-daemon |
pacman (repo extra): awww |
Daemon de fondos estáticos con transiciones |
mpvpaper |
AUR: mpvpaper |
Fondo de video usando MPV |
rofi |
AUR: rofi-lbonn-wayland-git |
Selector de archivos interactivo |
find |
findutils (base) |
Listar archivos del directorio |
awww ya no es AUR
awww (antes swww, renombrado upstream) pasó a ser paquete oficial de pacman (repo extra). Ya no requiere yay/AUR.
Notas y recursos¶
- mpvpaper — GitHub
- awww — GitHub (proyecto renombrado de
swww→awww) - Para cambiar el fondo desde el Command Center: ver AGS Bar → CommandCenter