593 - Exprimiendo Sway en Linux

593 - Exprimiendo Sway en Linux

Una configuración ideal para exprimir #sway en #linux con herramientas sustitutas de los clásicos #rofi o #dunst y con un nuevo sway-plugins

1:25
-3:15

Como te conté en el episodio 592 que titulé Marcha atrás a SwayFX con i3status-rust, he dejado atrás mi aventura con AGS, al menos temporalmente, para volver a la configuración tradicional de Sway, utilizando una barra de estado sencilla. Sin embargo, como sabes, soy un espíritu inquieto, y no podía quedarme con lo básico, así que he introducido varios cambios en mi configuración original. Y lo cierto es que si bien a primera vista parece que todo es igual, lo cierto es que no tiene nada que ver. He reemplazado algunas de las herramientas que estaba utilizando el momento.

Exprimiendo Sway en Linux

Modificando la configuración

Hasta la fecha siempre he tenido la configuración de Sway en un único archivo. Sin embargo, esto nunca me ha terminado de gustar. Lo cierto es que me sentía mas cómodo con bspwm, porque este separaba los atajos de teclado del resto de configuración. De echo, esta idea surge de la configuración de JJ en GitHub, que tiene de esta forma sus archivos de configuración.

Si entras en mis dotfiles en GitHub, encontrarás una configuración como la que te muestro a continuación,

.
├── config
├── config.d
│   ├── background
│   ├── bar
│   ├── clipboard
│   ├── idle
│   ├── inputs
│   ├── keybinding
│   ├── notifications
│   ├── theme
│   ├── tools
│   ├── window_rules
│   └── workspaces
├── i3status-rust.toml
├── scripts
│   ├── rofi.sh
│   ├── rofimoji.sh
│   ├── search_icon.py
│   └── wshowkeys.sh
└── sway-plugins.yml

Donde como puedes ver la configuración ha quedado divida en distintos archivos en los que defino cada una de las características de Sway. En particular, para mi la de atajos de teclado, es la que mas me interesa, porque de esta forma los tengo concentrados.

Y toda la magia reside exclusivamente en una única línea,

include ~/.config/sway/config.d/*

Las nuevas herramientas

Por otro lado, he estado buscando distintas herramientas que me ayudaran con el disgusto de haber perdido AGS. Algunas de las herramientas que te voy a contar a continuación las utilizaré seguro, y otras, simplemente las probaré. Sin embargo, las he considerado suficientemente interesantes, como para traerlas aquí, por si tu quieres hacer uso de ellas.

Clipman

La primera de estas herramientas es clipman, que la puedes encontrar en GitHub. Se trata de una aplicación implementada en Go, y que no es ni mas ni menos que un gestor básico del portapapeles para Wayland.

Lo cierto es que no soy muy de los gestores de portapapeles, pero, me ha llamado la atención esta herramienta, porque básicamente, lo único que hace es guardar lo que copias en un archivo. Posteriormente, si quieres mostrarlo y utilizarlo tienes que utilizar una herramienta auxiliar como rofi o wofi.

swtchr

Otro nombre digno de un auténtico desarrollador. De verdad que no se en que nos inspiramos para poner estos nombres. Sea como fuere, esta herramienta es bien sencilla, y simplemente sirve para camiar entre aplicaciones, la típica Alt + Tab. La puedes encontrar en GitHub. Es sencilla de configurar y se integra perfectamente con Sway. Además te permite configurar su apariencia utilizando con una hoja de estilos css, lo que es realmente interesante para conseguir una apariencia homogénea de todas las herramientas.

swaync

SwayNotificactionCenter es un sistema de notificaciones con una interfaz gráfica basada en GTK. Igual que la herramienta anterior, puedes personalizar la apariencia utilizando una hoja de estilos css. Puedes encontrar información sobre swaync en GitHub.

No solo te muestra las notificaciones, sino que además tienes un centro de notificaciones que te mostrará todas aquellas que hayas dejado olvidadas.

Esta herramienta seguro que le voy a dar uso, y quiero exprimir, porque tiene bastantes opciones de configuración que por el momento he obviado por completo.

Onagre

Y por fin he encontrado una herramienta que puede llegar a hacer sombra a rofi, y me refiero en este caso a Onagre cuya información puedes encontrar en GitHub.

Onagre es un lanzador de aplicaciones de propósito general para utilizar tanto en X.org como en Wayland, y que está inspirado en Rofi, Wofi y Alfred.

Se trata de una herramienta que está montada sobre pop-launcher, lo que la convierte en una aplicación realmente versátil en tanto en cuanto puedes extender su funcionalidad utilizando el sistema de plugins de esta herramienta.

Por defecto tiene algunos de los plugins, como son el de historial, el control de volumen, la posibilidad de lanzar scripts o ejecutar comandos de terminal. De la misma forma puedes realizar búsquedas en internet o de archivos.

Plugins para Sway

Pero además de esto, he estado pasando algunos complementos de Sway que estaba utilizando de Python a Rust. La cuestión, es que tenía algunos inconvenientes en cuanto a uso, y he decidido solucionarlo de raíz.

Como te conté en el episodio anterior, la cuestión es que la instalación de módulos de Python como root cada vez es mas complicado, lo cual tiene todo el sentido del mundo. Lo mejor es utilizar environment que te evitan la incompatibilidad, pero complica un poco su utilización. Así, para evitar esto, los he implementado en Rust y listo.

Se trata de tres complementos, que están integrados en una única aplicación, que he llamado sway-plugins, y que puedes encontrar en GitHub. Esta herramienta te permite habilitar los siguientes plugins,

  • autonaming, permite renombrar cada espacio de trabajo en base a su contenido. Básicamente lo que hace es asignar un emoji a cada aplicación.
  • autotiling, esta segunda opción te permite realizar el tiling automático en base a las ventanas existentes.
  • autotransparency. Por último, esta opción, te permite seleccionar la transparencia de las ventanas que no tienen el foco, para permitirte enfocarte mejor en tu trabajo.

Todos estos complementos son configurables, y los puedes habilitar a voluntad. Para esto, tienes el archivo de configuración que tiene un aspecto como el que te muestro a continuación,

autonaming:
  enable: true
  duplicates: false
  icons:
    firefox: ""
    kitty: ""
    default: ""
  autotiling:
    enable: true
  autotransparency:
    enable: true
    transparency: 0.5

Si quieres instalarte esta herramienta en tu equipo simplemente tienes que ejecutar el siguiente comando,

cargo install sway-plugins

Y añadir la configuración que necesites. Indicarte que esta aplicación solo admite una instancia en ejecución, y que puedes ver la ayuda ejecutando sway-plugins -h.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *