{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreial4iwrt4xnugps64sr2tlf5n6kg2a7tqnpvn4wv2bcbr7e4xsgt4",
"uri": "at://did:plc:3pjw65epwlo3rzajhx6xg4br/app.bsky.feed.post/3mhvyo6pkqsn2"
},
"path": "/2026/03/25/probando-hyprland-por-primera-vez-en-opensuse-tumbleweed/",
"publishedAt": "2026-03-25T16:06:27.000Z",
"site": "https://victorhckinthefreeworld.com",
"tags": [
"Hyprland",
"i3wm",
"https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/3GDTVRGAR2CWCPXXATJ2WZIDFBKDA33L/",
"Myrlyn",
"@DEFAULT_AUDIO_SINK",
"@DEFAULT_AUDIO_SOURCE"
],
"textContent": "**Pruebo el gestor de ventanas Hyprland por primera vez en mi openSUSE Tumbleweed**\n\nDesde hace un tiempo, dentro del mundo de GNU/Linux, ha despuntado un nuevo gestor de ventanas de tipo tiling llamado Hyprland. La novedad es que utiliza Wayland y ofrece vistosas animaciones composiciones de ventanas, debido a que se puede configurar cada aspecto del escritorio.\n\nYa había utilizado algún tiempo **i3wm** como gestor tiling de ventanas, pero Hyprland venía a dar un salto cualitativo y actualizado a esa opción. Así que quise probarlo y ver qué aspecto tiene…\n\nLo probé hace un tiempo, instalando Hyprland en un equipo de prueba en openSUSE desde sus repositorios y la experiencia fue… nefasta. Hyprland necesita mucha configuración y complementos para empezar a hacer utilizable un sistema.\n\nPero algo me hizo cambiar de idea y **volver a probar Hyprland como un novato…**\n\nEl pasado febrero de 2026 **Lubos Kocman** publicó un mensaje en la lista de correo de openSUSE, donde informaba de que se había creado un «patrón» de instalación relativo a Hyprland, para ofrecer esa alternativa a los usuarios de openSUSE. El correo lo puedes encontrar en este enlace:\n\n * **https://lists.opensuse.org/archives/list/factory@lists.opensuse.org/thread/3GDTVRGAR2CWCPXXATJ2WZIDFBKDA33L/**\n\n\n\nEn resumen comentaba que se iba a crear un «patrón» de instalación de Hyprland y que esto incluiría ciertas configuraciones y complementos necesarios para empezar a utilizar el sistema nada más instalado.\n\nEse patrón de instalación incluiría:\n\n * `greetd` con `gtkgreet` + `cage` como gestor de login sencillo (se evitó sddm porque arrastra unas 150 dependencias adicionales).\n * Hyprland con citas de bienvenida (“splash quotes”) de Gertjan.\n * `waybar`, bien integrada con el sistema.\n * `opensuse-welcome-launcher` y el binario estático `opensuse-welcome`.\n * `hyprland-qtutils` para evitar que Hyprland se queje por la ausencia de `hyprland-guiutils y para ofrecer un diálogo cuando hay una actualización de Hyprland.\n * `hyprpaper` con un fondo de pantalla de openSUSE basado en un wallpaper de Kraith para Hyprland. (no lo he visto)\n\n\n\nAtajos de teclado por defecto:\n\n * Terminal `kitty` con Super+q\n * Gestor de archivos Thunar con Super+e.\n * Capturas de pantalla con `grim` usando la tecla de Impr Pant.\n * Lanzador `nwg-drawer` con Super+r.\n * Super+m cierra la sesión\n\n\n\n## Filosofía de configuración\n\n * La configuración está pensada como **mínima** , sin imponer demasiado al usuario.\n * Se plantea incluso si se podría prescindir de `qtutils`.\n * El paquete de “branding” instala configuraciones por defecto en `/etc/xdg` respetando siempre la configuración del usuario.\n\n\n\nAsí que ahora sí, quise volver a probarlo. Abrí **Myrlyn** , el gestor gráfico de paquetes de openSUSE, fui al apartado de Patrones o Patterns y seleccione el compositor Hyprland y Hyprland plugins, lo que selecciona para instalar un montón de software adicional.\n\nTerminado el proceso de instalación de todo el software, cerré la sesión actual y entré en mi recién estrenada sesión de Hyprland. Bueno, ahora ya era otra cosa. Ya había algo más parecido a un sistema.\n\n## Recién llegado a Hyprland esto es lo que tienes que hacer\n\nLo primero saber que todos estos gestores de ventanas tiling, tienen un archivo de configuración desde el cual se gestionan todos o muchos de los aspectos y comportamientos del sistema: atajos de teclado, comportamiento de las ventanas, espacios de trabajo, etc…\n\nEn openSUSE Tumbleweed lo primero que hice fue editar el archivo **/home/ <mi_usuario>/.config/hyp/hyprland.conf**.\n\nSi no existe puedes crear la ruta y copiar el archivo que existe en: **/usr/share/hypr/hyprland.conf** Y ya en tu home editar en ese archivo lo que quieras.\n\nEsto fue lo primero que modifiqué:\n\n * El esquema del teclado a español. La variable `kb_layout = es`\n * Yo quiero seguir utilizando Dolphin como gestor de archivos, quiero konsole como terminal y wofi como lanzador de programas. Así que:\n * `$terminal = konsole`\n * `$fileManager = dolphin`\n * `$menu = wofi --show drun --insensitive`\n * El cursor de Hyprland no me gusta nada, así que configuré uno bien conocido como Adwaita (si lo tienes instalado en tu equipo u el que prefieras)\n * env = XCURSOR_THEME,Adwaita\n * env = XCURSOR_SIZE,16\n * env = HYPRCURSOR_THEME,Adwaita\n * env = HYPRCURSOR_SIZE,16\n * Reduje el valor de las «gaps» o la separación de las ventanas entre sí, y de estas con el exteriror y el borde de las ventanas:\n * gaps_in = 3\n * gaps_out = 10\n * border_size = 1\n\n\n\n## Atajos de teclado\n\nIgual que en i3wm, el escritorio está pensado para utilizarse mediante el teclado. Pulsando la tecla «super» o la del icono de Windows (si la tienes) y otra tecla lanzarás las aplicaciones predeterminadas. En mi caso:\n\n * `Super + Q` → Abre la terminal. (Prueba a abrir varias para ver cómo se van haciendo sitio)\n * `Super + C ` → Para cerrar la ventana actual. Aprovecha a cerrar todas las terminales que abriste antes.\n * `Super + M` → Ejecuta un comando para cerrar la sesión\n * `Super + E` → Abre el gestor de archivos, en mi caso Dolphin\n * `Super + V` → Hace la ventana activa flotante y la podrás mover por el escritorio\n * `Super + R` → Abre el menú lanzador de aplicaciones, en mi caso wofi\n * `Super + Espacio` → Igual al anterior\n\n\n\nPor supuesto todos estos atajos los puedes cambiar a tu preferencia.\n\nPara mover el foco a una ventana u otra, la tecla super y las teclas de las flechas.\n\nPara ir a un espacio de trabajo u otro, mediante la tecla super y los números del 1 al 0, así tienes 10 espacios de trabajo en los que abrir tus ventanas.\n\nSi una ventana la tienes abierta en el espacio 1 y la quieres llevar al 2, mediante `Super + Shift + 2` y llevará esa ventana al espacio 2. Similar con cualquiera de los espacios disponibles.\n\nY con esto más o menos ya puedes empezar a funcionar. Guardas los cambios y si no has tenido errores, los cambios son tomados en cuenta inmediatamente. Por aquí te dejo mi archivo de configuración inicial:\n\n\n ################\n ### MONITORS ###\n ################\n\n monitor=,preferred,auto,auto\n\n ###################\n ### MY PROGRAMS ###\n ###################\n\n $terminal = konsole\n $fileManager = dolphin\n $menu = wofi --show drun --insensitive\n\n #################\n ### AUTOSTART ###\n #################\n\n exec-once = nm-applet\n exec-once = waybar\n exec-once = hyprpaper\n\n #############################\n ### ENVIRONMENT VARIABLES ###\n #############################\n\n env = XCURSOR_THEME,Adwaita\n env = XCURSOR_SIZE,16\n env = HYPRCURSOR_THEME,Adwaita\n env = HYPRCURSOR_SIZE,16\n\n #####################\n ### LOOK AND FEEL ###\n #####################\n\n general {\n gaps_in = 3\n gaps_out = 10\n border_size = 1\n\n col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg\n col.inactive_border = rgba(595959aa)\n\n resize_on_border = true\n allow_tearing = false\n\n layout = dwindle\n }\n\n decoration {\n rounding = 5\n rounding_power = 2\n\n active_opacity = 1.0\n inactive_opacity = 0.95\n\n shadow {\n enabled = true\n range = 4\n render_power = 3\n color = rgba(1a1a1aee)\n }\n\n blur {\n enabled = true\n size = 3\n passes = 1\n vibrancy = 0.1696\n }\n }\n\n #################\n ### ANIMATIONS ##\n #################\n\n animations {\n enabled = yes\n\n bezier = easeOutQuint, 0.23, 1, 0.32, 1\n bezier = easeInOutCubic, 0.65, 0.05, 0.36, 1\n bezier = linear, 0, 0, 1, 1\n bezier = almostLinear, 0.5, 0.5, 0.75, 1\n bezier = quick, 0.15, 0, 0.1, 1\n\n animation = global, 1, 6, default\n animation = border, 1, 5, easeOutQuint\n animation = windows, 1, 4, easeOutQuint\n animation = fade, 1, 2, quick\n animation = workspaces, 1, 2, almostLinear\n }\n\n #################\n ### LAYOUTS #####\n #################\n\n dwindle {\n pseudotile = true\n preserve_split = true\n }\n\n master {\n new_status = master\n }\n\n misc {\n force_default_wallpaper = -1\n disable_hyprland_logo = false\n }\n\n #############\n ### INPUT ###\n #############\n\n input {\n kb_layout = es\n follow_mouse = 2\n sensitivity = 0\n\n touchpad {\n natural_scroll = false\n tap-to-click = true\n }\n }\n\n gesture = 3, horizontal, workspace\n\n device {\n name = epic-mouse-v1\n sensitivity = -0.5\n }\n\n ###################\n ### KEYBINDINGS ###\n ###################\n\n $mainMod = SUPER\n\n bind = $mainMod, Q, exec, $terminal\n bind = $mainMod, C, killactive\n bind = $mainMod, M, exec, command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch exit\n bind = $mainMod, E, exec, $fileManager\n bind = $mainMod, V, togglefloating\n bind = $mainMod, R, exec, $menu\n bind = $mainMod, SPACE, exec, $menu\n bind = $mainMod, P, pseudo\n bind = $mainMod, J, togglesplit\n\n # Focus\n bind = $mainMod, left, movefocus, l\n bind = $mainMod, right, movefocus, r\n bind = $mainMod, up, movefocus, u\n bind = $mainMod, down, movefocus, d\n\n # Workspaces\n bind = $mainMod, 1, workspace, 1\n bind = $mainMod, 2, workspace, 2\n bind = $mainMod, 3, workspace, 3\n bind = $mainMod, 4, workspace, 4\n bind = $mainMod, 5, workspace, 5\n bind = $mainMod, 6, workspace, 6\n bind = $mainMod, 7, workspace, 7\n bind = $mainMod, 8, workspace, 8\n bind = $mainMod, 9, workspace, 9\n bind = $mainMod, 0, workspace, 10\n\n bind = $mainMod SHIFT, 1, movetoworkspace, 1\n bind = $mainMod SHIFT, 2, movetoworkspace, 2\n bind = $mainMod SHIFT, 3, movetoworkspace, 3\n bind = $mainMod SHIFT, 4, movetoworkspace, 4\n bind = $mainMod SHIFT, 5, movetoworkspace, 5\n bind = $mainMod SHIFT, 6, movetoworkspace, 6\n bind = $mainMod SHIFT, 7, movetoworkspace, 7\n bind = $mainMod SHIFT, 8, movetoworkspace, 8\n bind = $mainMod SHIFT, 9, movetoworkspace, 9\n bind = $mainMod SHIFT, 0, movetoworkspace, 10\n\n\n # Scratchpad\n bind = $mainMod, S, togglespecialworkspace, magic\n bind = $mainMod SHIFT, S, movetoworkspace, special:magic\n\n # Scroll workspaces\n bind = $mainMod, mouse_down, workspace, e+1\n bind = $mainMod, mouse_up, workspace, e-1\n\n # Mouse move/resize\n bindm = $mainMod, mouse:272, movewindow\n bindm = $mainMod, mouse:273, resizewindow\n\n # Volume / brightness\n bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+\n bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-\n bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle\n bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle\n bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+\n bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%-\n\n # Media\n bindl = , XF86AudioNext, exec, playerctl next\n bindl = , XF86AudioPause, exec, playerctl play-pause\n bindl = , XF86AudioPlay, exec, playerctl play-pause\n bindl = , XF86AudioPrev, exec, playerctl previous\n\n ##############################\n ### WINDOW RULES #############\n ##############################\n\n windowrule {\n name = suppress-maximize-events\n match:class = .*\n suppress_event = maximize\n }\n\n windowrule {\n name = fix-xwayland-drags\n match:class = ^$\n match:title = ^$\n match:xwayland = true\n match:float = true\n match:fullscreen = false\n match:pin = false\n no_focus = true\n }\n\n windowrule {\n name = move-hyprland-run\n match:class = hyprland-run\n move = 20 monitor_h-120\n float = yes\n }\n\n\n\nY con esto ya puedes empezar a dar los primeros pasos en Hyprland como los he empezado a dar yo. Si veo que el artículo tiene aceptación, escribiré otro sobre cómo he modificado la configuración de la barra waybar, para mostrarla como se ve en la captura que abre el artículo.\n\nLa configuración en estos sistemas se puede volver en algo infinito y que consume nuestro tiempo, puliendo este detalle, dándole ese toque, etc. Puede ser un buen pasatiempo para aprender o puede convertirse en un sumidero de tiempo.\n\nTe aconsejo que te lo tomes con calma y vayas aprendiendo poco a poco sobre Hyprland.**Ahora en openSUSE nos han hecho sencillo dar nuestros primeros pasos en Hyprland.**",
"title": "Probando #Hyprland por primera vez en #openSUSE Tumbleweed"
}