Portál AbcLinuxu, 29. října 2025 11:23
i3 je dlaždicový „tiling“ window manager, který je primárně určen pro pokročilé uživatele a vývojáře. Projekt vznikl v únoru 2009 a je šířen pod BSD licencí. Cílové platformy jsou GNU/Linux, BSD a Mac OS X (pomocí X11). Pro implementaci byl zvolen programovací jazyk C využívající v maximální možné míře knihovnu XCB.
Projekt i3 je velice otevřený a díky dobře navrženému modelu i pohodlný pro koncové uživatele. Tvůrce projektu Michael Stapelberg odvádí dobrou práci, ochotně přijímá patche nebo poradí s problematikou. Automatické testování pomocí skriptů je také součástí vývoje.
Verze 4 vznikla jako velký refactoring celého projektu, který probíhal pod kódovým označením „tree“ díky implementaci stromové struktury pro ukládání dat. Za zhruba jeden rok vzniklo 736 commitů v gitu a proběhlo úporné testování. Přechod z verze 3 je bezproblémový díky konverznímu skriptu pro konfigurační soubory i3-migrate-config-to-v4.pl Kompletní seznam změn je dostupný v oznámení o vydání na adrese http://i3wm.org/downloads/RELEASE-NOTES-4.0.1.txt
Každé okno je obaleno neviditelným kontejnerem, který můžeme rozdělit horizontálně nebo vertikálně. Okna se dají přesouvat, měnit jejich velikost a mód (default „tiled“, floating, tabbed, stacked, fullscreen).
Tabbed a Stacked mód funguje jako záložky a dá se efektivně kombinovat s rozdělováním kontejnerů.
Funguje i podpora pro plovoucí okna a můžeme nadefinovat, jaké aplikace budou plovoucí po spuštění. i3 není určen pro práci jako plnohodnotný floating manager, proto není implementována funkce pro minimalizaci okna do taskbaru (seznamu oken). Při kombinování tiled a floating módu jsou plovoucí okna vždy nad tiled okny.
Standardní je i možnost využívat více ploch. Jednotlivé plochy můžeme pojmenovávat nebo jim přiřadit výstup na požadovaný monitor.
Podpora více monitorů pomocí xrandr je vynikající. Jelikož binární nvidia ovladače nepodporují xrandr, tak je implementována i možnost použít spouštěcí parametr i3 --force-xinerama.
Jako výchozí panel je použit nový i3bar, který dokáže zobrazit plochy a výstup nástrojů jako i3status, conky, nebo vlastních skriptů. Implementovaná je i podpora pro konfiguraci barev pomocí spouštěcích parametrů. Integrace do konfiguračního souboru i3 se teprve připravuje. i3bar byl původně vyvíjen odděleně a po dohodě těsně před vydáním nové verze Axel Wagner souhlasil se začleněním do zdrojových kódů i3. Připravovaná verze 4.1 již obsahuje funkční tray.
Pro spouštění aplikací se využívá dmenu, ale je možné použít i alternativní root menu aplikace (například mygtkmenu) a přiřadit jim klávesové zkratky.
Zobrazení okna na všech plochách „sticky“ není ve verzi 4.0 implementováno a jeho podpora se stále připravuje http://bugs.i3wm.org/ticket/11
Další příjemná vlastnost je možnost automatického otevírání vybraných programů na požadovanou plochu.
Barvy dekorace oken jsou pomocí konfiguračního soubor snadno nastavitelné.
i3 obsahuje mnoho dalších zajímavých vlastností (inplace restart a reload, mark/goto, konfigurovatelné dekorace oken, ...). Kompletní přehled vlastností najdeme v uživatelské příručce. Do budoucna se plánuje nadále vylepšovat a obohacovat jak window manager, tak i pomocné aplikace pro řadu dalších užitečných funkcí.
Pomocí konfiguračních souborů můžeme rozsáhle modifikovat nastavení celého window manageru.
Výchozí cesta ke konfiguračnímu souboru je ~/.i3/config. Pokud konfigurační soubor neexistuje, tak bude při prvním spuštění vytvořen.
Proměnné a komentáře:
Konfigurační soubor umožňuje jednoduché definování proměnných pomocí set. Proměnné jsou přímo nahrazeny při zpracovávání souboru pomocí parseru. Komentáře jsou definované pomocí #.
# definice proměnné set $promenna hodnota
Nastavení fontů:
I3 používá X core fonty (ne Xft). Pro nalezení správného fontu můžeme použít program xfontsel. Pro Unicode podporu vyberte font v kódování ISO-10646. Pro ruční načtení fontů do X serveru můžeme použít příkaz xset fp+ /usr/share/fonts/local
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
Plovoucí modifikátor:
Plovoucí modifikátor slouží k přesunu a změně velikosti oken pomocí myši.
floating_modifier Mod1
Orientace nových pracovních ploch:
Výchozí orientace oken na pracovní ploše je horizontální. Všechna otevřená okna se budou řadit zleva doprava, což je výhodné pro širokoúhlé monitory. Parametry jsou horizontal, vertical a auto.
default_orientation vertical
Nastavení módu nových kontejnerů:
Definice workspace_layout říká, jaký mód budou mít nově vytvořené kontejnery na úrovni pracovní plochy. Parametry jsou default, stacking a tabbed.
workspace_layout default
Zaměření oken pomocí myši:
Výchozí chování i3 je že při najetí myši nad požadované okno dojde k jeho automatickému zaměření „fokus“. Zakázáním tohoto chování docílíme klasického zaměření až po stisku levého tl. myši. Parametry jsou yes a no.
focus_follows_mouse no
Dekorace oken:
Zobrazování dekorace tiled a floating oken je konfigurovatelné. Parametry jsou normal, 1pixel, none.
new_window 1pixel new_float 1pixel
Klávesové zkratky:
Díky klávesovým zkratkám můžeme spouštět zadané příkazy. Do konfiguračního souboru zadáváme kód nebo symbol klávesy. Symboly a kódy kláves zjistíme pomocí xmodmap -pke a xev.
bindsym Mod1+f fullscreen bindcode 214 exec ~/toggle_beamer.sh
Klientská pravidla:
Pomocí pravidel můžeme spouštět příkazy na vybrané aplikace. Tato funkce je užitečná například pro nastavení plovoucího módu, stylu okraje nebo možnosti automaticky přesunout program na zadanou plochu. Třídu nebo instanci aplikace můžeme zjistit pomocí příkazu xprop | grep WM_CLASS.
for_window [class="urxvt"] border 1pixel for_window [class="qjackctl"] floating enable assign [class="Gajim.py"] 3
Automatické spouštění aplikací:
Pro automatické spouštění programů jsou implementovány volby exec a exec_always. Volbu exec můžeme použít v kombinaci s klávesovou zratkou a volba exec_always se vykonává i při restartu i3.
exec nitrogen --restore exec_always ~/.i3/scripts/dual_monitor.sh
Kompletní rozbor všech voleb je nad rámec tohoto článku a je dostupný ve výborné uživatelské příručce.
Výchozí konfigurační soubor verze 4.0.2:
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
#
# This config file uses keycodes (bindsym) and was written for the QWERTY
# layout.
#
# To get a config file with the same key positions, but for your current
# layout, use the i3-config-wizard
#
# font for window titles. ISO 10646 = Unicode
font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
# use Mouse+Mod1 to drag floating windows to their wanted position
floating_modifier Mod1
# start a terminal
bindsym Mod1+Return exec urxvt
# kill focused window
bindsym Mod1+Shift+q kill
# start dmenu (a program launcher)
bindsym Mod1+d exec dmenu_run
# change focus
bindsym Mod1+j focus left
bindsym Mod1+k focus down
bindsym Mod1+l focus up
bindsym Mod1+semicolon focus right
# alternatively, you can use the cursor keys:
bindsym Mod1+Left focus left
bindsym Mod1+Down focus down
bindsym Mod1+Up focus up
bindsym Mod1+Right focus right
# move focused window
bindsym Mod1+Shift+j move left
bindsym Mod1+Shift+k move down
bindsym Mod1+Shift+l move up
bindsym Mod1+Shift+semicolon move right
# alternatively, you can use the cursor keys:
bindsym Mod1+Shift+Left move left
bindsym Mod1+Shift+Down move down
bindsym Mod1+Shift+Up move up
bindsym Mod1+Shift+Right move right
# split in horizontal orientation
bindsym Mod1+h split h
# split in vertical orientation
bindsym Mod1+v split v
# enter fullscreen mode for the focused container
bindsym Mod1+f fullscreen
# change container layout (stacked, tabbed, default)
bindsym Mod1+s layout stacking
bindsym Mod1+w layout tabbed
bindsym Mod1+e layout default
# toggle tiling / floating
bindsym Mod1+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym Mod1+space focus mode_toggle
# focus the parent container
bindsym Mod1+a focus parent
# focus the child container
#bindsym Mod1+d focus child
# switch to workspace
bindsym Mod1+1 workspace 1
bindsym Mod1+2 workspace 2
bindsym Mod1+3 workspace 3
bindsym Mod1+4 workspace 4
bindsym Mod1+5 workspace 5
bindsym Mod1+6 workspace 6
bindsym Mod1+7 workspace 7
bindsym Mod1+8 workspace 8
bindsym Mod1+9 workspace 9
bindsym Mod1+0 workspace 10
# move focused container to workspace
bindsym Mod1+Shift+1 move workspace 1
bindsym Mod1+Shift+2 move workspace 2
bindsym Mod1+Shift+3 move workspace 3
bindsym Mod1+Shift+4 move workspace 4
bindsym Mod1+Shift+5 move workspace 5
bindsym Mod1+Shift+6 move workspace 6
bindsym Mod1+Shift+7 move workspace 7
bindsym Mod1+Shift+8 move workspace 8
bindsym Mod1+Shift+9 move workspace 9
bindsym Mod1+Shift+0 move workspace 10
# reload the configuration file
bindsym Mod1+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym Mod1+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym Mod1+Shift+e exit
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# They resize the border in the direction you pressed, e.g.
# when pressing left, the window is resized so that it has
# more space on its left
bindsym j resize shrink left 10 px or 10 ppt
bindsym Shift+j resize grow left 10 px or 10 ppt
bindsym k resize shrink down 10 px or 10 ppt
bindsym Shift+k resize grow down 10 px or 10 ppt
bindsym l resize shrink up 10 px or 10 ppt
bindsym Shift+l resize grow up 10 px or 10 ppt
bindsym semicolon resize shrink right 10 px or 10 ppt
bindsym Shift+semicolon resize grow right 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink left 10 px or 10 ppt
bindsym Shift+Left resize grow left 10 px or 10 ppt
bindsym Down resize shrink down 10 px or 10 ppt
bindsym Shift+Down resize grow down 10 px or 10 ppt
bindsym Up resize shrink up 10 px or 10 ppt
bindsym Shift+Up resize grow up 10 px or 10 ppt
bindsym Right resize shrink right 10 px or 10 ppt
bindsym Shift+Right resize grow right 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym Mod1+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
exec i3status | i3bar -d
#######################################################################
# automatically start i3-config-wizard to offer the user to create a
# keysym-based config which used his favorite modifier (alt or windows)
#
# i3-config-wizard will not launch if there already is a config file
# in ~/.i3/config.
#
# Please remove the following exec line:
#######################################################################
exec i3-config-wizard
Upravený konfigurační soubor připravované verze 4.1 (bude se ještě měnit):
#### Configuration file for i3 window manager (4.x) - next branch
### http://i3wm.org/
## Modified by mseed - http://www.fastlinux.eu
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
###################
# GENERAL OPTIONS #
###################
## variables
set $mod Mod4
## font for window titles. ISO 10646 = Unicode
#font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
#font -xos4-terminus-*-*-*-*-17-*-*-*-*-*-iso10646-1
font -misc-fixed-bold-r-normal-*-15-140-75-75-c-90-iso10646-1
## use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
## orientation for new workspaces <horizontal|vertical|auto>
default_orientation horizontal
## workspace Layout <default|stacking|tabbed>
workspace_layout default
## focus follows mouse <yes|no>
focus_follows_mouse no
## border style for new windows <normal|1pixel|none>
new_window 1pixel
## border style for for floating windows <normal|1pixel|none>
new_float 1pixel
##################
# WM KEYBINDINGS #
##################
## reload the configuration file
bindsym $mod+Shift+C reload
## restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+R restart
## exit i3 (logs you out of your X session)
bindsym $mod+Shift+E exit
###################
# APP KEYBINDINGS #
###################
## start a terminal
bindsym $mod+Return exec urxvt
## start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run -nb '#000000' -nf '#ffffff' -sb '#000000' -sf '#1793d0' -p 'Run: ' -fn '-misc-fixed-bold-r-normal-*-15-140-75-75-c-90-iso10646-1'
bindsym $mod+x exec dmenu_run -nb '#000000' -nf '#ffffff' -sb '#000000' -sf '#1793d0' -p 'Run: ' -fn '-xos4-terminus-*-*-*-*-20-*-*-*-*-*-iso10646-1'
## start myGtkMenu
#bindsym Mod1+a exec mygtkmenu ~/.i3/configs/menu
## start session menu
#bindsym $mod+q exec ~/.i3/scripts/dmenu_session.sh
## toggle i3bar
#bindsym $mod+b exec ~/.i3/scripts/i3bar_toggle.sh
## take screenshot
#bindsym Print exec ~/.i3/scripts/screenshot.sh
## OpenVPN connect
#bindsym $mod+o exec urxvt -e ~/.i3/scripts/openvpn_start.sh
## open clipbord in editor
#bindsym Mod1+e exec ~/.i3/scripts/clipper.sh
## volume control
#bindsym XF86AudioLowerVolume exec amixer -q set Master 2- unmute
#bindsym XF86AudioRaiseVolume exec amixer -q set Master 2+ unmute
#bindsym Mod4+XF86AudioLowerVolume exec amixer -q set PCM 2- unmute
#bindsym Mod4+XF86AudioRaiseVolume exec amixer -q set PCM 2+ unmute
######################################
# WORKSPACE KEYBINDINGS AND SETTINGS #
######################################
## automatically putting workspaces on specific screens
#workspace 1 output VGA1
#workspace 2 output VGA1
#workspace 3 output VGA1
#workspace 4 output LVDS1
#workspace 10 output LVDS1
## switch to workspace
bindsym $mod+1 workspace 1:work
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10:dwn
## move focused container to workspace
bindsym $mod+Shift+exclam move workspace 1:work
bindsym $mod+Shift+at move workspace 2
bindsym $mod+Shift+numbersign move workspace 3
bindsym $mod+Shift+dollar move workspace 4
bindsym $mod+Shift+percent move workspace 5
bindsym $mod+Shift+asciicircum move workspace 6
bindsym $mod+Shift+ampersand move workspace 7
bindsym $mod+Shift+asterisk move workspace 8
bindsym $mod+Shift+parenleft move workspace 9
bindsym $mod+Shift+parenright move workspace 10:dwn
## switch to next/prev workspace
#bindsym Mod1+Right workspace next
#bindsym Mod1+Left workspace prev
######################
# CLIENT KEYBINDINGS #
######################
## kill focused window
bindsym $mod+Shift+Q kill
bindsym $mod+c kill
## change focus
bindsym $mod+j focus left
bindsym $mod+k focus down
bindsym $mod+l focus up
bindsym $mod+semicolon focus right
## alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
## move focused window
bindsym $mod+Shift+J move left
bindsym $mod+Shift+K move down
bindsym $mod+Shift+L move up
bindsym $mod+Shift+colon move right
## alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
## split in horizontal orientation
bindsym $mod+h split horizontal
## split in vertical orientation
bindsym $mod+v split vertical
## enter fullscreen mode for the focused container
bindsym $mod+f fullscreen
## change container layout (stacked, tabbed, default)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout default
## toggle tiling / floating
bindsym $mod+Shift+space floating toggle
## change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
## focus the parent container
bindsym $mod+a focus parent
## focus the child container
#bindcode $mod+d focus child
## resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
# They resize the border in the direction you pressed, e.g.
# when pressing left, the window is resized so that it has
# more space on its left
bindsym j resize shrink left 10 px or 10 ppt
bindsym Shift+J resize grow left 10 px or 10 ppt
bindsym k resize shrink down 10 px or 10 ppt
bindsym Shift+K resize grow down 10 px or 10 ppt
bindsym l resize shrink up 10 px or 10 ppt
bindsym Shift+L resize grow up 10 px or 10 ppt
bindsym semicolon resize shrink right 10 px or 10 ppt
bindsym Shift+colon resize grow right 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink left 10 px or 10 ppt
bindsym Shift+Left resize grow left 10 px or 10 ppt
bindsym Down resize shrink down 10 px or 10 ppt
bindsym Shift+Down resize grow down 10 px or 10 ppt
bindsym Up resize shrink up 10 px or 10 ppt
bindsym Shift+Up resize grow up 10 px or 10 ppt
bindsym Right resize shrink right 10 px or 10 ppt
bindsym Shift+Right resize grow right 10 px or 10 ppt
# back to normal: Enter or Escape
bindsym Return mode "default"
bindsym Escape mode "default"
}
bindsym $mod+r mode "resize"
## client border switching
bindsym Mod1+t border normal
bindsym Mod1+y border 1pixel
bindsym Mod1+u border none
bindsym Mod1+b border toggle
#########
# RULES #
#########
## obxprop | grep WM_CLASS
#assign [class="Gajim.py"] 3
for_window [class="Gcolor2"] floating enable
for_window [class="qjackctl"] floating enable
for_window [class="qsynth"] floating enable
for_window [class="lxappearance"] floating enable
for_window [class="Audacious"] floating enable
#############
# WM COLORS #
#############
## class border backgr. text
## orange
#client.focused #DA6F00 #DA6F00 #000000
#client.focused_inactive #333333 #333333 #999999
#client.unfocused #333333 #333333 #999999
#client.urgent #FF0000 #8C5665 #999999
## archlinux colors
#client.focused #1793D1 #1793D1 #FFFFFF
#client.focused_inactive #666666 #666666 #FFFFFF
#client.unfocused #333333 #333333 #FFFFFF
#client.urgent #D11931 #D11931 #FFFFFF
## gentoo colors
#client.focused #7A5ADA #7A5ADA #FFFFFF
#client.focused_inactive #45347B #45347B #FFFFFF
#client.unfocused #333333 #333333 #FFFFFF
#client.urgent #D11931 #D11931 #FFFFFF
## red/maroon
#client.focused #990000 #990000 #FFFFFF
#client.focused_inactive #660000 #660000 #AAAAAA
#client.unfocused #110000 #110000 #666666
#client.urgent #FFFF00 #FFFF00 #FF0000
## freebsd colors
#client.focused #990000 #990000 #FFFFFF
#client.focused_inactive #666666 #666666 #FFFFFF
#client.unfocused #333333 #333333 #FFFFFF
#client.urgent #D11931 #D11931 #FFFFFF
#############
# AUTOSTART #
#############
## autostart file support
#exec ~/.i3/startup
## Dual monitor support
#exec ~/.i3/scripts/dual_monitor.sh
## Start i3bar to display a workspace bar
exec i3status -c ~/.i3/configs/i3status | i3bar -dtop -f '-misc-fixed-bold-r-normal-*-15-140-75-75-c-90-iso10646-1'
#exec i3bar -c 'conky -c ~/.i3/configs/conkyrc' -dtop -f '-xos4-terminus-*-*-*-*-20-*-*-*-*-*-iso10646-1'
## Background wallpaper
#exec nitrogen --restore
i3 můžeme ovládat klávesnicí i myší, klávesové zkratky se volají pomocí takzvaného modifikátoru, nejpoužívanější modifikátory jsou Mod1 (levý alt) a Mod4 (win tlačítko). Podpora pro kompletní ovládání pomocí klávesnice je téměř hotova, jediná nehotová (ale plánovaná) funkce je přesouvání plovoucího „floating“ okna pomocí klávesnice.

IPC rozhraní dává možnost ovládat i3 pomocí jiného procesu. Na ovládání slouží i3-msg a i3-input, které využívají standardní unix socket. Existuje i několik externích knihoven (Python, Perl, Ruby) pro komunikaci s i3.
Celkově je ovládání pomocí klávesových zkratek, dělení kontejnerů, přesunu oken a změn módů velice pohodlné a návykové. Například oproti Awesome WM, kde jsou předdefinované jednotlivé matice rozložení oken, je tento způsob sice odlišný, ale po krátké době používání velice efektivní.
Vyčerpávající dokumentaci najdete na adrese http://i3wm.org/docs/.
Pro nahlášení nalezených chyb slouží adresa http://bugs.i3wm.org. Velice se cení i pokus o případnou hlubší analýzu problému http://i3wm.org/docs/debugging.html. Pokud se chcete na cokoliv zeptat, tak je tu dobře fungující IRC kanál #i3 na serveru irc.twice-irc.de
Chcete-li pomoci s vývojem, pak nejlepší startovací bod najdete na adrese http://i3wm.org/docs/hacking-howto.html. Před opravou chyb, nebo implementací nových funkcí, je dobré se zeptat na IRC, jestli někdo již neřeší stejnou věc nebo pro správné nasměrování do problematiky.
Vývoj nových verzí probíhá v gitu na adrese http://code.i3wm.org/, kde pro připravované verze slouží next branch.
Po mnohaletém používání operačního systému GNU/Linux jsem prošel velkou řadou různých pracovních prostředí. Od klasických KDE 1,2,3 přes xfce, lxde, fluxbox, e17, pekwm, openbox, awesome, wmfs až po i3wm. Srovnánat jednotlivé projekty je příliš složité a je to věc velice individuální, každý z nich měl co nabídnout. i3 jde cestou, která mi nejvíce vyhovuje, a díky možnosti podílet se na projektu je pro mě práce zábavou. Doufám, že nejen díky tomuto článku se najdou další spokojení uživatelé a vývojáři tohoto výborného window manageru.
V dlaždicovém správci to bude znít jako rouhání, ale je možné nechat nová okna zaplňovat prostor nejen vodorovně, ale i svisle? Například xterm si nese svoji představu o velikosti okna a na plochu se mi pohodlně vejdou čtyři v rozložení dva na dva. Takže když spouštím jeden xterm za druhým, tak první je vlevo nahoře, druhý napravo od něj, třetí se otevře dole a čtvrtý vpravo dole. Z vašeho popisu mám dojem, že se mi všechny čtyři naskládají vedle sebe, a to buď vodorovně nebo svisle. Samozřejmě bych mohl v i3 po otevření třetího jej ručně přesunout dolů, ale proč to dělat ručně, když by to mohlo fungovat automaticky?
Druhý dotaz je na přepínaní mezi okny. Existuje v i3 možnost přepnout klávesnicí se předchozí okno? (Jako mají klasičtí správci obvykle na Meta-Tab.) Nikoliv, abych musel na něj ručně doskákat po sousedech.
Prvni funkce bude implementována pomocí "stack-limit".
[[stack-limit]] /////////////////////////////////////////////////////////////////////////////// TODO: not yet implemented === Changing the stack-limit of a container If you have a single container with a lot of windows inside it (say, more than 10), the default layout of a stacking container can get a little unhandy. Depending on your screen’s size, you might end up with only half of the title lines being actually used, wasting a lot of screen space. Using the +stack-limit+ command, you can limit the number of rows or columns in a stacking container. i3 will create columns or rows (depending on what you limited) automatically as needed. *Syntax*: -------------------------------- stack-limit cols/rows value -------------------------------- *Examples*: ------------------- # I always want to have two window titles in one line stack-limit cols 2 # Not more than 5 rows in this stacking container stack-limit rows 5 -------------------
Přepínání oken (obdoba alt+tab) není implementováno. Jako workaround může být použita funkce mark/goto.
Správce oken je na správu oken lepší, než tmux.Já ale tvrdím, že je terminal multiplexer na správu terminálů (což byl jediný příklad použití i3 v článku) prostě lepší, než libovolný správce oken může kdy nabídnout. Což je axiom.
Emulace WM v terminálu zavání.Sranda je ta, že hlavním účelem těchto programů není emulovat WM. Ale v případě tmuxu, který má splitování na extrémně použitelné úrovni je to takový malý bonus navíc.
i3 používám pro běžnou práci, nejen jako terminal multiplexer. Na terminálech se snáze demonstruje možnost rozdělování oken a změna módů. Článek nebyl pouze o práci v terminálech, ale obecné představení i3 http://www.abclinuxu.cz/images/clanky/triska/i3screen_02.png
Problematika je vysvětlena zde http://i3wm.org/docs/multi-monitor.html#_the_explanation
Ok, poptam Michaela co se s tim da delat.
inplace restart reads the list of workspaces via xinerama
Můžeš to otestovat s verzi 4.0.2 prosím? (bindsym $mod+Shift+R restart), Můžeme to probrat i na IRC.
Server: irc.twice-irc.de kanál: #i3 (anglicky)
Jako workaround lze použít nouveau ovladače.
Každý má jiné preference při používání desktopu a je skoro nemožné vytvořit window manager, který bude vyhovovat všem.
Používám i3 zcela bez problému a pohodlně jako administrátor, vývojář i běžný uživatel.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.