i3 es un gestor de ventanas en mosaico diseñado para X11 , inspirado en wmii y escrito en C. [5] Admite diseños en mosaico, apilamiento y tabulación, que se gestionan manualmente. Su configuración se logra a través de un archivo de texto sin formato y es posible extender i3 utilizando su socket de dominio Unix y su interfaz IPC basada en JSON desde muchos lenguajes de programación. [6]
Al igual que wmii, i3 utiliza un sistema de control muy similar al de vi y Vim . De forma predeterminada, el foco de la ventana se controla con lo que la documentación denomina la tecla 'Mod1' ( tecla Alt / tecla Windows ) además de las teclas de la fila de inicio de la derecha (Mod1+J,K,L,Punto y coma), mientras que el movimiento de la ventana se controla con la adición de la tecla Shift (Mod1+Shift+J,K,L,Punto y coma). [7]
Los principales objetivos de diseño de i3 son poseer un código bien escrito y documentado que fomente la contribución del usuario; [4] utilizar XCB en lugar de Xlib ; implementar correctamente las características de múltiples monitores, de modo que cada espacio de trabajo se asigne a una pantalla virtual y las adiciones y eliminaciones de monitores no destruyan las ventanas; implementar diferentes modos , de una manera similar a la de los editores de texto vi y vim ; utilizar un árbol como abstracción (y estructura de datos subyacente) para la gestión de ventanas; e implementar la codificación de caracteres UTF-8 .
La configuración de i3 se realiza a través de un archivo de texto simple (que normalmente se encuentra en ~/.config/i3/config), [Nota 1] que se puede personalizar sin ningún conocimiento sofisticado de programación. [7] A diferencia de otros gestores de ventanas en mosaico populares, como dwm , awesome y xmonad , la gestión de ventanas se deja al usuario en i3. Las ventanas se guardan dentro de contenedores, que se pueden dividir vertical u horizontalmente. También se pueden redimensionar de forma opcional. También hay opciones para apilar las ventanas, así como para tabularlas (similar a la interfaz que utilizan los navegadores web). i3 utiliza dmenu como el lanzador de programas predeterminado, pero se puede reemplazar. [7] [8] i3 también tiene un programa asociado llamado i3bar que muestra información sobre el sistema en la parte inferior de la pantalla. [9]
i3 también admite el uso de varios monitores. [10]
Aunque i3 es un gestor de ventanas en mosaico, las ventanas específicas, como las ventanas emergentes de contraseñas, no se muestran como nuevos mosaicos de forma predeterminada; [11] siempre se apilan delante de las ventanas en mosaico, a menos que estén en modo de pantalla completa. Estas ventanas flotantes se pueden mover y redimensionar libremente, al igual que en los gestores de ventanas apilables y en los entornos de escritorio populares como GNOME o KDE Plasma . [8]
Los autores de i3 pretenden que las ventanas flotantes se utilicen únicamente para ventanas emergentes. [12]