Jack Dorsey představil (𝕏, Nostr) svůj nový projekt bitchat. Jedná se o bezpečnou decentralizovanou peer-to-peer aplikaci pro zasílání zpráv bez potřeby internetu, serverů a telefonních čísel. Využívá se Bluetooth Mesh Network. Detaily v technické dokumentaci. Zdrojové kódy jsou k dispozici pod licencí Unlicense.
Hudební přehrávač Amarok byl vydán v nové verzi 3.3 "Far Above the Clouds". Nově je postaven na Qt6/KF6 a využívá GStreamer místo Phononu.
Společnost IBM představila novou generaci svých serverů: IBM Power11.
Multiplatformní digitální pracovní stanice pro práci s audiem Ardour byla postavena na GTK2. Vývojáři neplánovali její portaci na GTK3 nebo GTK4. Naopak, v lednu loňského roku si vytvořili vlastní fork GTK2 s názvem YTK. Ten v únoru letošního roku přestal být volitelným a nově byla zcela odstraněna podpora GTK2.
Byla vydána nová verze 6.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Společnost initMAX pořádá sérii bezplatných webinářů věnovaných novému Zabbixu 7.4. Podrobnosti a registrace na webu initMAX.
… více »Byla vydána verze 7.0 open source platformy pro správu vlastního cloudu OpenNebula (Wikipedie). Kódový název nové verze je Phoenix. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
E-mailový klient Thunderbird byl vydán ve verzi 140.0 ESR „Eclipse“. Jde o vydání s dlouhodobou podporou, shrnující novinky v upozorněních, vzhledu, správě složek a správě účtů. Pozor, nezaměňovat s průběžným vydáním 140.0, které bylo dostupné o týden dříve.
Organizace Video Games Europe reprezentující vydavatele počítačových her publikovala prohlášení k občanské iniciativě Stop Destroying Videogames.
Společnost Raspberry Pi nově nabzí Raspberry Pi Camera Module 3 Sensor Assembly, tj. samostatné senzorové moduly z Raspberry Pi Camera Module 3.
Č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: