Dnes a zítra probíhá vývojářská konference Google I/O 2025. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
V Bostonu probíhá konference Red Hat Summit 2025. Vybrané přednášky lze sledovat na YouTube. Dění lze sledovat na síti 𝕏 (#RHSummit).
Společnost Red Hat oficiálně oznámila vydání Red Hat Enterprise Linuxu 10. Vedle nových vlastností přináší také aktualizaci ovladačů a předběžné ukázky budoucích technologií. Podrobnosti v poznámkách k vydání.
Tuto sobotu 24. května se koná historicky první komunitní den projektu Home Assistant. Zváni jsou všichni příznivci, nadšenci a uživatelé tohoto projektu. Pro účast je potřebná registrace. Odkazy na akce v Praze a v Bratislavě.
Troy Hunt představil Have I Been Pwned 2.0, tj. nový vylepšený web služby, kde si uživatelé mohou zkontrolovat, zda se jejich hesla a osobní údaje neobjevily v únicích dat a případně se nechat na další úniky upozorňovat.
Microsoft představil open source textový editor Edit bežící v terminálu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
V Seattlu a také online probíhá konference Microsoft Build 2025. Microsoft představuje své novinky. Windows Subsystem for Linux je nově open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.
Z příspěvku Turris Sentinel – co přinesl rok 2024 na blogu CZ.NIC: "Za poslední rok (únor 2024 – únor 2025) jsme zachytili 8,3 miliardy incidentů a to z 232 zemí a z jejich závislých území. Tyto útoky přišly od 6,2 milionu útočníků (respektive unikátních adres). SMTP minipot je stále nejlákavější pastí, zhruba 79 % útoků bylo směřováno na tento minipot, 16 % útoků směřovalo na minipot Telnet, 3 % útoků směřovaly na minipot HTTP a 2 % na minipot FTP. Dále jsme zaznamenali 3,2 milionu unikátních hesel a 318 tisíc unikátních loginů, které útočníci zkoušeli."
Byla vydána (Mastodon, 𝕏) nová verze 3.0.4 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.
Byla vydána nová stabilní verze 7.4 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 136. Přehled novinek i s náhledy v příspěvku na blogu.
Č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: