Po po téměř roce vývoje od vydání verze 5.38 byla vydána nová stabilní verze 5.40 programovacího jazyka Perl (Wikipedie). Do vývoje se zapojilo 75 vývojářů. Změněno bylo přibližně 160 tisíc řádků v 1 500 souborech. Přehled novinek a změn v podrobném seznamu.
Uroš Popović popisuje, jak si nastavit Linux na desce jako Raspberry Pi Zero, aby je šlo používat jako USB „flešku“.
Andreas Kling oznámil, že jelikož už se nevěnuje nezávislému operačnímu systému SerenityOS, ale výhradně jeho webovému prohlížeči Ladybird, přičemž vyvíjí primárně na Linuxu, SerenityOS opustí a Ladybird bude nově samostatný projekt (nový web, repozitář na GitHubu).
Po dvou měsících vývoje byla vydána nová verze 0.13.0 programovacího jazyka Zig (GitHub, Wikipedie). Přispělo 73 vývojářů. Přehled novinek v poznámkách k vydání.
Na čem aktuálně pracují vývojáři GNOME a KDE? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE.
Před 70 lety, 7. června 1954, ve věku 41 let, zemřel Alan Turing, britský matematik, logik, kryptoanalytik a zakladatel moderní informatiky.
NiceGUI umožňuje používat webový prohlížeč jako frontend pro kód v Pythonu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána ve verzi 2024.6. Z novinek lze vypíchnout lepší integraci LLM (OpenAI, Google AI, Ollama) nebo podporu Matter 1.3.
IKEA ve Spojeném království hledá zaměstnance do své nové pobočky. Do pobočky v počítačové hře Roblox. Nástupní mzda je 13,15 liber na hodinu.
Alyssa Rosenzweig se v příspěvku na svém blogu Vulkan 1.3 na M1 za 1 měsíc rozepsala o novém Vulkan 1.3 ovladači Honeykrisp pro Apple M1 splňujícím specifikaci Khronosu. Vychází z ovladače NVK pro GPU od Nvidie. V plánu je dále rozchodit DXVK a vkd3d-proton a tím pádem Direct3D, aby na Apple M1 s Asahi Linuxem běžely hry pro Microsoft Windows.
Článek předpokládá základní povědomost o práci v terminálu a tmuxu. Na internetu lze nalézt plno článků s úvodem do tmuxu, proto se základům nebudu věnovat a přejdu rovnou k věci. Ovládání tmuxu pomocí klávesových zkratek je rychlý způsob. Problém je v tom, že tmux tak často nemusím ovládat, tudíž zkratky vždycky zapomenu a nějaké procvičování se moc nevyplatí. To je rozdíl například oproti editaci textu pomocí vimu, kde se úsilí věnované naučení zkratek vrátí.
Tmux používám při vývoji aplikací. Například pro jeden projekt je potřeba spustit docker kontejnery, backend server, kompilační smyčku pro frontend a css styly. Pro ulehčení používám tmux skript, kdy jedním příkazem nahodím celé prostředí a vidím všechny výpisy z logů přehledně v panelech v rámci jednoho terminálu. Většinou mi vyhovuje výchozí rozložení, ale třeba jednou do měsíce je potřeba přeskupit panely. Protože jde o situaci která nastává velmi málo tak tu zkratku pro přepnutí vždycky zapomenu a musím hledat v manuálu, což zdržuje.
Tento problém je klasickou ukázkou dilematu mezi příkazovým řádkem a grafickým rozhraním. Klávesové zkratky a CLI jsou mocnější a rychlejší, ale mají časové nároky na počáteční naučení a paměť uživatele. GUI je naopak méně flexibilní a pomalejší, ale člověk zvládne pracovat bez větší počáteční investice nebo pokud daný program používá po delší době. Další častý problém CLI programů je organizace příkazů/argumentů v manuálových stránkách. Ty jsou často seřazeny abecedně, takže je to z logického pohledu přeházené a je těžké si udělat přehled co vlastně všechno program umí.
Ideální je podle mě se snažit zkombinovat to nejlepší z CLI a GUI. Tedy možnost ovládat klávesovými zkratkami a příkazy, ale ať je k dispozici i nějaké interaktivní rozhraní, které dovoluje funkce objevit v rámci programu.
Jako experiment jsou zkusil vytvořit interaktivní nabídku pro ovládání tmuxu. Používám dolní lištu statusu pro zobrazení nabídky a vlastní bindingy pro ovládání.
Menu se zobrazí klávesovou zkratkou podobně jako je pořeba tmux prefix. Jako výchozí jsem zvolil Alt+/
(zkratka pro zobrazení nabídky v Google Docs), ale je možné si nastavit vlastní. Hlavní menu je roztříděné podle logických kategorií - panel, layout, window, session. Po výběru v hlavním menu se zobrazí další menu, kde už jdou vybírat jednotlivé akce. Na screenshotu je vidět menu jako oranžový panel dole:
Například zmáčknu l
a dostanu menu pro práci s layoutem:
Zde zmáčknu například šipku doprava, layout se rozdělí a otevře se další panel napravo od aktuálního.
Následuje seznam výchozích akcí, které pokrývají moje používání tmuxu:
[f]ullscreen [b]reak-off-window [k]ill switch [right] [down] [left] [up]
layout [s]witch [r]otate-panes split [right] [down] [left] [up]
window [s]witch [right]next [left]prev [n]ew [r]ename [m]ove [k]ill
session [n]ew [r]ename [k]ill [l]ock
Výhodou je že i když si člověk nepamatuje klávesové zkratky tak je schopen program ovládat (stačí si pamatovat jednu zkratku pro otevření menu). Dále jsou zkratky zapamatovatelnější a pokročilí uživatelé mohou používat klávesové zkratky bez koukání do menu bez vlivu na rychlost. Pro příklad porovnání různých akcí:
Otevření nového okna:
ctrl+b c
alt+/ w n
(mnemotechnická pomůcka Window New)Horizontální rozdělení layoutu:
ctrl+b %
alt+/ l ->
(Layout split Right)%
je potřeba stisknout se shiftem)Kompletní konfiguraci je možné stáhnout z githubu.
Další varianta která mě napadla by bylo používat jako zkratky pro akce v menu výchozí zkratky tmuxu. Takto by šlo využívat menu, ale člověku by se pomalu vrývaly do paměti výchozí zkratky. Menu nepokrývá velkou část, ale ne celou funkčnost tmuxu. Podělte se v diskuzi pokud zde chybí nějaké často používané funkce, případně další způsoby jak se vypořádat s klávesovými zkratkami.
Jako příklad jsem zvolil tmux, ale podobný přístup by bylo možné aplikovat i pro jiné programy. Domnívám se, že je často schůdnější cesta doplnit grafické interaktivní prvky do CLI programů, než se snažit přidat programovatelnost do čistě grafických aplikací.
Tiskni Sdílej: