Vous êtes sur la page 1sur 25

GUÍA DEL USUARIO DE I3

Tabla de contenido

1. Default keybindings

2. Using i3
2.1. Opening terminals and moving around
2.2. Changing the container layout
2.3. Toggling fullscreen mode for a window
2.4. Opening other applications
2.5. Closing windows
2.6. Using workspaces
2.7. Moving windows to workspaces
2.8. Resizing
2.9. Restarting i3 inplace
2.10. Exiting i3
2.11. Floating

3. Tree
3.1. The tree consists of Containers
3.2. Orientation and Split Containers
3.3. Focus parent
3.4. Implicit containers

4. Configuring i3
4.1. Comments
4.2. Fonts
4.3. Keyboard bindings
4.4. The floating modifier
4.5. Constraining floating window size
4.6. Orientation for new workspaces
4.7. Layout mode for new containers
4.8. Border style for new windows
4.9. Hiding vertical borders
4.10. Arbitrary commands for specific windows (for_window)
4.11. Variables
4.12. Automatically putting clients on specific workspaces
4.13. Automatically starting applications on i3 startup
4.14. Automatically putting workspaces on specific screens
4.15. Changing colors
4.16. Interprocess communication
4.17. Focus follows mouse
4.18. Mouse warping
4.19. Popups during fullscreen mode
4.20. Focus wrapping
4.21. Forcing Xinerama
4.22. Automatic back-and-forth when switching to the current workspace
4.23. Delaying urgency hint reset on workspace change

5. Configuring i3bar
5.1. i3bar command
5.2. Statusline command
5.3. Display mode
5.4. Bar ID
5.5. Position
5.6. Output(s)
5.7. Tray output
5.8. Font
5.9. Workspace buttons
5.10. Strip workspace numbers
5.11. Binding Mode indicator
5.12. Colors

6. List of commands
6.1. Executing applications (exec)
6.2. Splitting containers
6.3. Manipulating layout
6.4. Focusing/Moving containers
6.5. Changing (named) workspaces/moving to workspaces
6.6. Moving workspaces to a different screen
6.7. Moving containers/workspaces to RandR outputs
6.8. Resizing containers/windows
6.9. Jumping to specific windows
6.10. VIM-like marks (mark/goto)
6.11. Changing border style
6.12. Enabling shared memory logging
6.13. Enabling debug logging
6.14. Reloading/Restarting/Exiting
6.15. Scratchpad
6.16. i3bar control

7. Multiple monitors
7.1. Configuring your monitors
7.2. Interesting configuration for multi-monitor environments

8. i3 and the rest of your software world


8.1. Displaying a status line
8.2. Giving presentations (multi-monitor)

Este documento contiene toda la información que necesita para configurar y utilizar el gestor de ventanas i3. Si no es así, por favor
revise http://faq.i3wm.org/

1. Los atajos de teclado predeterminados

Para el "demasiado largo; no lo leo", aquí tiene una visión general de las combinaciones de teclas por defecto:

Teclas para utilizar con $mod (Alt):


Teclas para utilizar con Shift + $mod:

Las teclas de color rojo son los modificadores que debe pulsar (por defecto), las teclas azules son su homerow.

2. Usando i3

A lo largo de esta guía, la palabra clave $mod será utilizada para referirse al modificador configurado. Esta es la tecla Alt (Mod1) por
defecto, con la tecla de Windows (Mod4) siendo una alternativa popular.

2.1. La apertura de los terminales y moverse


Una operación muy básica es la apertura de una nueva terminal. Por defecto, la combinación de teclas para esto es $mod + Enter, es
decir Alt + Enter en la configuración predeterminada. Pulsando $mod + Enter, se abrirá una nueva terminal. Se llenará todo el
espacio disponible en la pantalla.

Si ahora abre otra terminal, i3 la colocará junto a la actual, dividiendo el tamaño de la pantalla a la mitad. Dependiendo de su
monitor, i3 pondrá la ventana creada junto a la ventana existente (en pantallas anchas) o por debajo de la ventana existente (en
pantallas rotadas).
Para mover el foco entre los dos terminales, puede utilizar las teclas de dirección que se sepa desde el editor vi. Sin embargo, en i3,
su homerow es usado por estas teclas (en vi, las teclas se desplaza a la izquierda por una para la compatibilidad con la
mayoría de los diseños de teclado). Por lo tanto, $mod + J es izquierda, $mod + K es abajo, $mod + L es arriba y $mod + ; es
derecha. Así que, para cambiar entre las terminales, uso $mod + K o $mod + L. Por supuesto, también puede utilizar las
teclas de flecha.

Por el momento, el espacio de trabajo se divide (que contiene dos terminales) en una dirección específica (horizontal por
defecto). Cada ventana puede dividirse en horizontal o vertical de nuevo, al igual que el área de trabajo. La terminología es "ventana"
para un recipiente que contiene realmente una ventana X11 (como un terminal o un navegador) y "container split" para los
contenedores que consisten de uno o más ventanas.

TODO: foto del árbol

Para dividir una ventana verticalmente, pulse $mod + v antes de crear la nueva ventana. Para dividir horizontalmente, pulse $mod +
h.
2.2. Cambiar el diseño de contenedores
Un contenedor de división puede tener uno de los siguientes diseños:
splith / splitv
Tamaño de las ventanas de manera que cada ventana recibe una cantidad igual de espacio en el recipiente.splith distribuye las
ventanas horizontalmente (ventanas están uno al lado del otro), splitv los distribuye verticalmente (ventanas están uno encima del
otro).
apilado
Sólo se muestra la ventana con foco en el contenedor. Puedes obtener una lista de las ventanas en la parte superior del contenedor.
pestañas
El mismo principio que el apilamiento, pero la lista de ventanas en la parte superior es sólo una sola línea que se divide
verticalmente.
Para cambiar de modo, pulse $mod + e para splith / splitv (conmuta), $ + s mod para apilar y $mod + w para pestañas.

2.3. Alternar modo de pantalla completa para una ventana


Para mostrar una ventana en modo de pantalla completa o para salir del modo de pantalla completa de nuevo, pulse $mod + f.
También hay un modo de pantalla completa global en i3 en el que el cliente tendrá una duración de todas las salidas disponibles (el
comando es pantalla completa global).
2.4. La apertura de otras aplicaciones
Aparte de abrir aplicaciones desde un terminal, también se puede utilizar el dmenu mano que se abre pulsando$mod + d por
defecto. Sólo tienes que escribir el nombre (o una parte de ella) de la aplicación que desea abrir.La aplicación correspondiente tiene
que estar en su $ PATH para que esto funcione.
Además, si tiene aplicaciones que abra con mucha frecuencia, puede crear una combinación de teclas para iniciar la aplicación
directamente. Vea la sección [Configuración] para más detalles.
2.5. Cierre las ventanas
Si una aplicación no proporciona un mecanismo para cerrar (la mayoría de las aplicaciones proporcionan un menú, la tecla de escape
o un acceso directo como Control + W para cerrar), puede pulsar $mod + Mayús + qmatar a una ventana. Para las aplicaciones que
soportan el protocolo WM_DELETE, esto cerrará correctamente la aplicación (guardado de las modificaciones o haciendo otra
limpieza). Si la aplicación no admite el protocolo WM_DELETE su servidor X matará a la ventana y el comportamiento depende de la
aplicación.
2.6. El uso de espacios de trabajo
Los espacios de trabajo son una manera fácil de agrupar un conjunto de ventanas. Por defecto, usted está en la primera área de
trabajo, como la barra en la parte inferior izquierda indica. Para cambiar a otra área de trabajo, pulse $mod + num donde num es el
número del área de trabajo que desea utilizar. Si el espacio de trabajo aún no existe, se creará.
Un paradigma común es poner el navegador web en un espacio de trabajo, aplicaciones de comunicación (mutt, irssi, ...) en otro, y
aquellos con los que se trabaja, en la tercera. Por supuesto, no hay ninguna necesidad de seguir este enfoque.
Si tiene varias pantallas, un espacio de trabajo se creará en cada pantalla en el arranque. Si abre un nuevo espacio de trabajo,
quedará vinculado a la pantalla que ha creado en. Al cambiar a un espacio de trabajo en otra pantalla, i3 será establecer el foco en
esa pantalla.
2.7. Mover ventanas para espacios de trabajo
Para mover una ventana a otra área de trabajo, simplemente pulse $mod + Shift + num donde num es (como cuando se cambia de
espacios de trabajo) el número del área de trabajo de destino. Al igual que en los espacios de trabajo de conmutación, se creará el
espacio de trabajo de destino si no existe todavía.
2.8. Cambiar el tamaño
La forma más fácil de cambiar el tamaño de un contenedor es usando el ratón: Coge la frontera y moverlo con el tamaño deseado.
Ver [resizingconfig] para saber cómo configurar i3 para poder cambiar el tamaño de columnas / filas con su teclado.
2.9. Reinicio inplace i3
Para reiniciar i3 en su lugar (y así entrar en un estado limpio, si hay un error, o actualizar a una versión más reciente de i3), puede
utilizar $ + Shift + r mod.
2.10. I3 Salir
Para salir limpiamente i3 sin matar el servidor X, puede utilizar $ + Shift + e mod.
2.11. Flotante
Modo flotante es lo contrario de modo de mosaico. La posición y el tamaño de una ventana no se gestionan automáticamente por i3,
pero manualmente por ti. Usando este modo viola el paradigma de mosaico, pero puede ser útil para algunos casos de esquina como
"Guardar como" ventanas de diálogo o ventanas de barra de herramientas (GIMP o similar). Esas ventanas suelen establecer la pista
apropiada y se abren en modo flotante por defecto.
Puede cambiar el modo flotante para una ventana pulsando $mod + Mayús + Espacio. Arrastrando la barra de título de la ventana
con el ratón puede mover la ventana alrededor. Por el acaparamiento de las fronteras y moviéndolos usted puede cambiar el tamaño
de la ventana. También puede hacer que al utilizar el[floating_modifier] . Otra forma de cambiar el tamaño de las ventanas flotantes
utilizando el ratón es hacer clic derecho sobre la barra de título y arrastre.
Para cambiar el tamaño de las ventanas flotantes con el teclado, consulte [resizingconfig] .
Las ventanas flotantes son siempre en la parte superior de las ventanas de mosaico.
3. Árbol
tiendas i3 toda la información acerca de las X11 salidas, áreas de trabajo y el diseño de las ventanas en ellos en un árbol. El nodo raíz
es la ventana raíz X11, seguido por las salidas de X11, y luego áreas de muelle y un contenedor de contenido, a continuación, espacios
de trabajo y, finalmente, los mismos ventanas. En versiones anteriores de i3 tuvimos varias listas (de salidas, áreas de trabajo) y una
mesa para cada área de trabajo. Este enfoque resultó ser complicado de utilizar (de resorte), entender y aplicar.
3.1. El árbol se compone de Contenedores
Los componentes básicos de nuestro árbol se llaman así Containers. Un contenedor puede albergar una ventana (lo que significa una
ventana X11, que en realidad se puede ver y usar, como un navegador). Alternativamente, podría contener uno o más recipientes. Un
ejemplo sencillo es el espacio de trabajo: Al iniciar i3 con un solo monitor, un único espacio de trabajo y abrir dos ventanas de
terminal, que va a terminar con un árbol como éste:
Figura 1. Dos terminales de espacio de trabajo estándar
3.2. Orientación y Split Contenedores
Es natural para utilizar los llamados contenedores de Split con el fin de construir un diseño al utilizar un árbol como la estructura de
datos. En i3, cada contenedor tiene una orientación (horizontal, vertical o no especificado) y la orientación depende de la disposición
el recipiente está en (vertical para splitv y apilado, horizontal para splith y pestañas). Así, en nuestro ejemplo con el espacio de
trabajo, el diseño predeterminado del espacio de trabajo de contenedores es splith (la mayoría de los monitores de pantalla ancha
son hoy en día). Si cambia el diseño de splitv ($mod + v en la configuración por defecto) y luego abrir dos terminales, i3 configurará
sus ventanas como esta:

Figura 2. Vertical Workspace Orientación


Una nueva característica interesante de i3 desde la versión 4 es la capacidad de dividir cualquier cosa: Supongamos que tiene dos
terminales en un espacio de trabajo (con diseño splith, es la orientación horizontal), se centra en el terminal de la derecha. Ahora
desea abrir otra ventana de terminal debajo de la actual. Si usted acaba de abrir una nueva ventana de terminal, se mostraría a la
derecha debido a la distribución splith. En su lugar, pulse $mod + v para dividir el recipiente con la disposición splitv (para abrir
una división horizontal de contenedores, utilice $mod + h). Ahora se puede abrir una nueva terminal y se abrirá a continuación el
actual:
Figura 3. Vertical de Split Container
Probablemente haya adivinado ya: No hay límite de la profundidad de la jerarquía de divisiones puede ser.
3.3. Padre Focus
Quedémonos con nuestro ejemplo de arriba. Tenemos una terminal en el dos terminales dividida verticalmente sobre la izquierda y
la derecha, el enfoque está en la inferior derecha. Al abrir una nueva terminal, se abrirá debajo de la actual.
Así que, ¿cómo se puede abrir una nueva ventana de terminal a la derecha de la actual? La solución es utilizar el enfoque de los
padres, que se centrará el contenedor principal del contenedor actual. En este caso, se debe enfocar la vertical de división de
contenedores que se encuentra dentro del área de trabajo orientado horizontalmente. Por lo tanto, ahora nuevas ventanas se
abrirán a la derecha de la vertical de Split envase:

Figura 4. Enfoque de los padres, a continuación, abra la nueva terminal


3.4. Contenedores implícitos
En algunos casos, i3 necesita crear implícitamente un contenedor para cumplir con su mandato.
Un ejemplo es el siguiente escenario: Empiezas i3 con un solo monitor y un único espacio de trabajo en el que se abre tres ventanas
de terminal. Todas estas ventanas terminales están unidos directamente a un nodo dentro del árbol de diseño de i3, el nodo del área
de trabajo. Por defecto, la orientación del nodo del área de trabajo eshorizontal.
Ahora se mueve uno de estos terminales hacia abajo ($mod + Shift + k por defecto). Orientación del nodo del área de trabajo se
cambiará a vertical. La ventana de terminal que se mudó hacia abajo se une directamente al área de trabajo y aparece en la parte
inferior de la pantalla. Un nuevo recipiente (horizontal) se ha creado para dar cabida a las otras dos ventanas de terminal. Se le
notificará cuando se cambia al modo de pestañas (por ejemplo). Se podría llegar a tener una pestaña llamada "otro contenedor" y el
otro es la ventana de terminal ha movido hacia abajo.
4. Configuración i3
Aquí es donde comienza la verdadera diversión;-). La mayoría de las cosas son muy dependientes de su entorno de trabajo ideal por
lo que no podemos hacer por defecto razonables para ellos.
Si bien no es el uso de un lenguaje de programación para la configuración, i3 se queda bastante flexible en cuanto a las cosas que
normalmente quiere que su gestor de ventanas que hacer.
Por ejemplo, puede configurar enlaces para saltar a ventanas específicas, puede configurar aplicaciones específicas para comenzar en
las áreas de trabajo específicas, puede iniciar automáticamente aplicaciones, puede cambiar los colores de i3, y puede enlazar sus
claves para hacer cosas útiles.
Para cambiar la configuración del i3, copiar / etc / i3 / config a ~ / .i3 / config (o ~ / .config / i3 / config si te gusta el esquema de
directorio XDG) y editarlo con un editor de texto.
En primer arranque (y en todos los siguientes aperturas, a menos que tenga un archivo de configuración), i3 le ofrece para crear un
archivo de configuración. Usted puede decirle al asistente para utilizar la tecla Alt (Mod1) o Windows (Mod4) como modificador en el
archivo de configuración. Además, el archivo de configuración creado utilizará los símbolos principales de la distribución del teclado
actual. Para iniciar el asistente, utilice el comando i3-config-asistente. Tenga en cuenta que usted no debe tener ~ / .i3 / config, de lo
contrario el asistente se cerrará.
4.1. Comentarios
Es posible y recomendable utilizar los comentarios en el archivo de configuración para documentar adecuadamente la configuración
para su posterior consulta. Los comentarios comienzan con un #, y sólo se pueden utilizar en el principio de una línea:
Ejemplos:
# Esto es un comentario
4.2. Fuentes
i3 tiene soporte para ambas fuentes principales X y fuentes FreeType (a través de Pango) para prestar títulos de las ventanas.
Para generar una descripción de la fuente X núcleo, puede utilizar xfontsel (1). Para ver los caracteres especiales (Unicode), es
necesario utilizar una fuente que soporta la codificación ISO-10646.
Una descripción de la fuente FreeType se compone de una familia de fuentes, un estilo, un peso, una variante, un tramo y un
tamaño. Fuentes FreeType apoyo de derecha a izquierda la representación y contienen a menudo más glifos Unicode que las fuentes
del núcleo X..
Si i3 no puede abrir la fuente configurada, se emite un error en el archivo de registro y caer de nuevo a una fuente de trabajo.
Sintaxis:
fuente <X descripción de la fuente central>
Pango fuente: [lista de la familia] [opciones de estilo] [size]
Ejemplos:
fuente -misc-fijo-medio-r-normal - 13-120-75-75-C-70-iso10646-1
Pango fuente: DejaVu Sans Mono 10
fuente Pango: DejaVu Sans Mono, Terminus Negrita Semi-Condensed 11
Pango fuente: Terminus 11px
4.3. Las asociaciones de teclas
Un teclado marcas vinculantes i3 ejecutar un comando (ver más abajo) al pulsar una tecla específica. i3 permite enlazar ya sea en
códigos de teclas o en keysyms (también se puede mezclar sus fijaciones, aunque i3 no le protegerá de la superposición de los).
Un keysym (símbolo de llave) es una descripción de un símbolo específico, como "a" o "b", sino también los más extraños como
"subrayado" en lugar de "_". Estos son los que utiliza en Xmodmap para reasignar sus llaves. Para obtener la asignación actual de las
teclas, utilice xmodmap -pke. Para introducir interactivamente una clave y ver qué keysym está configurado para, uso xev.
Los códigos de tecla no necesita tener un símbolo asignado (útil para teclas de acceso rápido de proveedores personalizados en
algunos portátiles) y no van a cambiar su significado que se cambia a un diseño de teclado diferente (cuando se usa xmodmap).
Mi recomendación es: Si cambia con frecuencia de las distribuciones de teclado, pero desea mantener sus enlaces en la misma
ubicación física en el teclado, utilice códigos. Si no cambia los diseños, y quiere un archivo de configuración limpia y sencilla, utilice
keysyms.
Algunas herramientas (como la importación o xdotool) podrían no ser capaces de correr en un evento KeyPress, porque el teclado /
puntero sigue agarró. Para estas situaciones, la bandera --release se puede utilizar, el cual ejecutará el comando después de las
claves han sido puestos en libertad.
Sintaxis:
bindsym [--release] comando [modificadores +] keysym
bindcode [--release] comando código clave [+ Modificadores]
Ejemplos:
# Pantalla Completa
bindsym $mod + f pantalla completa

# Reanudar
bindsym $mod + Shift + r reinicio

# teclas de acceso rápido para portátiles específicos


bindcode 214 exec --no-startup-id /home/michael/toggle_beamer.sh

# Simular ctrl + v al pulsar $mod + x


bindsym --release $mod + x exec xdotool --no-startup-id --clearmodifiers clave ctrl + v

# Tome una captura de pantalla al pulsar $mod + x (seleccionar un área)


bindsym --release $mod + x exec --no-startup-id /tmp/latest-screenshot.png importación
Los modificadores disponibles:
Mod1-MOD5, Shift, Control
Modificadores estándar, ver xmodmap (1)
Mode_switch
A diferencia de otros gestores de ventanas, i3 puede utilizar Mode_switch como modificador. Esto permite volver a correlacionar
BloqMayus (por ejemplo) para Mode_switch y lo utilizan para ambos: diéresis mecanografía o caracteres especiales y con algunas
asociaciones de teclas cómodamente alcanzables. Por ejemplo, al escribir, BloqMayus + 1 o BloqMayus + 2 para cambiar los espacios
de trabajo es totalmente conveniente. Inténtelo:-).
4.4. El modificador flotante
Para mover ventanas flotantes con el ratón, puede captar su barra de título o configurar el llamado modificador flotante que luego se
puede presionar y haga clic en cualquier parte de la propia ventana para moverlo. La configuración más común es utilizar la misma
clave se utiliza para la gestión de ventanas (Mod1 por ejemplo). A continuación, puede pulsar Mod1, haga clic en una ventana
utilizando el botón izquierdo del ratón, y arrástrelo a la posición que desee.
Cuando se mantenga el modificador flotante, puede cambiar el tamaño de una ventana flotante pulsando el botón derecho del ratón
sobre él y moverse mientras la sostiene. Si mantiene el botón de cambio, así, el cambio de tamaño será proporcional (la relación de
aspecto se mantendrá).
Sintaxis:
floating_modifier <modificadores>
Ejemplo:
floating_modifier Mod1
4.5. Restricción tamaño de la ventana flotante
Las dimensiones máximas y mínimas de las ventanas flotantes se pueden especificar. Si se especifica ya sea de
dimensión floating_maximum_size como -1, esa dimensión será sin restricciones con respecto a su valor máximo.Si cualquiera de
dimensión de floating_maximum_size es indefinido, o especifica como 0, i3 utilizará un valor por defecto para limitar el tamaño
máximo. Floating_minimum_size se trata de una manera análoga afloating_maximum_size.
Sintaxis:
floating_minimum_size <ancho> x <altura>
floating_maximum_size <ancho> x <altura>
Ejemplo:
floating_minimum_size 75 x 50
floating_maximum_size -1 x -1
4.6. Orientación para nuevos espacios de trabajo
Nuevos espacios de trabajo reciben una orientación predeterminada razonable: monitores de pantalla ancha (algo más ancha que
alta) obtener orientación horizontal, monitores girado (nada más alto que ancho) obtener orientación vertical.
Con la directiva de configuración default_orientation, puede anular ese comportamiento.
Sintaxis:
default_orientation <horizontal | verticales | auto>
Ejemplo:
default_orientation verticales
4.7. El modo de diseño para los nuevos contenedores
Esta opción determina en qué modo los nuevos contenedores a nivel de área de trabajo se iniciará.
Sintaxis:
workspace_layout <default | apilamiento | pestañas>
Ejemplo:
workspace_layout pestañas
4.8. Estilo del borde de las ventanas nuevas
Esta opción determina qué borde de estilo ventanas nuevas tendrán. El valor predeterminado es "normal". Tenga en cuenta que
new_float se aplica sólo a las ventanas que están empezando como ventanas flotantes, por ejemplo, las ventanas de diálogo.
Sintaxis:
new_window <clasica | 1pixel | none | pixel>
new_float <clasica | 1pixel | none | pixel>
Ejemplo:
new_window 1pixel
Las y los "píxeles" estilos "normales" fronterizos soportan un ancho de borde opcional en píxeles:
Ejemplo:
# El mismo que ninguno new_window
pixel new_window 0

# A 3 px frontera
pixel new_window 3
4.9. Cómo ocultar bordes verticales
Puede ocultar los bordes verticales adyacentes a los bordes de la pantalla utilizando hide_edge_borders. Esto es útil si usted está
usando barras de desplazamiento, o no quiere perder ni dos píxeles en displayspace. El valor predeterminado es Ninguno.
Sintaxis:
hide_edge_borders <ninguno | verticales | horizontal | tanto>
Ejemplo:
hide_edge_borders verticales
4.10. Comandos arbitrarios para las ventanas específicas (for_window)
Con el comando for_window, puede dejar i3 ejecutar cualquier comando cuando se encuentra con una ventana específica. Esto se
puede utilizar para configurar las ventanas para flotar o para cambiar su estilo de borde, por ejemplo.
Sintaxis:
for_window <criterios> comando
Ejemplos:
# Habilitar el modo flotante para todas las ventanas xterm
for_window [class = "XTerm"] flotante permitirá

# Hacer todas urxvts utilizan un borde de 1 píxel:


for_window [class = "urxvt"] 1pixel frontera

# A menos útil, sino más bien divertido ejemplo:


# Hace que la ventana flotante tan pronto como puedo cambiar
# Directorio a ~ / trabajo
for_window [title = "x200: ~ / trabajo"] flotante permitirá
Los criterios válidos son los mismos que aquellos para los comandos, ver [command_criteria] .
4.11. Variables
Como aprendió en la sección acerca de las asociaciones de teclas, usted tendrá que configurar un montón de enlaces que contienen
teclas modificadoras. Si quieres ahorrar un poco de escribir y ser capaz de cambiar el modificador se utiliza más tarde, las variables
pueden ser útiles.
Sintaxis:
set valor $ name
Ejemplo:
set $ m Mod1
bindsym $ m + Shift + r reinicio
Las variables se sustituyen directamente en el archivo al analizar. Variables de expansión no es recursivo por lo que no es posible
definir una variable con un valor que contiene otra variable. No hay manipulación de lujo y hay absolutamente ningún plan de
cambiar esto. Si necesita una configuración más dinámica se debe crear un pequeño script que genera un archivo de configuración y
ejecutarlo antes de iniciar i3 (por ejemplo en su archivo ~ / .xsession).
4.12. Poner automáticamente a los clientes en las áreas de trabajo específicas
Para hacer automáticamente una vidriera específica para arriba en un espacio de trabajo específico, puede utilizar
una asignación. Puede coincidir con ventanas utilizando cualquier criterio, ver [command_criteria] . Se recomienda que usted
empareja en clases de ventana (y los casos, en su caso) en lugar de títulos de las ventanas siempre que sea posible porque algunas
aplicaciones primero crean su ventana y, a continuación, se preocupan por establecer el título correcto. Firefox con Vimperator viene
a la mente. La ventana comienza a ser llamado Firefox, y sólo cuando se carga Vimperator hace el cambio de título. Como i3 obtendrá
el título tan pronto como la aplicación de mapas de la ventana (mapeo significa en realidad que muestra en la pantalla), usted
necesita tener para que coincida con el Firefox en este caso.
Las asignaciones son procesados por i3 en el orden en el que aparecen en el archivo de configuración. La primera que coincide con
los triunfos de las ventanas y las tareas posteriores no se consideran.
Sintaxis:
asignar <criterios> [→] espacio de trabajo
Ejemplos:
Terminales # Asignar urxvt a espacio de trabajo 2
asignar [class = "urxvt"] 2

# Lo mismo, pero más preciso (coincidencia exacta en lugar de subcadena)


asignar [class = "^ urxvt $"] 2

# Lo mismo, pero con una hermosa flecha :)


asignar [class = "^ urxvt $"] → 2

# La asignación a un espacio de trabajo llamado


asignar [class = "^ urxvt $"] → trabajo

# Inicio urxvt -name irssi


asignar [class = instancia "^ urxvt $" = "^ $ irssi"] → 3
Tenga en cuenta que no es necesaria la flecha, que sólo se ve bien:-). Si decide utilizarlo, tiene que ser una flecha de codificación UTF-
8, no -> o algo por el estilo.
Para llegar a la clase y la instancia, puede utilizar xprop. Después de hacer clic en la ventana, verá el siguiente resultado:
xprop:
WM_CLASS (CADENA) = "irssi", "urxvt"
La primera parte de la WM_CLASS es la instancia ("irssi" en este ejemplo), la segunda parte es la clase ("urxvt" en este ejemplo).
En caso de tener problemas con las tareas, asegúrese de comprobar el archivo de registro i3 primero
(verhttp://i3wm.org/docs/debugging.html ). Incluye más detalles sobre el proceso de correspondencia y de clase real, ejemplo de la
ventana y el título en el arranque.
Tenga en cuenta que si desea iniciar una aplicación sólo una vez en un espacio de trabajo específico, pero usted no desea asignar
todos los casos de forma permanente, se puede hacer uso de la ayuda de arranque a la notificación de i3 (ver [exec] ) en su archivo
de configuración de la siguiente manera:
Iniciar iceweasel en espacio de trabajo 3 (una vez):
# Iniciar iceweasel en espacio de trabajo 3, a continuación, cambiar de nuevo a espacio de trabajo 1
# (Al ser una utilidad de línea de comandos, i3-msg no admite notificaciones de inicio,
# De ahí el inicio-id --no-exec.)
# (A partir iceweasel con el comando exec de i3 es importante con el fin de hacer i3
# Crear un contexto notificación de inicio, sin el cual la ventana iceweasel (s)
# No puede ser igualada en el espacio de trabajo en el que se inició el comando.)
exec --no-startup-id i3-msg 'espacio de trabajo 3; iceweasel ejecutivo; espacio de trabajo 1 '
4.13. Inicio automático de las aplicaciones en el arranque i3
Mediante el uso de la palabra clave ejecutivo fuera una combinación de teclas, puede configurar qué comandos se llevará a cabo por
i3 en el arranque inicial. Comandos de ejecución no se ejecutará al reiniciar i3, si necesita un comando para ejecutar también al
reiniciar i3 se debe utilizar la palabra clave exec_always. Estos comandos se ejecutan en orden.
Sintaxis:
exec comando [--no-startup-id]
exec_always comando [--no-startup-id]
Ejemplos:
cromo exec
exec_always ~ / my_script.sh

# Ejecutar el urxvt emulador de terminal, que aún no es startup-notification consciente.


exec urxvt --no-startup-id
La bandera --no-startup-id se explica en [exec] .
4.14. Poner automáticamente las áreas de trabajo en las pantallas específicas
Si asigna clientes a espacios de trabajo, podría ser útil para poner las áreas de trabajo en las pantallas específicas. Además, la
asignación de espacios de trabajo para pantallas determinará qué espacio de trabajo i3 usa para una nueva pantalla al agregar
pantallas o al iniciar (por ejemplo, de forma predeterminada, use 1 para la primera pantalla, 2 para la segunda pantalla y así
sucesivamente).
Sintaxis:
espacio de trabajo <espacio de trabajo> salida <output>
La salida es el nombre de la salida RandR para colocarlo pantalla para. En un portátil, es posible que tenga VGA1 y LVDS1 como
nombres de salida. Usted puede ver las salidas disponibles ejecutando --current xrandr.
Si utiliza espacios de trabajo con nombre, que podrá ser citado:
Ejemplos:
espacio de trabajo 1 salida LVDS1
espacio de trabajo 5 Salida VGA1
espacio de trabajo "2: vim" VGA1 salida
4.15. Cambio de colores
Usted puede cambiar todos los colores que i3 utiliza para dibujar las decoraciones de las ventanas.
Sintaxis:
indicador de texto fondo frontera colorclass
Donde colorclass puede ser uno de:
client.focused
Un cliente que actualmente tiene el foco.
client.focused_inactive
Un cliente que es el centrado del envase, pero no tiene el foco en este momento.
client.unfocused
Un cliente que no es el centrado de su contenedor.
client.urgent
Un cliente que ha activado su consejo de urgencia.
client.placeholder
Antecedentes y color del texto se utilizan para extraer contenido de la ventana de marcador de posición (al restaurar
layouts). Fronteriza y el indicador se ignoran.
También puede especificar el color que se utilizará para pintar el fondo de las ventanas del cliente. Este color se utiliza para pintar la
ventana en la parte superior de la cual no se prestará el cliente.
Sintaxis:
de color client.background
Sólo los clientes que no cubren toda el área de la ventana exponen el color utilizado para pintarlo.
Los colores son en formato hexadecimal HTML (#rrggbb), consulte el siguiente ejemplo:
Ejemplos (colores por defecto):
# Backgr clase frontera. indicador de texto
# client.focused 4c7899 # 285577 #ffffff # 2e9ef4
client.focused_inactive # 333333 # 5f676a #ffffff # 484e50
client.unfocused # 333333 # 222222 # 888888 # 292d2e
client.urgent # 2f343a # 900000 #ffffff # 900000
client.placeholder # 000000 # 0c0c0c #ffffff # 000000
Tenga en cuenta que para la decoración de ventana, el color alrededor de la ventana secundaria es el color de fondo y el color del
borde es de sólo las dos líneas delgadas en la parte superior de la ventana.
El color del indicador se utiliza para indicar donde se abrirá una nueva ventana. Para los envases de división horizontal, el borde
derecho será pintado en color del indicador, para los envases de división vertical, el borde inferior. Esto sólo se aplica a las ventanas
individuales dentro de un contenedor de división, que son de otra manera indistinguible de ventanillas únicas exterior de un
recipiente dividido.
4.16. La comunicación entre procesos
i3 utiliza conectores Unix para proporcionar una interfaz IPC. Esto permite que los programas de terceros para obtener información
de i3, como los espacios de trabajo actuales (para mostrar una barra de área de trabajo), y para el control de i3.
La toma IPC está activada por defecto y se creará en /tmp/i3-%u.XXXXXX/ipc-socket.%p donde% u es su nombre de usuario UNIX,%
p es el PID del i3 y XXXXXX es una cadena de azar caracteres del juego de caracteres de nombre de archivo portátil (ver mkdtemp (3)).
Puede anular la ruta predeterminada a través de la I3SOCK-variable de entorno o especificando la directiva ipc-socket. Esto no se
recomienda, sin embargo, ya i3 hace lo correcto por defecto. Si decide cambiarlo, se recomienda encarecidamente establecer esto en
un lugar en su directorio personal para que ningún otro usuario puede crear ese directorio.
Ejemplos:
ipc-socket ~ / .i3 / i3-ipc.sock
A continuación, puede utilizar la aplicación-i3 msg para realizar cualquier comando que se indica en la siguiente sección.
4.17. Foco sigue al ratón
Por defecto, foco de la ventana sigue los movimientos del ratón. Sin embargo, si usted tiene una configuración donde el puntero del
ratón por lo general se encuentra en su camino (como un touchpad en su computadora portátil que usted no desea desactivar por
completo), es posible que desee desactivar foco sigue al ratón y el enfoque de control sólo mediante el uso de su teclado. El ratón
seguirá siendo útil dentro de la ventana activa en ese momento (por ejemplo, para hacer clic en los enlaces en la ventana del
navegador).
Sintaxis:
focus_follows_mouse <yes | no>
Ejemplo:
focus_follows_mouse ninguna
4.18. Ratón deformación
Por defecto, al pasar el foco a una ventana en una salida diferente (por ejemplo, centrándose en una ventana del área de trabajo 3 en
la salida VGA-1, procedente de área de trabajo 2 en LVDS-1), el cursor del ratón se ha pervertido hasta el centro de la ventana.
Con la opción de mouse_warping, puede controlar cuando el cursor del ratón debe ser deformado. Ningunodesactiva deformación
por completo, mientras que la producción es el comportamiento predeterminado descrito anteriormente.
Sintaxis:
mouse_warping <Salida | ninguna>
Ejemplo:
mouse_warping ninguno
4.19. Popups durante el modo de pantalla completa
Cuando se encuentra en modo de pantalla completa, algunas aplicaciones fijas ventanas emergentes abierta (toman Xpdf por
ejemplo). Esto se debe a que estas aplicaciones pueden no ser conscientes de que están en modo de pantalla completa (no
comprueban la indirecta correspondiente). Hay tres cosas que son posibles de hacer en esta situación:
Mostrar la ventana emergente si pertenece sólo a la aplicación de pantalla completa. Este es el valor por defecto y debe ser un
comportamiento razonable para la mayoría de usuarios.
Simplemente ignorar la ventana emergente (no asignarla). Esto no le interrumpe mientras está en pantalla completa. Sin embargo,
algunas aplicaciones pueden reaccionar mal a este (punto muerto hasta que se vaya fuera de pantalla completa).
Deja modo de pantalla completa.
Sintaxis:
popup_during_fullscreen <inteligente | ignorar | leave_fullscreen>
Ejemplo:
popup_during_fullscreen inteligente
4.20. Enfoque envoltura
Al estar en un contenedor de pestañas o apiladas, el primer contenedor se centrará cuando utiliza centrarse abajo en el último
contenedor - el foco envuelve. Sin embargo, si hay otro / contenedor con fichas apiladas en esa dirección, el enfoque se realizará en
ese contenedor. Este es el comportamiento predeterminado para que pueda navegar a todas sus ventanas sin tener que utilizar el
enfoque de los padres.
Si desea que el enfoque para envolver siempre y que son conscientes de la función de enfoque de los padrespara cambiar a
diferentes contenedores, puede usar la directiva de configuración force_focus_wrapping. Después de haberlo activado, el enfoque
siempre envolverá.
Sintaxis:
force_focus_wrapping <yes | no>
Ejemplo:
force_focus_wrapping sí
4.21. Forzar Xinerama
Como se explica en profundidad en http://i3wm.org/docs/multi-monitor.html , algunos controladores de vídeo X11 (especialmente el
controlador binario de nVidia) sólo proporcionan apoyo a Xinerama lugar de RandR. En tal situación, i3 se le debe decir al utilizar la
API de Xinerama inferior explícitamente y por lo tanto no proporcionan soporte para la reconfiguración de sus pantallas sobre la
marcha (se leen una sola vez en el arranque y eso es todo).
Para las personas que no pueden modificar su ~ / .xsession para agregar el parámetro de línea de comandos --force-xinerama, se
proporciona una opción de configuración:
Sintaxis:
force_xinerama <yes | no>
Ejemplo:
force_xinerama sí
También tenga en cuenta que los nombres de salida no son descriptivos (como HDMI1) al utilizar Xinerama, sino que se cuentan
hasta, a partir de las 0: xinerama-0, xinerama-1, ...
4.22. De ida y vuelta automática al cambiar al espacio de trabajo actual
Esta directiva de configuración permite back_and_forth espacio de trabajo automática (ver [back_and_forth] ) cuando se cambia al
área de trabajo que se centra en la actualidad.
Por ejemplo: Suponga que usted es el espacio de trabajo "1: www" y cambia a "2: IM" usando mod + 2 porque alguien te ha enviado
un mensaje. No es necesario recordar de dónde vienes ahora, sólo tiene que pulsar $mod + 2 de nuevo para volver a "1: www".
Sintaxis:
workspace_auto_back_and_forth <yes | no>
Ejemplo:
workspace_auto_back_and_forth sí
4.23. El retraso de reinicio consejo de urgencia sobre el cambio de área de trabajo
Si una aplicación en otro espacio de trabajo establece un consejo de urgencia, el cambio a este espacio de trabajo puede llevar a la
atención inmediata de la aplicación, lo que significa también el color de la ventana de la decoración sería inmediatamente pone
a client.focused. Esto puede hacer que sea innecesariamente difícil saber qué ventana originalmente provocó el evento.
Para evitar esto, se puede decir i3 para retrasar el restablecimiento del estado de urgencia por un tiempo determinado usando la
directiva force_display_urgency_hint. Establecer el valor de 0 desactiva esta función.
El valor predeterminado es 500 ms.
Sintaxis:
force_display_urgency_hint <timeout> ms
Ejemplo:
force_display_urgency_hint 500 ms
5. Configuración i3bar
La barra en la parte inferior de su monitor es dibujado por un proceso separado llamado i3bar. Tener esta parte de "la interfaz de
usuario i3" en un proceso separado tiene varias ventajas:
Es un enfoque modular. Si usted no necesita una barra de espacio de trabajo en absoluto, o si lo prefiere uno diferente (dzen2,
xmobar, tal vez incluso gnome-panel?), Puede simplemente eliminar la configuración i3bar y comenzar su bar favorito en su lugar.
Sigue la filosofía de UNIX "Haga que cada programa haga una cosa así". Mientras i3 gestiona bien sus ventanas, i3bar es bueno en
mostrar una barra en cada monitor (a menos que se configure de otra manera).
Esto lleva a dos bases de código, limpias separadas. Si usted quiere entender i3, usted no tiene que molestarse con los detalles de
i3bar y viceversa.
Dicho esto, i3bar se configura en el mismo archivo de configuración como i3. Esto se debe a que está estrechamente unida con i3 (en
contrario a i3lock o i3status que son útiles para las personas que utilizan otros gestores de ventanas). Por lo tanto, no tiene sentido
utilizar un lugar diferente configuración cuando ya tenemos una buena infraestructura de configuración en su lugar.
Configuración de la barra de espacio de trabajo se inicia con la apertura de una barra bloque. Puede tener varios bloques de barras
para utilizar diferentes ajustes para diferentes salidas (monitores):
Ejemplo:
bar {
status_command i3status
}
5.1. comando i3bar
Por i3 defecto será sólo tiene que pasar i3bar y deje que su cáscara manejar la ejecución, la búsqueda de su $ PATH para una versión
correcta. Si usted tiene un i3bar diferente en algún lugar o el binario no está en su $ PATH se puede decir i3 lo ejecute.
El comando especificado se pasará a sh -c, para que pueda utilizar comodines y tiene que tener citado correcto etc.
Sintaxis:
comando i3bar_command
Ejemplo:
bar {
i3bar_command / home / user / bin / i3bar
}
5.2. Comando de línea de estado
i3bar puede ejecutar un programa y mostrar cada línea de su salida stdout en el lado derecho de la barra. Esto es útil para mostrar la
información del sistema, como su dirección IP actual, estado de la batería o la fecha / hora.
El comando especificado se pasará a sh -c, para que pueda utilizar comodines y tiene que tener citado correcto etc.
Sintaxis:
comando status_command
Ejemplo:
bar {
status_command i3status --config ~ / .i3status.conf
}
5.3. Modo de visualización
Usted puede tener i3bar ser visible permanentemente en un borde de la pantalla (modo de muelle) o hacer que se muestre al pulsar
su tecla de modificación (ocultar modo). También es posible forzar i3bar para permanecer siempre (modo invisible) oculta. La tecla
de modificación se puede configurar mediante la opción de modificación.
La opción de modo se puede cambiar en tiempo de ejecución a través de la orden de modo de barra. En el modo de recarga se volvió
a su valor configurado.
El modo de ocultar maximiza el espacio de pantalla que se puede utilizar para las ventanas reales. También, i3bar envía las
señales SIGSTOP y SIGCONT al proceso de línea de estado para ahorrar energía de la batería.
Modo invisible permite maximizar permanentemente espacio en la pantalla, como la barra no se muestra nunca.Por lo tanto, puede
configurar i3bar para no molestar por aparecer debido a un consejo de urgencia o porque se presiona la tecla de modificación.
Con el fin de controlar si i3bar se oculta o se muestra en el modo de ocultar, existe la opción hidden_state, que no tiene ningún
efecto en el modo de muelle o el modo invisible. Indica el hidden_state actual de la barra: (1) La barra actúa como en el modo de
ocultar lo normal, es oculto y sólo está visible en el caso de los consejos de urgencia o pulsando la tecla de
modificación (ocultar estado), o (2) es dibujado en la parte superior del área de trabajo actualmente visible (mostrar estado).
Al igual que el modo, la hidden_state también se puede controlar a través de i3, esto se puede hacer mediante el comando bar
hidden_state.
El modo predeterminado es el modo de muelle; en modo oculto, el modificador por defecto es (normalmente la tecla windows)
Mod4. El valor por defecto para el hidden_state es ocultar.
Sintaxis:
modo <muelle | ocultar | invisible>
hidden_state <ocultar | espectáculo>
modificador <modificador>
Ejemplo:
bar {
modo de ocultar
ocultar hidden_state
modificador Mod1
}
Modificadores disponibles son Mod1-MOD5, Shift, Control (ver xmodmap (1)).
5.4. Bar ID
Especifica el ID de barras para la instancia de la barra configurada. Si esta opción no está presente, la ID se establece en bar-x, donde
x corresponde a la posición de la barra bloque incrustación en el archivo de configuración (bar-0, bar-1, ...).
Sintaxis:
Identificación del <bar_id>
Ejemplo:
bar {
Identificación del bar-1
}
5.5. Posición
Esta opción determina en qué borde de la pantalla i3bar debería aparecer.
El valor predeterminado es inferior.
Sintaxis:
posición <top | inferior>
Ejemplo:
bar {
posición superior
}
5.6. De salida (s)
Puede restringir i3bar a una o más salidas (monitores). El valor predeterminado es manejar todas las salidas. La restricción de las
salidas es útil para el uso de diferentes opciones para diferentes salidas mediante el uso de varios bloques de barras.
Para hacer una instancia i3bar particular, manejar múltiples salidas, especifique la directiva de salida varias veces.
Sintaxis:
salida <output>
Ejemplo:
# Monitor grande: todo
bar {
# La pantalla está conectada ya sea a través de HDMI oa través de DisplayPort
salida HDMI 2
salida DP2
status_command i3status
}

# Monitor del ordenador portátil: colores brillantes y i3status con menos módulos.
bar {
LVDS1 salida
status_command i3status --config ~ / .i3status-small.conf
colores {
fondo # 000000
#ffffff línea de estado
}
}
5.7. Bandeja de salida
i3bar por defecto proporciona un área de la bandeja del sistema, donde programas como NetworkManager, VLC, Pidgin, etc. pueden
colocar pequeños iconos.
Se puede configurar en el que la salida (monitor) los iconos deben mostrarse o puede desactivar la funcionalidad del todo.
Sintaxis:
tray_output <ninguno | primaria | salida>
Ejemplo:
# Bandeja del sistema desactiva
bar {
tray_output ninguno
}

Iconos # show bandeja en el monitor principal


primaria tray_output

Iconos # show bandeja en la gran pantalla


bar {
tray_output HDMI2
}
Tenga en cuenta que puede que no tenga una salida primaria configurado todavía. Para ello, ejecute:
xrandr --output <output> --primary
5.8. Fuente
Especifica el tipo de letra que se utilizará en el bar. Ver [fuentes] .
Sintaxis:
fuente <font>
Ejemplo:
bar {
fuente -misc-fijo-medio-r-normal - 13-120-75-75-C-70-iso10646-1
Pango fuente: DejaVu Sans Mono 10
}
5.9. Botones de área de trabajo
Especifica si los botones del espacio de trabajo se deben mostrar o no. Esto es útil si desea mostrar un bar-línea de estado sólo
contiene información adicional.
El valor por defecto es mostrar los botones del espacio de trabajo.
Sintaxis:
workspace_buttons <yes | no>
Ejemplo:
bar {
workspace_buttons ninguna
}
5.10. Números del espacio de trabajo de Gaza
Especifica si los números de área de trabajo se deben mostrar en los botones del espacio de trabajo. Esto es útil si usted quiere tener
un espacio de trabajo con nombre que se mantiene en orden en la barra de acuerdo a su número sin mostrar el prefijo numérico.
Cuando strip_workspace_numbers está establecida en Sí, cualquier espacio de trabajo que tiene un nombre de la forma "[n]:
[NOMBRE]" mostrará sólo el nombre. Usted podría utilizar esto, por ejemplo, para mostrar los números romanos en lugar de dígitos
al nombrar a las áreas de trabajo en "1: I", "2: II", "3: III", "4: IV", ...
El valor por defecto es mostrar el nombre completo en el botón de espacio de trabajo.
Sintaxis:
strip_workspace_numbers <yes | no>
Ejemplo:
bar {
strip_workspace_numbers sí
}
5.11. Encuadernación Indicador de modo
Especifica si el indicador de modo de unión actual se debe mostrar o no. Esto es útil si desea ocultar los botones del espacio de
trabajo pero aún así ser capaz de ver el indicador de modo de unión actual. Para un ejemplo de una definición de
modo, vea [resizingconfig] .
El valor por defecto es mostrar el indicador de modo.
Sintaxis:
binding_mode_indicator <yes | no>
Ejemplo:
bar {
binding_mode_indicator ninguna
}
5.12. De color
Al igual que con i3, los colores son en formato hexadecimal HTML (#rrggbb). Los siguientes colores se pueden configurar en este
momento:
fondo
Color de fondo de la barra.
línea de estado
El color del texto que se utilizará para la línea de estado.
separador
El color del texto que se utilizará para el separador.
focused_workspace
Frontera, fondo y color del texto de un botón del espacio cuando el espacio de trabajo tiene el foco.
active_workspace
Frontera, fondo y color del texto de un botón del espacio cuando el espacio de trabajo está activo (visible) en una salida, pero la
atención se centra en otro. Sólo se puede decir que este aparte del espacio de trabajo de la concentración cuando está utilizando
varios monitores.
inactive_workspace
Frontera, fondo y color del texto de un botón del espacio cuando el espacio de trabajo no tiene el foco y no está activo (visible) en
cualquier salida. Este será el caso para la mayoría de los espacios de trabajo.
urgent_workspace
Frontera, fondo y color del texto de un botón del espacio cuando el espacio de trabajo contiene una ventana con el conjunto consejo
de urgencia. También se aplica a los indicadores de modo.
Sintaxis:
colores {
fondo <color>
línea de estado <color>
separador <color>

colorclass <frontera> <fondo> <texto>


}
Ejemplo (colores por defecto):
bar {
colores {
fondo # 000000
#ffffff línea de estado
separador # 666666

focused_workspace # 4c7899 # 285577 #ffffff


active_workspace # 333333 # 5f676a #ffffff
inactive_workspace # 333333 # 222222 # 888888
urgent_workspace # 2f343a # 900000 #ffffff
}
}
6. Lista de comandos
Los comandos son lo que ates a las pulsaciones de teclas específicas. También puede emitir comandos en tiempo de ejecución sin
tocar el teclado mediante la interfaz IPC. Una manera fácil de hacerlo es utilizar lautilidad de i3 msg:
Ejemplo:
# Ejecutar esto en su caparazón para hacer que el contenedor actual sin fronteras
i3-msg ninguna frontera
Los comandos se pueden encadenar utilizando; (punto y coma). Así, para mover una ventana a un espacio de trabajo específico e
inmediatamente cambiar a ese espacio de trabajo, puede configurar la siguiente combinación de teclas:
Ejemplo:
bindsym $ contenedor mod + x movimiento al espacio de trabajo 3; espacio de trabajo 3
Además, usted puede cambiar el ámbito de un comando - es decir, que los contenedores deben verse afectados por ese comando,
utilizando diversos criterios. Los criterios se especifican antes de cualquier comando en un par de corchetes y están separados por el
espacio.
Al utilizar varios comandos, separarlos utilizando un , (coma) en lugar de un punto y coma. Criterios se aplican sólo hasta el próximo
punto y coma, por lo que si usted utiliza un punto y coma para separar los comandos, sólo el primero se ejecutarán por la ventana (s)
emparejado.
Ejemplo:
# Si quieres matar a todas las ventanas que tienen la clase Firefox, utilice:
bindsym $mod + x [class = "Firefox"] matar

# Lo mismo, pero entre mayúsculas y minúsculas


bindsym $mod + x [class = "(? i) firefox"] matar

# Matar sólo el diálogo Acerca de Firefox


bindsym $mod + x [class = "Firefox" window_role = "Acerca de"] matar

# Habilitar el modo flotante y mover contenedores de espacio de trabajo 4


for_window [class = "^ mal app $"] flotante permite, contenedor movimiento al espacio de trabajo 4
Los criterios que se aplican en la actualidad son:
clase
Compara la clase de ventana (la segunda parte de WM_CLASS)
ejemplo
Compara la instancia de la ventana (la primera parte de WM_CLASS)
window_role
Compara la función ventana (WM_WINDOW_ROLE).
identificación
Compara el ID de ventanas X11, que se puede obtener a través de xwininfo por ejemplo.
título
Compara el título de la ventana X11 (_NET_WM_NAME o WM_NAME como de retorno).
urgente
Compara el estado de urgencia de la ventana. Puede ser "reciente" o "más antiguo". Coincide con el más reciente o más antigua
ventana urgente, respectivamente. (Los siguientes alias también están disponibles: el más nuevo, el pasado, reciente, en primer
lugar)
con_mark
Compara la marca establecida para este contenedor, ver [vim_like_marks] .
con_id
Compara el ID de contenedor-i3 interna, que se puede obtener a través de la interfaz del IPC. Práctico para scripting.
El criterio de clase , ejemplo , papel , título y marca son en realidad expresiones regulares (PCRE). Ver pcresyntax (3) o perlre
perldoc para obtener información sobre cómo usarlos.
6.1. Ejecución de aplicaciones (EXEC)
¿De qué sirve un gestor de ventanas si no puede realmente comenzar cualquier aplicación? El comando exec inicia una aplicación
pasando el mandato que especifique para una concha. Esto implica que se puede utilizar con englobamiento (comodines) y los
programas se buscará en su $ PATH.
Sintaxis:
exec comando [--no-startup-id]
Ejemplo:
# Inicie el GIMP
bindsym $mod + g exec gimp

# Inicie el urxvt emulador de terminal que aún no es startup-notification-consciente


bindsym $mod + Retorno exec urxvt --no-startup-id
El --no-startup-id parámetro deshabilita el soporte de inicio a la notificación de este comando exec particular. Con inicio a la
notificación, i3 puede asegurarse de que aparezca una ventana en el espacio de trabajo en el que se utilizó el comando
exec. También, que va a cambiar el cursor X11 para ver (un reloj) mientras la aplicación está poniendo en marcha. Por lo tanto, si una
aplicación no se startup-notification consciente (la mayoría de GTK y Qt que utilizan aplicaciones parecen ser, sin embargo), que va a
terminar con un cursor reloj durante 60 segundos.
6.2. La división de envases
El comando de división hace que la ventana actual de un recipiente dividido. Contenedores divididos pueden contener varias
ventanas. Dependiendo del diseño del contenedor split, ventanas nuevas consiguen colocarse a la derecha de la actual (splith) o
ventanas nuevas quedar colocado debajo de la actual (splitv).
Si se aplica este comando a un contenedor dividido con la misma orientación, no pasará nada. Si utiliza una orientación diferente, se
cambiará la orientación del contenedor split (si no tiene más de una ventana). Uso de palanca diseño dividió a cambiar el diseño de
cualquier recipiente se separó de splitv a splith o viceversa.
Sintaxis:
dividida <verticales | horizontal>
Ejemplo:
bindsym $mod + v división vertical
bindsym $mod + h división horizontal
6.3. Diseño Manipular
Utilice el diseño de división de palanca , apilamiento diseño , diseño de pestañas , splitv diseño o splith disposición a cambiar el
diseño de envase actual para splith / splitv, apilar, con pestañas diseño, splitv o splith, respectivamente.
(!) Para hacer que la ventana actual a pantalla completa, use pantalla completa , para que sea flotante (o alicatado de nuevo)
utilizar flotantes permiten respectivamente flotante deshabilitar (o flotante de palanca ):
Sintaxis:
diseño <default | pestañas | apilamiento | splitv | splith>
toggle diseño [división | all]
Ejemplos:
apilamiento diseño bindsym $mod + s
bindsym $mod + l diseño de palanca de división
bindsym $mod + w diseño de pestañas

# Cambiar entre apilamiento / fichas / split:


bindsym $mod + x palanca diseño

# Cambiar entre apilamiento / fichas / splith / splitv:


bindsym $mod + x diseño de palanca todo

Pantalla completa # Toggle


bindsym $mod + f pantalla completa

# Activar flotante / alicatado


bindsym $mod + t palanca flotante
6.4. Centrándose contenedores / mudanza
Para cambiar el enfoque, utilice el comando de enfoque: centrarse izquierda , centrar la derecha , centrar abajo yenfocar de .
Hay algunos parámetros especiales que usted puede utilizar para el comando de enfoque:
padre
Define la selección en el contenedor principal de la corriente de contenedores .
niño
Lo opuesto a la atención de los padres , establece el foco en el último contenedor secundario enfocada.
flotante
Define la selección en la última se centró contenedor flotante.
azulejos
Define la selección en el último contenedor embaldosado enfocada.
mode_toggle
Alterna entre los contenedores flotantes / embaldosado.
salida
Seguido por una dirección o un nombre de salida, esto se centrará la salida correspondiente.
Para moverse, el uso desplazarse hacia la izquierda , mover a la derecha , bajar y subir .
Sintaxis:
centrarse <left | right | abajo | hasta>
centrarse <anterior | niño | flotante | baldosas | mode_toggle>
centrarse salida << left | right | abajo | hasta> | salida>
mover <left | right | abajo | hasta> [<px> px]
mover [absoluta] Posición [[<px> px] [<px> px] | center]
Tenga en cuenta que la cantidad de píxeles que puede especificar para el movimiento de comandos sólo es relevante para
contenedores flotantes. La cantidad predeterminada es 10 píxeles.
Ejemplos:
# Focus contenedor de la izquierda, abajo, arriba, a la derecha:
bindsym $mod + j enfoque dejó
bindsym $mod + k enfoque hacia abajo
bindsym $mod + l se centran arriba
bindsym $mod + punto y coma enfoque correcto

# Focus contenedor principal


bindsym $mod + u centran padres

# Focus última flotante / contenedor alicatado


bindsym $mod + g mode_toggle foco

# Enfoque la salida derecha a la actual


bindsym $mod + x centrarse derecho de salida

# Enfoque la salida grande


bindsym $mod salida + x foco HDMI-2

# Move contenedor a la izquierda, abajo, arriba, derecha:


bindsym $mod + j movimiento izquierda
bindsym $mod + k movimiento hacia abajo
bindsym $mod + l subir
bindsym $mod + punto y coma movimiento correcto

# Retire el recipiente, pero crea contenedores flotantes


# Mover más el valor por defecto
bindsym $mod + j mover hacia la izquierda 20 px

# Mueva el contenedor flotante al centro


# De todas las salidas
bindsym $mod + C se mueven centro posición absoluta
6.5. Cambio (con nombre) espacios de trabajo / traslado a espacios de trabajo
Para cambiar a un espacio de trabajo específico, utilice el espacio de trabajo del sistema, seguido por el número o el nombre del
espacio de trabajo. Para mover los contenedores de espacios de trabajo específicos, utilizarrecipiente traslado a espacio de trabajo .
También puede cambiar a la siguiente y anterior espacio de trabajo con los comandos Espacio de trabajo próximoy prev espacio de
trabajo , lo cual es muy útil, por ejemplo, si tiene espacio de trabajo de 1, 3, 4 y 9 y desea alternar entre ellos con una sola
combinación de teclas. Para restringir los que la salida de corriente, utilicenext_on_output espacio de trabajo y espacio de trabajo
prev_on_output . Del mismo modo, puede utilizar recipiente traslado a espacio de trabajo junto , mover contenedores de espacio de
trabajo anterior para mover un contenedor a otro espacio de trabajo / anterior y mover contenedores de espacio de trabajo
actual (el último sólo tiene sentido cuando se utiliza con criterios).
Ver [move_to_outputs] de cómo mover un contenedor / espacio de trabajo a una salida RandR diferente.
Para volver al área de trabajo centrado anteriormente, el uso back_and_forth espacio de trabajo ; Asimismo, puede mover los
contenedores al área de trabajo enfocado previamente usando contenedor traslado a WorkSpace back_and_forth .
Sintaxis:
espacio de trabajo <siguiente | anterior | next_on_output | prev_on_output>
back_and_forth espacio de trabajo
espacio de trabajo de <nombre>
número de área de trabajo <nombre>

mover [Ventana | contenedor] [a] espacio de trabajo <nombre>


mover [Ventana | contenedor] [a] número espacio de trabajo <nombre>
mover [Ventana | contenedor] [a] espacio de trabajo <anterior | siguiente | actual>
Ejemplos:
bindsym $mod + 1 espacio de trabajo 1
bindsym $mod + 2 espacio de trabajo 2
...

bindsym $mod + Mayús + 1 contenedor movimiento al espacio de trabajo de 1


bindsym $mod + Shift + contenedor 2 se mueven al área de trabajo 2
...

# Interruptor entre el actual y el anteriormente centró uno


bindsym $mod + b espacio de trabajo back_and_forth
bindsym $mod + Shift + b movimiento de contenedores al espacio de trabajo back_and_forth

# Mover todo el espacio de trabajo para la próxima salida


bindsym $mod + x movimiento espacio de trabajo a la derecha de salida

# Mover firefox al espacio de trabajo actual


bindsym $mod + F1 [class = "Firefox"] actual movimiento espacio de trabajo
6.5.1. Espacios de trabajo con nombre
Los espacios de trabajo se identifican por su nombre. Así que, en lugar de utilizar los números en el comando del espacio de trabajo,
puede utilizar un nombre arbitrario:
Ejemplo:
bindsym $mod + 1 espacio de trabajo electrónico
...
Si desea que el espacio de trabajo para tener un número y un nombre, simplemente como prefijo del número, así:
Ejemplo:
bindsym $mod + 1 espacio de trabajo 1: correo
bindsym $mod + 2 espacio de trabajo 2: www
...
Tenga en cuenta que el espacio de trabajo realmente se llamará "1: correo". i3 trata los nombres de espacio de trabajo que
comienzan con un número en una forma un poco especial. Normalmente, los espacios de trabajo con nombre se ordenó la forma en
que aparecieron. Cuando empiezan con un número, i3 ordenará numéricamente. Además, usted será capaz de utilizar espacio de
trabajo número 1 para cambiar al área de trabajo que comienza con el número 1, independientemente del nombre que tiene. Esto es
útil en caso de que se cambia el nombre del espacio de trabajo de forma dinámica. Para combinar los dos comandos que puede
utilizar espacio de trabajo número 1: el correo para especificar un nombre por defecto si no hay actualmente ningún espacio de
trabajo a partir de un "1".
6.5.2. Cambiar el nombre de los espacios de trabajo
Puede cambiar el nombre de los espacios de trabajo. Esto podría ser útil comenzar con los espacios de trabajo predeterminados
numerada, hacer su trabajo, y cambiar el nombre de los espacios de trabajo después para reflejar lo que en realidad es en
ellos. También puede omitir el nombre viejo para cambiar el nombre del espacio de trabajo se centró en la actualidad. Esto es útil si
desea utilizar el comando de cambio de nombre con i3-entrada .
Sintaxis:
cambiar el nombre de espacio de trabajo <old_name> a <new_name>
cambiar el nombre de espacio de trabajo a <new_name>
Ejemplos:
i3-msg 'cambiar el nombre del espacio de trabajo de 5 a 6'
i3-msg 'cambiar el nombre de espacio de trabajo de 1 a "1: www"'
i3-msg 'cambiar el nombre del espacio de trabajo "1: www" a "10: www"'
i3-msg 'cambiar el nombre del espacio de trabajo con "2: correo"
bindsym $mod + r exec i3-entrada -F 'cambiar el nombre del espacio de trabajo a "% s"' 'Nuevo nombre:' -P
6.6. Mover las áreas de trabajo a otra pantalla
Ver [move_to_outputs] de cómo mover un contenedor / espacio de trabajo a una salida RandR diferente.
6.7. Mover los contenedores / espacios de trabajo para salidas RandR
Para mover un contenedor a otro de salida RandR (dirigida por nombres como LVDS1 o VGA1 ) o para una salida RandR identifican
mediante una dirección específica (como la izquierda , derecha , arriba o abajo ), hay dos comandos:
Sintaxis:
mover contenedores a la salida << left | right | abajo | hasta> | <salida >>
mover espacio de trabajo a la salida << left | right | abajo | hasta> | <salida >>
Ejemplos:
# Mueva el espacio de trabajo actual a la siguiente salida
# (Alterna eficaz cuando sólo tiene dos salidas)
bindsym $mod + x movimiento espacio de trabajo a la derecha de salida

# Poner esta ventana en la salida de la presentación.


bindsym $mod + x contenedor de traslado a VGA1 salida
6.8. Cambiar el tamaño de los contenedores / ventanas
Si desea cambiar el tamaño de los contenedores / ventanas con el teclado, puede utilizar el cambio de tamañodel sistema:
Sintaxis:
resize <crecer | encoger> <dirección> [<px> px [o <ppt> ppt]]
Dirección Puede ser uno de arriba , abajo , izquierda o derecha . O puede ser menos específico y el uso de anchoo altura , en cuyo
caso i3 será tomar / dar el espacio de todos los otros contenedores. El argumento de píxeles opcional especifica por el número de
píxeles de un contenedor flotante se cultiva o se redujo (el valor predeterminado es 10 píxeles). El argumento ppt significa puntos
porcentuales y especifica por cuántos puntos porcentuales un contenedor azulejos se cultiva o encogido (el valor predeterminado es
10 puntos porcentuales).
Yo recomiendo usar el comando de cambio de tamaño dentro de un llamado modo :
El archivo de configuración, la definición de un modo de cambio de tamaño: Ejemplo
modo de "redimensionar" {
# Estos enlaces disparan tan pronto como entras en el modo de cambio de tamaño

# Presionando la izquierda se reducirá el ancho de la ventana.


# Presionando derecho crecerá ancho de la ventana.
# Presionando arriba se reducirá la altura de la ventana.
# Si se presiona crecerá la altura de la ventana.
bindsym j redimensionamiento encoge ancho de 10 píxeles o 10 ppt
bindsym k redimensionamiento crecer altura 10 px o 10 ppt
bindsym l cambio de tamaño encogimiento altura 10 px o 10 ppt
punto y coma bindsym redimensionar crecer ancho 10 px o 10 ppt

# mismos enlaces, pero para las teclas de flecha


bindsym Izquierda redimensionar reducir la anchura 10 px o 10 ppt
bindsym Abajo redimensionar crecer altura 10 px o 10 ppt
bindsym Hasta redimensionar reducir la altura de 10 píxeles o 10 ppt
bindsym derecho redimensionar crecer ancho de 10 píxeles o 10 ppt

# Volver a la normalidad: Intro o Esc


modo bindsym Return "default"
modo de escape bindsym "default"
}

# Ingrese al modo de cambiar el tamaño


bindsym $ modo r mod + "redimensionar"
6.9. Saltando a las ventanas específicas
A menudo, cuando en un entorno multi-monitor, que desea saltar rápidamente a una ventana específica. Por ejemplo, mientras se
trabaja en espacio de trabajo 3 es posible que desee saltar a tu cliente de correo para enviar por correo electrónico a su jefe que
usted ha alcanzado una meta importante. En lugar de encontrar la manera de navegar a su cliente de correo, sería más conveniente
tener un acceso directo. Puede utilizar elenfoque de comandos con los criterios para ello.
Sintaxis:
[Class = "clase"] foco
[Title = "title"] foco
Ejemplos:
# Tráeme a la siguiente instancia VIM abierto
bindsym $mod + a [class = título "urxvt" = "VIM"] foco
6.10. Marcas-VIM como (marca / Goto)
Esta función es como la función de salto: Se le permite saltar directamente a una ventana específica (esto significa cambiar al espacio
de trabajo adecuado y ajustar el enfoque de las ventanas). Sin embargo, usted puede marcar directamente una ventana específica
con una etiqueta arbitraria y usarla después.Puede desmarcar la etiqueta de la misma manera, con el comando desmarcar. Si no se
especifica una etiqueta, desmarcar elimina todas las marcas. No es necesario para asegurar que sus ventanas tienen clases únicas o
títulos, y que no es necesario cambiar el archivo de configuración.
Como el comando debe incluir la etiqueta con la que desea marcar la ventana, no se puede simplemente enlazar a una tecla. i3-
entrada es una herramienta creada para este propósito: le permite ingresar un comando y envía el comando al i3. También puede
prefijar este comando y mostrar un mensaje personalizado para el diálogo de entrada.
Sintaxis:
identificador de marca
[Con_mark = "identificador"] foco
identificador desmarcar
Ejemplo (en un terminal) :
Irssi marca de los $ i3-msg
$ I3-msg '[con_mark = "irssi"] enfoque'
$ I3-msg desmarcar irssi
6.11. Cambio de estilo de borde
Para cambiar la frontera del cliente actual, puede utilizar frontera normal de usar la frontera normal (incluyendo título de la
ventana), 1pixel frontera utilizar un borde de 1 píxel (sin título de la ventana) y ninguna frontera para que el cliente sin fronteras.
También hay alternancia frontera que alternar los diferentes estilos de borde.
Ejemplos:
bindsym $mod + t frontera normales
bindsym $mod + 1pixel frontera y
bindsym $mod + u bordean ninguno
6.12. Habilitar el registro de la memoria compartida
Como se describe en http://i3wm.org/docs/debugging.html , i3 puede conectarse a un búfer de memoria compartida, que se puede
volcar utilizando i3-dump-log . El shmlog comando le permite activar o desactivar la memoria compartida de registro en tiempo de
ejecución.
Tenga en cuenta que cuando se utiliza shmlog <size_in_bytes> , el registro actual se desecha y uno nuevo se iniciará.
Sintaxis:
shmlog <size_in_bytes>
shmlog <on | off | palanca>
Ejemplos:
# Habilitar / deshabilitar el registro
bindsym $mod + x palanca shmlog

# O, desde un terminal:
# Aumentar el búfer de registro de la memoria compartida de 50 MiB
i3-msg shmlog $ ((50 * 1024 * 1024))
6.13. Habilitar el registro de depuración
El DebugLog comando le permite activar o desactivar el registro de depuración en tiempo de ejecución. El registro de depuración es
mucho más detallado de lo tala no depuración. Este comando no activa la memoria compartida registro (shmlog), y como tal es más
probable útil en combinación con el descrito anteriormente[shmlog] de comandos.
Sintaxis:
DebugLog <on | off | palanca>
Ejemplos:
# Habilitar / deshabilitar el registro
bindsym $mod + x palanca DebugLog
6.14. Recargar / Reinicio / Salir
Usted puede hacer i3 recargar su archivo de configuración con recarga . También puede reiniciar inplace i3 con el reinicio de
comandos para sacarlo de un estado raro (si eso nunca sucederá) o realizar una actualización sin tener que reiniciar la sesión de
X. Para salir i3 correctamente, puede utilizar la salida de comandos, sin embargo no es necesario que (simplemente matar la sesión X
está muy bien también).
Ejemplos:
bindsym $mod + Shift + r reinicio
bindsym $mod + Shift + w recarga
bindsym $mod + Shift + e salida
6.15. Bloc
Hay dos comandos para utilizar cualquier ventana existente como ventana bloc de notas. mover bloc moverá una ventana al área de
trabajo reutilizable. Esto hará que sea invisible hasta que se muestre de nuevo. No hay manera de abrir ese espacio de trabajo. En
cambio, cuando se utiliza bloc espectáculo , la ventana se mostrará una vez más, como una ventana flotante, centrada en su espacio
de trabajo actual (usando bloc de notas muestran en una ventana bloc visible hará oculta de nuevo, así que usted puede tener una
combinación de teclas para activar). Tenga en cuenta que esto es sólo una ventana flotante normal, así que si quieres a "sacarlo de
bloc de notas", puede hacer que sea sencillo mosaico (de nuevo de palanca flotante ).
Como su nombre lo indica, esto es útil para tener una ventana con su editor favorito siempre a mano. Sin embargo, también se puede
usar esto para otras aplicaciones que se ejecutan de forma permanente lo que usted no quiere ver todo el tiempo: Su reproductor de
música, alsamixer, tal vez incluso su cliente de correo ...?
Sintaxis:
movimiento bloc de notas

bloc espectáculo
Ejemplos:
# Hacer la ventana centrada actualmente un área reutilizable
bindsym $mod + Mayús + menos movimiento bloc de notas

# Mostrar la primera ventana bloc de notas


bindsym $mod + menos espectáculo bloc de notas

# Mostrar la ventana bloc sup-mail, si los hubiere.


bindsym mod4 + s [title = "^ Sup ::"] espectáculo bloc de notas
6.16. Control i3bar
Hay dos opciones en la configuración de cada instancia i3bar que se puede cambiar en tiempo de ejecución mediante la invocación
de un comando a través de i3. Los comandos hidden_state bar y el modo de barrapermiten establecer el hidden_state actual
respectivamente opción de modo de cada barra. También es posible alternar entre ocultar y mostrar el estado de estado, así como
entre el modo de muelle y ocultar el modo. Cada instancia i3bar se puede controlar individualmente mediante la especificación de un
bar_id, si no se da ninguno, el comando se ejecuta para todas las instancias de barras.
Sintaxis:
bar hidden_state ocultar | obra | palanca [<bar_id>]

muelle modo de barra | ocultar | invisible | palanca [<bar_id>]


Ejemplos:
# Alternar entre ocultar Estado y mostrar el estado
bindsym $mod + m bar hidden_state toggle

# Cambiar entre el modo de muelle y ocultar el modo


bindsym $mod + n el modo de barra de palanca

# Establezca la instancia de la barra con id 'bar-1' para cambiar al modo de ocultar


bindsym $mod + b modo de barra de ocultar bar-1

# Establezca la instancia de la barra con id 'bar-1' para estar siempre escondido


bindsym $mod + Shift + b modo de barra de bar-1 invisible
7. Varios monitores
Como se puede ver en la lista de la meta en el sitio web, i3 fue desarrollado específicamente con soporte para múltiples monitores en
mente. Esta sección explicará cómo manejar múltiples monitores.
Cuando usted tiene un solo monitor, las cosas son simples. Por lo general, comienza con espacio de trabajo 1 en el monitor y abrir
otras nuevas a medida que los necesite.
Cuando se tiene más de un monitor, cada monitor obtendrá un espacio de trabajo inicial. El primer monitor obtiene 1, la segunda se
pone 2 y una posible tercera obtendría 3. Cuando cambie a un espacio de trabajo en un monitor diferente, i3 cambiará a ese monitor
y luego cambiar al área de trabajo. De esta manera, usted no necesita atajos para cambiar a un monitor específico, y que no es
necesario recordar donde pones que espacio de trabajo. Nuevos espacios de trabajo se abrirán en el monitor activo. No es posible
tener un monitor sin un espacio de trabajo.
La idea de hacer espacios de trabajo mundial se basa en la observación de que la mayoría de los usuarios tienen un conjunto muy
limitado de espacios de trabajo en sus monitores adicionales. A menudo se utilizan para una tarea específica (navegador, shell) o para
el seguimiento de varias cosas (correo, IRC, syslog, ...). Por lo tanto, el uso de un espacio de trabajo en un monitor y "el resto" en los
otros monitores de frecuencia tiene sentido. Sin embargo, como se puede crear un número ilimitado de espacios de trabajo en i3 y
atarlos a las pantallas específicas, puede hacer que el enfoque "tradicional" de tener X espacios de trabajo por pantalla cambiando su
configuración (utilizando modos, por ejemplo).
7.1. Configuración de los monitores
Para ayudarle a ponerse en marcha si usted nunca ha utilizado múltiples monitores antes, aquí es un breve resumen de las opciones
xrandr que probablemente serán de interés para usted. Siempre es útil para obtener una visión general de la configuración de
pantalla actual. Sólo tiene que ejecutar "xrandr" y obtendrá una salida como la siguiente:
$ Xrandr
Pantalla 0: mínimo 320 x 200, 1280 x 800 actual, máximo 8192 x 8192
VGA1 desconectada (izquierda normal invertida derecha x eje y eje)
LVDS1 conectado 1280x800 + 0 + 0 (izquierda normal invertida derecha x eje y eje) 261mm x 163mm
1280x800 60.0 * + 50,0
1024x768 85,0 75,0 70,1 60,0
832x624 74.6
800x600 85,1 72,2 75,0 60,3 56,2
640x480 85,0 72,8 75,0 59,9
720x400 85.0
640x400 85.1
640x350 85.1
Hay varias cosas que son importantes aquí: Usted puede ver que LVDS1 está conectado (por supuesto, es el panel plano interno)
pero VGA1 no lo es. Si usted tiene un monitor conectado a uno de los puertos pero xrandr todavía dice "desconectado", usted debe
comprobar su cable, monitor o controlador de gráficos.
La resolución máxima que se puede ver al final de la primera línea es la resolución máxima combinada de los monitores. De forma
predeterminada, por lo general es muy bajo y tiene que ser aumentado mediante la edición de /etc/X11/xorg.conf .
Entonces, digamos que usted conectado VGA1 y desea utilizarlo como una pantalla adicional:
xrandr --output VGA1 --auto --left de LVDS1
Este comando hace que xrandr tratar de encontrar la resolución nativa del dispositivo conectado a VGA1 y lo configura a la izquierda
de su panel plano interno. Cuando se ejecuta "xrandr" de nuevo, la salida es la siguiente:
$ Xrandr
Pantalla 0: mínimo 320 x 200, 2560 x 1024 actual, máxima 8192 x 8192
VGA1 conectado 1280x1024 + 0 + 0 (izquierda normal invertida derecha x eje y eje) 338mm x 270mm
1280x1024 60,0 * 75,0 +
1280x960 60.0
1152x864 75.0
1024x768 75,1 70,1 60,0
832x624 74.6
800x600 72,2 75,0 60,3 56,2
640x480 72,8 75,0 66,7 60,0
720x400 70.1
LVDS1 conectado 1280x800 + 1280 + 0 (izquierda normal invertida derecha x eje y eje) 261mm x 163mm
1280x800 60.0 * + 50,0
1024x768 85,0 75,0 70,1 60,0
832x624 74.6
800x600 85,1 72,2 75,0 60,3 56,2
640x480 85,0 72,8 75,0 59,9
720x400 85.0
640x400 85.1
640x350 85.1
Tenga en cuenta que i3 usa exactamente la misma API como xrandr hace, por lo que sólo verá lo que se puede ver en xrandr.
Véase también [presentaciones] para más ejemplos de configuraciones multi-monitor.
7.2. Interesante configuración para entornos multi-monitor
Hay varias cosas para configurar en i3 que puede ser interesante si usted tiene más de un monitor:
Puede especificar qué área de trabajo debe ser puesto en el que la pantalla. Esto le permite tener un conjunto diferente de los
espacios de trabajo al iniciar que sólo 1 para el primer monitor, 2 para el segundo y así sucesivamente. Ver [workspace_screen] .
Si quieres algunas aplicaciones en general abierto en la pantalla más grande (MPlayer, Firefox, ...), se puede asignar a un espacio de
trabajo específico, consulte [assign_workspace] .
Si usted tiene muchas áreas de trabajo en muchos monitores, podría conseguir difícil hacer un seguimiento de la ventana que se
pone en. Por lo tanto, puede utilizar las marcas-vim como para cambiar rápidamente entre ventanas. Ver [vim_like_marks] .
Para obtener información sobre cómo mover los espacios de trabajo existentes entre los monitores,
consulte [_moving_containers_workspaces_to_randr_outputs] .
8. i3 y el resto de su mundo del software
8.1. Visualización de una línea de estado
Una cosa muy común entre los usuarios de los gestores de ventanas exóticas es una línea de estado en algún rincón de la pantalla. Es
un reemplazo a menudo superiores al enfoque widget que tienes en la barra de tareas de un entorno de escritorio tradicional.
Si aún no tiene su forma favorita de generar una línea de esa condición (scripts de auto-escrito, conky, ...), entonces i3status es la
herramienta recomendada para esta tarea. Fue escrito en C con el objetivo de utilizar el menor número de llamadas al sistema como
sea posible para reducir el tiempo de su CPU es despertado de estados de sueño. Debido i3status sólo escupe texto, es necesario
combinarla con alguna otra herramienta, como i3bar. Ver [status_command] para saber cómo acceder a i3status en i3bar.
Independientemente de la aplicación que se utiliza para mostrar la línea de estado, usted quiere asegurarse de que se registra como
una ventana muelle uso de sugerencias EWMH. i3 posicionará la ventana, ya sea en la parte superior o en la parte inferior de la
pantalla, dependiendo de qué insinuar los conjuntos de aplicaciones. Con i3bar, puede configurar su posición, ver [i3bar_position] .
8.2. Realizar presentaciones (multi-monitor)
Cuando realice una presentación, que típicamente se pretende que el público vea lo que se ve en la pantalla y luego ir a través de una
serie de diapositivas (si la presentación es sencilla). Para más presentaciones complejas, es posible que desee tener algunas notas
que sólo se puede ver en su pantalla, mientras que el público sólo puede ver las diapositivas.
8.2.1. Caso 1: todo el mundo tiene la misma salida
Este es el caso sencillo. Conectar el ordenador al proyector de vídeo, encienda ambos (proyector de computadora y video) y
configurar el servidor X para clonar el panel plano interno del ordenador a la salida de vídeo:
xrandr --output VGA1 --mode 1024x768 --same-como LVDS1
i3 utilizará entonces el subconjunto común más bajo de resoluciones de pantalla, el resto de la pantalla se quedará intacta (se
mostrará en la X de fondo). Así, en nuestro ejemplo, esto sería 1024x768 (mi portátil tiene 1280x800).
8.2.2. Caso 2: se puede ver más de su público
Este caso es un poco más difícil. En primer lugar, debe configurar la salida VGA en algún lugar cerca de su panel plano interno, dicen
derecha de la misma:
xrandr --output VGA1 --mode 1024x768 --right de LVDS1
Ahora, i3 se puso un nuevo espacio de trabajo (según la configuración) en la nueva pantalla y usted está en el modo multi-monitor
(ver [multi_monitor] ).
Debido i3 no es un gestor de ventanas de composición, no hay posibilidad de mostrar una ventana en dos pantallas al mismo
tiempo. En cambio, su software de presentación tiene que hacer este trabajo (es decir, abrir una ventana en cada pantalla).

© 2009-2011 Michael Stapelberg, Pie de imprenta

Vous aimerez peut-être aussi