Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
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.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
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.