[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

i3 Administrador de ventanas en mosaico

i3 es un administrador muy ligero, flexible y personalizable window manager con excelente soporte para múltiples monitores. Los administradores de ventanas en mosaico apuntan a maximizar el espacio de la pantalla en mosaico de todas las ventanas abiertas en un modo no superpuesto. Los bordes y botones son prácticamente inexistentes en los administradores de ventanas de mosaico, tienen un aspecto muy minimalista y se centran principalmente en el teclado. Si el concepto de administradores de ventanas en mosaico aún es desconcertante, consulte el i3 oficial screencast.

i3 en Slackware

Slackware no viene con el administrador de ventanas i3. Sin embargo, el proceso de instalación es rápido y fácil. i3 está disponible en SlackBuilds. Tenga en cuenta que debido a una serie de factores, las últimas versiones de i3 no se construirán en versiones ligeramente más antiguas de Slackware:

  • Para los sistemas Slackware anteriores a 14.1, debe instalar i3 versión 4.2.
  • Para Slackware 14.1, la versión más alta de i3 que se compilará sin reemplazar los paquetes de stock de Slackware será i3 4.8.
  • Slackware-current (y posteriormente 14.2) podrá alojar la última versión de i3 (i3wm 4.11)

Puede compilar e instalar las dependencias mediante el tutorial este o mediante sbopkg, un navegador SlackBuild.

i3 Dependencias

Todas las dependencias de i3 también están disponibles en SlackBuilds:

También es muy recomendable instalar i3status y su dependencia confuse.

A partir de la versión 4.8, i3 es capaz de guardar y restaurar sus diseños en espacios de trabajo particulares. Para obtener más información, consulte este.

Si desea utilizar las nuevas funciones, debe instalar más dependencias. Todos ellos están disponibles en Slackbuilds.org:

Iniciando i3

Una vez instalados todos los paquetes, puede salir de X y ejecutar xwmconfig para seleccionar i3 y luego ejecutar startx para iniciar la interfaz gráfica de usuario.

Problemas conocidos

Controlador binario i3 y nVidia

Hasta hace poco, los usuarios de controladores binarios nVidia tenían que agregar el indicador –force-xinerama a su archivo .xinitrc .

# Start i3

if [ -z "$DESKTOP_SESSION" -a -x /usr/bin/ck-launch-session ]; then
    exec ck-launch-session i3 --force-xinerama
else
    exec i3
fi

A partir de la versión 302.17 del controlador binario nVidia, ya no es necesario . (Ver más info)

Configuración i3

Cuando inicie i3 por primera vez, será recibido por i3-config-wizard :

You have not configured i3 yet.
Do you want me to generate ~/.i3/config?

<Enter> Yes, generate ~/.i3/config
<Esc>   No, I will use the defaults

Deje que el asistente genere el archivo de configuración. Entonces enfrentarás otro dilema:

Please choose either:

--> <Win>  Win as default modifier
    <Alt>  Alt as default modifier

Afterwards, press

<Enter> to write ~/.i3/config
<ESC>   to abort

Use las teclas Win y Alt para cambiar entre los modificadores y elegir uno de ellos. En este tutorial uso Alt como modificador predeterminado (uso Win para todo tipo de keybindigs personalizados para evitar conflictos con i3 u otras aplicaciones).

Tenga en cuenta que si ha cambiado la distribución del teclado desde que el asistente generó automáticamente el archivo de configuración, es posible que deba volver a visitar el archivo de configuración y modificar manualmente las combinaciones de teclas

Changing i3 Modifier Key(s)

Es fácil cambiar o agregar modificadores i3. Justo en la parte superior del archivo ~ / .i3 / config verá:

Alt as the default modifier:

set $mod Mod1

Or Win as the default modifier:

set $mod Mod4

También puede configurar un modificador secundario asignándolo a una variable (por ejemplo, $ ms ):

set $mod Mod1
set $ms Mod4

Vinculaciones de teclas para las actividades y aplicaciones más comunes

Las siguientes son algunas combinaciones de teclas básicas para ayudarlo a comenzar. Para obtener un mapa completo de las combinaciones de teclas predeterminadas, consulte here o consulte un archivo config muy comentado ubicado en ~ /. i3 / .

Terminal

Al presionar Alt+Return se inicia un terminal que en Slackware se establece por defecto en xterm . Si desea cambiarlo, modifique la siguiente línea:

bindsym $mod+Return exec i3-sensible-terminal

Specify a terminal of your choice:

bindsym $mod+Return exec /usr/bin/urxvt
Cerrar una ventana

Alt+Shift+Q

Go to a Given Workspace

Alt+2

En este caso, vamos al Espacio de trabajo 2 .

Recargar la configuración

Alt+Shift+C

Reiniciar i3

Alt+Shift+R

Salir de i3

Alt+Shift+E

Agregar sus propias combinaciones de teclas

Si desea iniciar Firefox usando Alt+B, agregue lo siguiente a ~ / .i3 / config :

bindsym $mod+b exec /usr/bin/firefox

Abrir otras aplicaciones

La combinación de teclas Alt+D inicia dmenu donde puede escribir el programa que desea ejecutar.

Diseño del teclado

Visite this HOWTO para configurar la distribución del teclado en i3.

Lectura adicional

i3status

i3status es un generador de barra de estado que le ayudará a mostrar todo tipo de información.

Una vez que haya iniciado i3, debería ver una barra de estado en la parte inferior de la pantalla. Para comenzar a personalizarlo, copie /etc/i3status.conf a ~ / .i3status.conf donde puede colocar sus cambios. La configuración es bastante sencilla. Puede comentar los módulos que no desea que se muestren:

# order  = "ipv6"
order += "disk /"
# order += "run_watch DHCP"
# order += "run_watch VPN"
order += "wireless wlan4"
#order += "ethernet eth0"
# order += "battery 0"
# order += "cpu_temperature 0"
order += "load"
order += "time"

Puede configurar módulos en las secciones a continuación. Por ejemplo:

time {
        format = "%d-%m-%Y %H:%M"
}

Pantalla personalizada i3status

Por defecto, la funcionalidad i3status es algo limitada. Sin embargo, el hecho de que la configuración básica ofrezca solo un puñado de funciones predefinidas no le impide personalizarlo para incluir sus propios scripts.

El método más básico para llamar a i3status es incluir el siguiente código en ~ / i3.config :

bar {
        status_command i3status
}

i3status primero buscará ~ / .i3status.conf y si no está presente, leerá /etc/i3status.conf . También puede especificar manualmente la ubicación del archivo de configuración:

status_command i3status --config ~/.i3/scripts/i3status.conf

En lugar de llamar a i3status aquí, puede ejecutar un script personalizado que iniciará i3status .

status_command /path/to/my/i3-custom-status.sh

i3-custom-status.sh

#!/bin/sh
# shell script to prepend i3status output with some custom stuff

i3status --config ~/.i3status-secondary.conf | while :
do
        read line
        LG=$(setxkbmap -print | grep xkb_symbols | awk -F"+" '{print $2}') 
        pycom=$(/home/user/.i3/pys.py)
        todo=$(task ls | sed -n '4s/[[:blank:]]\+/ /pg' )
        echo "TODO:$todo | LG: $LG | $pycom | $line" || exit 1
done

Lo siguiente debería darle una idea de cómo podría adaptarlo a sus propias necesidades:

LG=$(setxkbmap -print | grep xkb_symbols | awk -F"+" '{print $2}')

La distribución actual del teclado se asigna a la variable LG .

pycom=$(/home/user/.i3/pys.py)

La salida de un script Python se asigna a la variable pycon .

todo=$(task ls | sed -n '4s/[[:blank:]]\+/ /pg' )

La tarea más importante de mi lista de tareas pendientes ( TaskWarrior) se asigna a la variable todo .

echo "TODO:$todo | LG: $LG | $pycom | $line" || exit 1

El contenido de las variables se envía a la barra de estado seguido de la salida predeterminada i3status .

i3status en una configuración de monitores múltiples

Puede identificar sus monitores utilizando la utilidad 'xrandr' (tenga en cuenta que xrandr no es totalmente compatible con versiones anteriores a 302.17 del controlador binario nVidia):

$ xrandr
Screen 0: minimum 8 x 8, current 3840 x 1200, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
VGA-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
...
HDMI-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 519mm x 324mm
   1920x1200      60.0*+
...

Las conexiones activas se identifican como DVI-I-1 y HDMI-0 . Sabiendo esto, podemos configurar salidas separadas para cada pantalla:

bar {
        output DVI-I-1
        status_command i3status
        font -*-terminus-bold-*-normal-*-20-*-*-*-*-*-iso8859-1
        colors {
                background: #002b36
                statusline: #586e75
                focused_workspace: $col3 $col2 $col9
                active_workspace: $col3 $col2 $col16
                inactive_workspace: $col3 $col2 $col3
                urgent_workspace: $col11 $col12 $col13
                }
}

bar {
        output HDMI-0
        status_command /home/user/.i3/scripts/i3status_script.sh
        font -*-terminus-bold-*-normal-*-20-*-*-*-*-*-iso8859-1
}

Soporte i3

Además de excelente documentation tanto para usuarios como desarrolladores de i3, también puede obtener soporte en los siguientes lugares:

  • Suscríbase a la mailing list (Examinar archives)
  • Únase al canal i3 IRC (# i3 en irc.twice-irc.de)
  • Regístrese con el recientemente creado stackexchange-like FAQ section (Actualización: a partir del 20/12/2015 ese sitio es de solo lectura. Las preguntas relacionadas con i3 tienen movido a un nuevo lugar - vea el siguiente punto de viñeta)
  • Preguntas de i3wm en reddit

Funetes

 es:howtos:window_managers:i3wm ()