bspwm (Español)

bspwm es un gestor de ventanas tipo mosaico que organiza las ventanas en un árbol binario completo. Tiene soporte para EWMH y múltiples monitores, y se configura y controla a través de mensajes.

Instalación

Instale bspwm y sxhkd, o las versiones en desarrollo: bspwm-gitAUR y sxhkd-gitAUR. sxhkd es un simple servicio de combinaciones de teclas usables dentro de X, requerido para comunicarse con bspwm y lanzar aplicaciones a elección.

Para comenzar bspwm al iniciar sesión, añada lo siguiente a o (dependiendo de cómo ha escogido iniciar X):

Configuración

Puede encontrar ejemplos de configuración en y en GitHub.

Cree los directorios ~/.config/bspwm/ y ~/.config/sxhkd/, y luego copie a ~/.config/bspwm/ y a ~/.config/sxhkd/. En estos dos archivos se definirán las configuraciones y las combinaciones de teclas, respectivamente. Por último, haga que el archivo bspwmrc sea ejecutable, con .

Las opciones de configuración para cada archivo se encuentran enlistadas y descritas en y .

Para múltiples monitores

El ejemplo de bspwmrc configura diez escritorios para un sólo monitor:

bspc monitor -d I II III IV V VI VII VIII IX X

Esa línea tendría que ser dividida para cada monitor:

bspc monitor DVI-I-1 -d I II III IV
bspc monitor DVI-I-2 -d V VI VII
bspc monitor DP-1 -d VIII IX X

Para averiguar el nombre de sus monitores, puede escribir o en su terminal.

En el ejemplo anterior, el número total de escritorios fue limitado a diez. Esto es para que cada escritorio pueda ser invocado con 'super + {1-9,0}', de acuerdo a al ejemplo de sxhkdrc. La tecla de inicio de Windows es denominada universalmente como 'super', y es la más utilizada en el ejemplo de sxhkdrc.

Reglas

Hay dos formas de definir reglas para el comportamiento de ventanas (a partir de cd97a32).

La primera consiste en usar el comando de regla integrado (bspc), como se muestra en el ejemplo de bspwmrc:

bspc rule -a Gimp desktop=^8 follow=on state=floating
bspc rule -a Chromium desktop=^2
bspc rule -a mplayer2 state=floating
bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off

La segunda opción consiste en usar un comando de regla externo. Esto es más complejo, pero permite diseñar reglas más específicas. Vea estos ejemplos.

Si alguna ventana desobedece a bspwmrc, asegúrese de que la regla correspondiente invoque al programa con el sinónimo ejecutable de su nombre oficial. Puede averiguar dicho sinónimo, ejecutando: (requiere tener xorg-xprop instalado).

Paneles

Aparte de los ejemplos de bspwmrc y de sxhkdrc, en la carpeta examples se encuentra un ejemplo para integrar un panel . Para aprender más acerca de su uso, visite nuestra entrada de lemonbar. Revise las dependencias opcionales que pueda necesitar para su configuración deseada.

El panel se ejecuta incluyendo la línea en su bspwmrc.

Para visualizar información del sistema en la barra de estado, se puede usar diversas llamadas al sistema. El siguiente ejemplo le enseñará a conseguir que su panel muestre el estado del volumen de audio:

Luego, verificaremos que es invocado y redirigido a :

Scratchpad

Se puede emular un scratchpad (un terminal invocado en cualquier lugar del escritorio para ejecutar un comando específico), añadiendo una combinación de teclas para su invocación con :

y añadiendo esta regla:

Véase y .

Para un scratchpad que prescinda de reglas pre-definidas, véase:

Para un scratchpad con más sofisticación de comportamiento, instale tdrop-gitAUR.

bspwmrc como script

Dado que es un script (guión de comandos), usted puede hacer con él cosas como éstas:

Configuraciones diferentes para cada monitor:

#! /bin/sh

 if [[ $(hostname) == 'myhost' ]]; then
     bspc monitor eDP1 -d I II III IV V VI VII VIII IX X
 elif [[ $(hostname) == 'otherhost' ]]; then
     bspc monitor VGA-0 -d I II III IV V
     bspc monitor VGA-1 -d VI VII VIII IX X
 elif [[ $(hostname) == 'yetanotherhost' ]]; then
     bspc monitor DVI-I-3 -d VI VII VIII IX X
     bspc monitor DVI-I-2 -d I II III IV V
 fi
 

Que todas las ventanas sean flotantes:

#!/bin/bash

 # change the desktop number here
 FLOATING_DESKTOP_ID=$(bspc query -D -d '^3')

 bspc subscribe node_manage | while read -a msg ; do
    desk_id=${msg[2]}
    wid=${msg[3]}
    [ "$FLOATING_DESKTOP_ID" = "$desk_id" ] && bspc node "$wid" -t floating
 done
 

(fuente)

Solución de problemas

Aparece una pantalla negra y las combinaciones de teclas no funcionan

Primero que todo, una pantalla negra significa que bspwm está funcionando. Respecto a las combinaciones de teclas, verifique que usted haya seguido los pasos correctamente. Si lo había hecho así, entonces incluya la ejecución de un emulador de terminal en :

Habiendo iniciado X con startx, usted tendrá su emulador de terminal dispuesto. Ahora, tipee . Si el comando no devuelve un número, inténtelo de nuevo asociando sxhkd con sxhkdrc explícitamente, ejecutando .

También puede intentar cambiando la tecla 'super' por 'Alt', en sxhkdrc.

Una aplicación no ocupa todo el espacio de su ventana

Esto puede pasar si está usando aplicaciones GTK3, y especialmente en el caso de los cuadros de diálogo. Si se trata de eso, añada lo siguiente a ~/.config/gtk-3.0/gtk.css:

(fuente: foro de bspwm)

Problemas con aplicaciones Java

Si, por ejemplo, las aplicaciones Java no pueden cambiar de tamaño o sus menús se cierran espontáneamente, véase Java#Gray window, applications not resizing with WM, menus immediately closing.

Véase también

gollark: That seems like the obvious way. Might as well try it.
gollark: These questions are invalid because you can construct a function generating an arbitrary finite sequence of terms.
gollark: As far as I know it is a mildly faster alternative to fully rebooting for kernel updates.
gollark: Nobody really uses the EV ones any more and I don't think there's UI for them, so basically no change.
gollark: Apparently Nvidia is working on actually implementing GBM or whatever thing it was they needed for Wayland support but didn't have.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.