
Hermosos fondos de pantalla pueden mejorar la estética de su escritorio.
En entornos de escritorio como GNOME y KDE, puede configurar el fondo de pantalla simplemente haciendo clic derecho.
Sin embargo, no es así como nos desenvolvemos en Hyprland. Realizamos varias configuraciones para que funcione correctamente.
Pero eso es lo divertido, ¿verdad? Veamos cómo usar Hyprpaper para la configuración de fondos de pantalla en Hyprland.
¿Qué es el Hiprpaper?
súper papel es una utilidad de fondos de pantalla de Wayland para Hyprland y otros compositores basados en wlroots. Esto significa que puedes usarlo en otros escritorios como Sway, incluso si es un programa de Hyprland.
Echemos un vistazo a algunas de sus características.
- Cada fondo de pantalla de salida
- Modo de relleno, mosaico o contenido
- Soporte de escala fraccional
- IPC permite un cambio de mantel ultrarrápido
- Precargar objetivos en la memoria
Instale Hyprpaper en su distribución de Linux
Dado que Hyprpaper es una parte importante de Hyprland, debería estar presente en los repositorios predeterminados de distribuciones de Hyprland.
En Arch Linux, puede instalar Hyprpaper usando el siguiente comando:
sudo pacman -S hyprpaper
Los usuarios de Fedora pueden utilizar:
sudo dnf install hyprpaper
Los usuarios de openSUSE pueden instalarlo usando el administrador de paquetes zypper:
sudo zypper install hyprland
📋
Usando Hiprpaper
A diferencia de los administradores de fondos de pantalla habituales, Hyprpaper no tiene GUI. Esto no debería sorprenderte ya que estás en Hepland ahora mismo.
Aquí, debe ajustar el archivo de configuración de Hyprpaper para realizar los cambios necesarios.
✋
Hyprpaper espera que su perfil esté ubicado en .config/hypr/hyprpaper.conf. Necesita crear este archivo para configurar el programa.
Configuración sencilla de Hyprpaper
La configuración básica de Hyprpaper debe contener las dos líneas siguientes:
preload=path/to/wallpaper/image
wallpaper=,path/to/wallpaper/image
aquí, preload La etiqueta se utiliza para cargar la imagen en la RAM para que Hyprland pueda configurar el fondo de pantalla.
Para configurar fondos de pantalla separados en una configuración de monitor dual, debe precargar ambas imágenes en la configuración.
preload=path/to/image_one
preload=path/to/image/two
wallpaper=,path/to/image_one
wallpaper=,path/to/image_two
📋
Probablemente ya lo sepas. cuando veas En el ejemplo del comando, esto significa que debe reemplazar todo el

Por lo tanto, para cualquier fondo de pantalla que aparezca en Hyprland, debes precargarlo usando el siguiente comando: preload Etiqueta.
💡
Debe limitar la cantidad de imágenes precargadas. Grandes cantidades de imágenes precargadas pueden afectar el uso de RAM. Sólo se cargan las imágenes actualmente en uso.
Espera, ¿cómo obtengo el nombre del monitor?
En la sección anterior, necesitaba el nombre del monitor para poder configurar el fondo de pantalla para ese monitor específico.
En Hyprland, puede utilizar el siguiente comando para obtener el nombre del monitor.
hyprctl monitors

En la captura de pantalla anterior, el nombre del monitor es Virtual-1 Porque esta es una máquina virtual. Su nombre puede ser HDMI-1, DP-1, etc.
Agregar texto de inicio
Puede agregar texto de inicio en el fondo de pantalla usando el siguiente comando splash opciones.
Abra el archivo de configuración de Hyprpaper y agregue la siguiente línea al final:
splash = true
Ahora, cuando recargues Hyprpaper, verás el texto de inicio.

Aparte de eso, puedes ajustar el espaciado de tu texto usando splash_offset Variable porcentual. El valor es relativo al fondo. Por lo tanto, 50,0 significa 50 % por encima de la parte inferior de la pantalla.
splash = true
splash_offset = 50.0
📋
Hasta donde puedo comprobar, el texto de inicio no es editable. Corríjame si mi opinión es incorrecta.
Utilice teclas de método abreviado para cambiar fondos de pantalla
A estas alturas, debes haber observado que cada vez que cambias el fondo de pantalla, debes reiniciar Hyprpaper para obtener el efecto. Sin embargo, Hyprpaper utiliza IPC o comunicación entre procesos Cambie rápidamente entre fondos de pantalla sin recargar todo el programa cada vez que cambie de fondo de pantalla.
Aquí usaremos hyprctl Ordene a Hyprland que administre los fondos de pantalla de Hyprpaper.
Examinaremos dos situaciones:
- Precargue fondos de pantalla en la configuración de Hyprpaper y cambie rápidamente (afecta la RAM)
- Utilice un script para precargar fondos de pantalla y luego desinstálelos cuando no los necesite.
Método 1: precargar el fondo de pantalla y aplicarlo al espacio de trabajo
Como vimos en la primera parte, es necesario precargar todas las imágenes que deseas utilizar en el perfil de Hyprpaper. .config/hypr/hyprpaper.conf. Además, habilite ipc.
preload = /path/to/image_one.png
preload = /path/to/image_two.png
preload = /path/to/image_three.png
preload = /path/to/image_four.png
preload = /path/to/image_five.png
ipc = true
🚧
En esta precarga, si cada fondo de pantalla tiene 500 KB, se utilizará un total de 2,5 MB de RAM para precargar todos estos fondos de pantalla. Si es usuario de una computadora portátil y el IPC está provocando que se agote la batería, use el siguiente comando para desactivarlo en la configuración ipc = false.
Para cambiar el fondo de pantalla, utilice la sintaxis común:
hyprctl hyprpaper wallpaper ",/path/to/wallpaper"
Pero antes de eso, habilite la configuración de Hyprland:
vim .config/hypr/hyprland.conf
Ahora, suponiendo que haya guardado la imagen como 1.png a 5.png existir ~/Pictures/Wallpapers Tabla de contenido.
Así que crea una variable para cada fondo de pantalla. Esto no es necesario, lo hacemos por conveniencia usando atajos de teclado.
$wall_1 = hyprctl hyprpaper wallpaper "Virtual-1,~/Pictures/Wallpapers/1.png"
$wall_2 = hyprctl hyprpaper wallpaper "Virtual-1,~/Pictures/Wallpapers/2.png"
$wall_3 = hyprctl hyprpaper wallpaper "Virtual-1,~/Pictures/Wallpapers/3.png"
$wall_4 = hyprctl hyprpaper wallpaper "Virtual-1,~/Pictures/Wallpapers/4.png"
$wall_5 = hyprctl hyprpaper wallpaper "Virtual-1,~/Pictures/Wallpapers/5.png"
Para asignar atajos de teclado, la sintaxis general en Hyprland es:
bind = modifier_key,desired_key,action,value
Consulte el ejemplo de configuración de combinación de teclas de Hyprland que se muestra a continuación:
bind = SUPER, H, exec, $wall_1
bind = SUPER, J, exec, $wall_2
bind = SUPER, K, exec, $wall_3
bind = SUPER, B, exec, $wall_4
bind = SUPER, N, exec, $wall_5
Teclas de acceso directo como Súper+H se asigna al comando de cambio de fondo de pantalla correspondiente. El resultado es que cuando presiones ese acceso directo, se cargará el fondo de pantalla asociado.
Método 2: utilice un script para cargar imágenes
Dado que está utilizando imágenes precargadas, el proceso anterior es muy rápido. Pero esta velocidad tiene poco impacto en tu memoria física.
Si puede aceptar un pequeño retraso, utilice un script para cargar la imagen y luego desmóntela cuando no sea necesario.
Echemos un vistazo al script e identifiquemos los componentes incluidos.
#!/bin/bash
WALLPAPER_DIRECTORY=~/Pictures/Wallpapers
WALLPAPER=$(find "$WALLPAPER_DIRECTORY" -type f | shuf -n 1)
hyprctl hyprpaper preload "$WALLPAPER"
hyprctl hyprpaper wallpaper "Virtual-1,$WALLPAPER"
sleep 1
hyprctl hyprpaper unload unused
En este script definimos una variable para el directorio de fondos de pantalla. WALLPAPER_DIRECTORY. Esto sólo debe contener imágenes.
📋
Tenga en cuenta que si está precargando la imagen en una configuración de Hyprpaper, no necesita utilizar los comandos de precarga y desmontaje en el script anterior.
Ahora, usa un WALLPAPER Variable, seleccionamos una imagen aleatoria del directorio.
Con la funcionalidad Hyprpaper IPC utilizamos hyprctl Comando para precargar fondos de pantalla. Los fondos de pantalla precargados ahora son fondos de pantalla seleccionados al azar de nuestro catálogo de fondos de pantalla.
Una vez precargado, lo aplicaremos al monitor usando el siguiente comando hyprctl Orden. Si tienes que cambiar el fondo de pantalla en otro monitor, inclúyelo también. como:
hyprctl hyprpaper wallpaper "Virtual-1,$WALLPAPER"
Ahora espere un segundo y luego desmonte todas las imágenes no utilizadas. Esto es para garantizar que la RAM no se vea afectada negativamente.
Una vez que el script esté listo, guárdelo como change_wallpapers.sh. Conceder permiso de ejecución al script.
chmod +x change_wallpapers.sh
Ahora, para facilitar el acceso, guardamos este archivo en ~/.config/hypr Tabla de contenido.
Después de eso, abra la configuración de Hyprland y agregue una combinación de teclas para cambiar aleatoriamente el fondo de pantalla.
bind SUPER, I, exec, ~/.config/hypr/change_wallpapers.sh
Reinicie Hyprland para que los cambios sean permanentes. El fondo de pantalla ahora se aplica aleatoriamente cuando presionas la combinación de teclas.
Establece un fondo de pantalla diferente para tu espacio de trabajo
Esto es lo mismo que la sección anterior excepto por la configuración de combinación de teclas.
Fondo de pantalla predeterminado para cada espacio de trabajo
Supongamos que ha precargado todos los fondos de pantalla en la configuración de Hyprpaper y ha asignado el comando de cambio de fondo de pantalla a una variable en la configuración de Hyprland, el primer método de la sección anterior.
Ahora, para cambiar el fondo de pantalla de cada espacio de trabajo, todo lo que tiene que hacer es hacer que la combinación de teclas del fondo de pantalla sea la misma que la combinación de teclas del cambio de espacio de trabajo.
Entonces, en Hyprland, para cambiar a Workspace One, usarías el acceso directo Súper +1. Por lo tanto, configuramos la misma combinación de teclas para la variable de fondo de pantalla.
bind = SUPER, 1, exec, $wall_1
📋
este $wall_1 Las mismas variables utilizadas en el apartado anterior.
Lo mismo para otros espacios de trabajo:
bind = SUPER, 2, exec, $wall_2
bind = SUPER, 3, exec, $wall_3
bind = SUPER, 4, exec, $wall_4
bind = SUPER, 5, exec, $wall_5
Eso es todo. Cada espacio de trabajo ahora tiene su propio fondo de pantalla.
🚧
Tenga en cuenta que otros programas, como el conmutador de espacio de trabajo de Waybar, no funcionarán ya que requieren configuraciones diferentes que no se tratan en este artículo.


Cada espacio de trabajo tiene un fondo de pantalla diferente
Fondos de pantalla aleatorios para diferentes espacios de trabajo
Ahora, si desea obtener un fondo de pantalla aleatorio para cambiar el espacio de trabajo, use:
bind = SUPER, 1, exec, ~/.config/hypr/change_wallpapers.sh
bind = SUPER, 2, exec, ~/.config/hypr/change_wallpapers.sh
bind = SUPER, 3, exec, ~/.config/hypr/change_wallpapers.sh
bind = SUPER, 4, exec, ~/.config/hypr/change_wallpapers.sh
bind = SUPER, 5, exec, ~/.config/hypr/change_wallpapers.shAquí, no es necesario precargar las imágenes en la configuración de Hyprpaper ya que el script las cargará y descargará.
Después de guardar, puede obtener aleatoriamente diferentes fondos de pantalla para cada área de trabajo.
Establecer fondo de pantalla de día y de noche.
Ahora es el momento de configurar el fondo de pantalla según el día y la noche. Aquí utilizamos el concepto de trabajo cron.
Primero, necesitas crear un script llamado day_night.sh. Puede .config/hypr/ carpeta para facilitar el acceso.
En este archivo, agregue las siguientes líneas:
#!/bin/bash
# Wait for 5 seconds to start the script.
sleep 5
# Define daytime and nighttime image to respective variables
DAYTIME_WALLPAPER=~/Pictures/Wallpapers/3.png
NIGHTTIME_WALLPAPER=~/Pictures/Wallpapers/4.png
# Calculate the present hour and save it to a variable
PRESENT_TIME=$(date +%H)
# In an if loop, check if current time is between 6 am and 6 pm
# and assign day wallpaper to wallpaper variable.
# Else, if time is between 6 pm and 6 am,
# assign night time wallpaper to wallpaper variable.
if [ $PRESENT_TIME -ge 6 ] && [ $PRESENT_TIME -lt 18 ]; then
WALLPAPER=$DAYTIME_WALLPAPER
else
WALLPAPER=$NIGHTTIME_WALLPAPER
fi
# Preload the wallpaper in the wallpaper variable.
hyprctl hyprpaper preload "$WALLPAPER"
# Sleep 5 secconds to make sure that everything has time.
sleep 5
# Apply the wallpaper to current display.
hyprctl hyprpaper wallpaper "Virtual-1,$WALLPAPER"
# Sleep for a second
sleep 1
# Exit with success.
exit 0
Este sencillo script bash, guárdelo como day_night.shverifique la hora actual. Si es mayor que 6 y menor que 18 (6:00 p. m.), se aplica el fondo de pantalla diurno predefinido. En otros casos, aplique papel tapiz nocturno. No olvides hacerlo ejecutable.!
Ahora, no necesitamos que este script se ejecute todo el tiempo. Entonces, usando cron, lo configuramos para que se ejecute exactamente a las 6 horas y a las 18 horas.
en la terminal. Ejecutar comando:
crontab -e
Ingrese las siguientes líneas en el editor:
0 6 * * * /home/team/.config/hypr/day_night.sh
0 18 * * * /home/team/.config/hypr/day_night.sh
Guardar y salir. puedes usar crontab -l Comprobar si nuestro trabajo se está ejecutando.

Ahora, si reinicia su sistema, es posible que no haya ningún fondo de pantalla. Para evitar esto, puede iniciar automáticamente el script cuando se inicia Hyprland.
Agregue las siguientes líneas a su configuración de Hyprland:
exec-once hyprpaper
exec-once /home/team/.config/hypr/day_night.sh
Eso es todo. ¡Disfruta de tu mantel de día/noche!
en conclusión
¿Es tan problemático algo tan simple como el papel tapiz? Bueno, las cosas son muy diferentes en Hypraland y, para los entusiastas, esa es la parte divertida. Hacer las cosas de manera compleja le enseñará cosas que tal vez no aprenda por sí solo.
Si tiene preguntas o sugerencias sobre este tema, hágamelo saber.









