Guía de configuración de Sway

Esta página ofrece una breve descripción general de los detalles de configuración específicos para Fedora, que son comunes tanto a la variante Sway Spin basada en paquetes como a la variante Sway Atomic. Se destacarán las diferencias importantes.

Si busca recursos más generales, consulte:

Perfiles de configuración

El paquete Sway en Fedora delega la mayoría de las dependencias y la propiedad del archivo de configuración a los subpaquetes sway-config-*. Esto nos permite distribuir diferentes perfiles de configuración con distintos conjuntos de dependencias de tiempo de ejecución.

Los siguientes paquetes de perfiles están disponibles actualmente en Fedora:

  • sway-config-upstream: la configuración original tal como viene con el código fuente de Sway. Las únicas modificaciones permitidas al archivo de configuración de este perfil son ajustes para dependencias que actualmente no están disponibles en Fedora.

  • sway-config-minimal: configuración mínima sin dependencias opcionales. Este perfil se creó para servidores sin interfaz gráfica, contenedores y el uso de BuildRoot. También es adecuado para crear una instalación mínima desde cero.

  • sway-config-fedora - configuración personalizada para Fedora Sway Spin.

Los paquetes son mutuamente excluyentes, y uno de ellos debe estar presente. El que se instala por defecto con dnf install sway es sway-config-upstream y el que se instalará con el grupo Sway Spin/Sway Desktop Environment es sway-config-fedora.

Puedes seleccionar el perfil con el siguiente comando:

$ sudo dnf swap sway-config sway-config-upstream
$ sudo dnf swap sway-config sway-config-minimal
$ sudo dnf swap sway-config sway-config-fedora

El comando reemplazará el archivo /etc/sway/config predeterminado y aplicará el nuevo conjunto de dependencias. Los paquetes que no utilice el nuevo perfil se eliminarán automáticamente.

El encantamiento correspondiente para Sway Atomic y otras imágenes personalizadas de Sway es:

$ sudo rpm-ostree override remove sway-config --install sway-config-upstream

Sin embargo, tenga en cuenta que esto no elimina las dependencias del perfil original de la capa base de una implementación.

Configuración de Fedora

sway-config-fedora contiene la configuración predeterminada para Fedora Sway Spin. Está construida sobre la configuración predeterminada de Sway con algunas mejoras de usabilidad y cambios específicos.

La mayoría de las adiciones se implementan como fragmentos de configuración independientes almacenados en /usr/share/sway/config.d/ y se cargan automáticamente desde el archivo de configuración principal. La configuración del entorno y la intercepción de registros se implementan en el script de envoltura /usr/bin/start-sway.

Variables del entorno

Si utiliza un gestor de pantalla compatible (GDM o SDDM), podrá ajustar el entorno inicial de Sway mediante una configuración global del sistema en /etc/sway/environment o una configuración de usuario en ~/.config/sway/environment. Las variables configuradas en la configuración de usuario sobrescriben las variables correspondientes configuradas a nivel del sistema.

Por favor, consulta los comentarios y ejemplos en /etc/sway/environment para obtener más información.

Secciones

Los fragmentos de configuración que proporcionamos están agrupados en las siguientes secciones:

50-59 (50-rules-*.conf)

Reglas de ventana (for_window, assign y configuración relacionada).

60-69 (60-bindings-*.conf, 65-mode-*.conf)

Asignación de teclas y modos de asignación.

90-94 (90-*.conf)

Aplicaciones del sistema: barras, demonios inactivos y otros componentes.

95-99 (95-*.conf)

Aplicaciones de inicio automático.

Anulaciones y precedencia de carga

El paso de configuración de Fedora:[<del>ab</del>] utiliza los detalles de implementación del analizador de configuración Sway (wordexp(3p)) para implementar un mecanismo de anulación para los fragmentos.

La prioridad aumenta desde la configuración empaquetada hasta una configuración de todo el sistema y los directorios de configuración del usuario:

  • /usr/share/sway/config.d/*.conf

  • /etc/sway/config.d/*.conf

  • $XDG_CONFIG_HOME/sway/config.d/*.conf (por defecto a ~/.config/sway/config.d/*.conf)

Los archivos incluidos también se ordenan por nombre de archivo en todos los directorios.

Al crear un archivo con el mismo nombre en /etc/sway/config.d, obligarás al preprocesador de configuración a ignorar el fragmento correspondiente de /usr y cargar el de /etc. Del mismo modo, el fragmento de configuración del directorio personal prevalecerá sobre los de ubicaciones anteriores.

Para decirlo aún más simple: imagina el archivo de configuración de distribución /usr/share/sway/config.d/90-bar.conf que establece waybar como una barra de estado. Si quieres evitar que waybar se inicie, puedes crear un archivo vacío en tu directorio personal:

$ mkdir -p ~/.config/sway/config.d
$ touch ~/.config/sway/config.d/90-bar.conf

Si quieres usar otra barra, solo tienes que añadir contenido al archivo. Por ejemplo, copia la sección de barra predeterminada de la configuración de Sway:

$ mkdir -p ~/.config/sway/config.d
$ cat >~/.config/sway/config.d/90-bar.conf <<EOF
## Consulta `man 5 sway-bar` para obtener más información sobre esta sección.
bar {
        position top

    ## Cuando el comando status_command imprime una línea nueva por salida estándar, la barra swaybar se actualiza.
    ## Por defecto, tan solo muestra la fecha y hora actuales.
    status_command while date +'%Y-%m-%d %I:%M:%S %p'; do sleep 1; done

    colors {
        statusline #ffffff
        background #323232
        inactive_workspace #32323200 #32323200 #5c5c5c
    }
}
EOF

Solución de problemas

A veces es útil saber cómo se ve realmente la configuración cargada por Sway. Hay dos maneras de depurarla:

  • Ejecutar la validación de la configuración de Sway:

    $ sway --debug --validate [--config /ruta/a/la/configuración]
  • Compruebe los archivos intermedios generados por el script de inclusión por capas

    $ menos $XDG_RUNTIME_DIR/sway/layered-include-*.conf