Libre Graphics Meeting 2026, tj. čtyřdenní konference a setkání vývojářů a uživatelů svobodných a otevřených grafických softwarů, proběhne od 22. do 25. dubna v Norimberku. Dění lze sledovat na Mastodonu.
Vývojář Alexandre Gomes Gaigalas na GitHubu zveřejnil c89cc.sh, parser a kompilátor jazyka C89 napsaný v pouhém jediném skriptu o přibližně 8000 řádcích čistého bashe (bez dalších externích závislostí), který generuje ELF64 binárky pro x86-64. Jedná se o velmi jednoduchý kompilátor, který nepodporuje direktivy #include a dokonce ani funkci printf (lze použít puts), všechny dostupné deklarace lze nalézt v proměnné _BUILTIN_LIBC na konci skriptu. Skript je volně dostupný pod ISC licencí.
Francouzská vláda oznámila, že v rámci strategie 'digitální suverenity' zahájí 'přechod od systému Windows k počítačům s operačním systémem Linux' (sa sortie de Windows au profit de postes sous système d'exploitation Linux). DINUM (meziresortní ředitelství pro digitální technologie) požádalo ministerstva, aby do podzimu 2026 vypracovaly konkrétní plány nasazení Linuxu. Francie již dříve migrovala části státní správy na otevřená řešení.
Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.
Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.
Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.
Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.
Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.
Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže
… více »Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »
Různé drobnosti a užitečnosti na které narazím nebo sám vytvořím. Primárně se zaměřuji na věci, které mohou být zajímavé a užitečné pro ostatní uživatele GNU/Linuxu či typografického systému TeX, občas se tu ale určitě vyskytne i něco z úplně jiného soudku, např. z oblasti bezpečnosti apod.
V diskusi pod minulým zápiskem se objevily i příspěvky o úpravě klávesových map pod Linuxem. A protože jsem si do windowsového rozložení kláves přidal i několik znaků, které v původní Linuxové mapě nejsou, řekl jsem si, že bych to měl nějak sjednotit (i když primárně používám SCIM). V tomto zápisku tedy přikládám modifikovanou linuxovou klávesovou mapu pro setxkbmap reflektující rozšíření z windowsové varianty.
Níže uvedený soubor je modifikovaná česká klávesová mapa z mého SUSE Linuxu 10.1. V jiných distribucích se postup i původní verze klávesové mapy může lišit, věřím ale, že zdejší osazenstvo si s případnými rozdíly hravě poradí.
Po vložení modifikovaného zdrojového textu mapy je nutné aktivovat používání „typografického“ rozložení. Nejjednodušší cestou asi bude úprava /etc/X11/xorg.conf. Relevantní sekce v mém konfiguráku vypadá takto:
Section "InputDevice" Driver "kbd" Identifier "Keyboard[0]" Option "Protocol" "Standard" Option "XkbLayout" "cz(typographic),us" Option "XkbModel" "pc104" Option "XkbOptions" "grp,grp:shifts_toggle,grp_led:scroll" Option "XkbRules" "xfree86" Option "XkbVariant" "xfree86" EndSectionPodstatný je přitom údaj
cz(typographic).
O přidání dalších variant rozložení do klávesové mapy bychom měli zanést informaci také do souborů /etc/X11/xkb/rules/xorg.lst (kód přidáme do sekce ! variant)
typographic cz: typographic typographic_bksl cz: typographic, extended Backslasha
/etc/X11/xkb/rules/xorg.xml
<variant>
<configItem>
<name>typographic</name>
<description>typographic</description>
<description xml:lang="af">typographic</description>
<description xml:lang="az">typographic</description>
<description xml:lang="bg">typographic</description>
<description xml:lang="cs">typographic</description>
<description xml:lang="da">typographic</description>
<description xml:lang="en_GB">typographic</description>
<description xml:lang="fi">typographic</description>
<description xml:lang="fr">typographic</description>
<description xml:lang="hu">typographic</description>
<description xml:lang="nl">typographic</description>
<description xml:lang="ru">typographic</description>
<description xml:lang="sk">typographic</description>
<description xml:lang="sl">typographic</description>
<description xml:lang="sq">typographic</description>
<description xml:lang="sr">typographic</description>
<description xml:lang="sr@Latn">typographic</description>
<description xml:lang="sv">typographic</description>
<description xml:lang="tr">typographic</description>
<description xml:lang="uk">typographic</description>
<description xml:lang="vi">typographic</description>
<description xml:lang="zh_CN">typographic</description>
<description xml:lang="zh_TW">typographic</description>
</configItem>
</variant>
<variant>
<configItem>
<name>typographic_bksl</name>
<description>typographic, extended Backslash</description>
<description xml:lang="en_GB">typographic, extended Backslash</description>
<description xml:lang="fi">typographic, laajennettu Backslash</description>
<description xml:lang="fr">typographic, contre-oblique étendue</description>
<description xml:lang="nl">typographic, uitgebreide backslash</description>
<description xml:lang="ru">typographic, расширенные функции Backslash</description>
<description xml:lang="sl">typographic, razširjena Backslash tipka</description>
<description xml:lang="sr">typographic, проширено са обрнутом косом цртом</description>
<description xml:lang="sr@Latn">typographic, prošireno sa obrnutom kosom crtom</description>
<description xml:lang="tr">typographic, galişmiş Gerisilme</description>
<description xml:lang="vi">typographic, Gạch ngược mở rộng</description>
<description xml:lang="zh_TW">typographic,延伸的反斜線</description>
</configItem>
</variant>
Pak už stačí jen restartovat Xka (což je moc fuj řešení) nebo jednoduše zavolat příkaz
setxkbmap -rules xfree86 -model pc104 -layout 'cz(typographic),us' -option "grp,grp:shifts_toggle,grp_led:scroll"respektive vašemu nastavení X odpovídající modifikaci.
Pokud si adresářový strom /etc/X11/xkb/ stáhnete někam k sobě, tak se díky argumentu setxkbmap -I$HOME/my/config/xkb/ obejdete i bez rootovských práv.
Následuje zdrojový text souboru /etc/X11/xkb/symbols/cz s modifikovaným rozložením české linuxové QWERTZ klávesnice pro setxkbmap:
------ 8< ------------------------ CUT HERE ------------------------------------
// Based on
// $XKeyboardConfig: xkbdesc/symbols/cz,v 1.9 2005/01/18 18:17:48 svu Exp $
// $XFree86: xc/programs/xkbcomp/symbols/cz,v 1.2 2002/11/22 04:02:22 dawes
// Exp $
// BUT MODIFIED by
// Michal Ruzicka <ruzicka(dot)mich(at)tiscali(dot)cz> 2007/11/25 11:43:37
partial default alphanumeric_keys
xkb_symbols "basic" {
// This layout conforms to a new cz compromise standard designed
// to satisfy most unix, windows and mac users.
// 2001 by Kamil Toman <ktoman@email.cz>
include "latin"
name[Group1]= "Czechia";
key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
key <AE01> { [ plus, 1, exclam, dead_tilde ] };
key <AE02> { [ ecaron, 2, at, dead_caron ] };
key <AE03> { [ scaron, 3, numbersign, dead_circumflex ] };
key <AE04> { [ ccaron, 4, dollar, dead_breve ] };
key <AE05> { [ rcaron, 5, percent, dead_abovering ] };
key <AE06> { [ zcaron, 6, asciicircum, dead_ogonek ] };
key <AE07> { [ yacute, 7, ampersand, dead_grave ] };
key <AE08> { [ aacute, 8, asterisk, dead_abovedot] };
key <AE09> { [ iacute, 9, braceleft, dead_acute ] };
key <AE10> { [ eacute, 0, braceright, dead_doubleacute ] };
key <AE11> { [ equal, percent, NoSymbol, dead_diaeresis ] };
key <AE12> { [dead_acute, dead_caron, dead_macron, dead_cedilla ] };
key <AD01> { [ q, Q, backslash, NoSymbol ] };
key <AD02> { [ w, W, bar, Nosymbol ] };
key <AD03> { [ e, E, EuroSign, NoSymbol ] };
key <AD04> { [ r, R, NoSymbol, NoSymbol ] };
key <AD05> { [ t, T, NoSymbol, NoSymbol ] };
key <AD06> { [ z, Z, NoSymbol, NoSymbol ] };
key <AD07> { [ u, U, NoSymbol, NoSymbol ] };
key <AD08> { [ i, I, NoSymbol, NoSymbol ] };
key <AD09> { [ o, O, NoSymbol, NoSymbol ] };
key <AD10> { [ p, P, NoSymbol, NoSymbol ] };
key <AD11> { [ uacute, slash, bracketleft, division ] };
key <AD12> { [parenright, parenleft, bracketright, multiply ] };
key <AC01> { [ a, A, asciitilde, NoSymbol ] };
key <AC02> { [ s, S, dstroke, NoSymbol ] };
key <AC03> { [ d, D, Dstroke, NoSymbol ] };
key <AC04> { [ f, F, bracketleft, NoSymbol ] };
key <AC05> { [ g, G, bracketright, NoSymbol ] };
key <AC06> { [ h, H, grave, NoSymbol ] };
key <AC07> { [ j, J, apostrophe, NoSymbol ] };
key <AC08> { [ k, K, lstroke, NoSymbol ] };
key <AC09> { [ l, L, Lstroke, NoSymbol ] };
key <AC10> { [ uring, quotedbl, dollar, NoSymbol ] };
key <AC11> { [ section, exclam, apostrophe, ssharp ] };
key <AC12> { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] };
key <BKSL> { [dead_diaeresis, apostrophe, backslash, bar ] };
key <LSGT> { [ backslash, bar, slash, NoSymbol ] };
key <AB01> { [ y, Y, degree, NoSymbol ] };
key <AB02> { [ x, X, numbersign, Nosymbol ] };
key <AB03> { [ c, C, ampersand, NoSymbol ] };
key <AB04> { [ v, V, at, NoSymbol ] };
key <AB05> { [ b, B, braceleft, NoSymbol ] };
key <AB06> { [ n, N, braceright, NoSymbol ] };
key <AB07> { [ m, M, asciicircum, NoSymbol ] };
key <AB08> { [ comma, question, less, NoSymbol ] };
key <AB09> { [ period, colon, greater, NoSymbol ] };
key <AB10> { [ minus, underscore, asterisk, NoSymbol ] };
key <SPCE> { [ space, space, nobreakspace, nobreakspace ] };
key <KPDL> { type[Group1]="FOUR_LEVEL_KEYPAD",
[ KP_Delete, comma, KP_Delete, KP_Decimal ] };
include "level3(ralt_switch)"
};
// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
xkb_symbols "bksl" {
include "cz(basic)"
name[Group1]= "Czechia - With <\|> key";
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
};
partial alphanumeric_keys
xkb_symbols "qwerty" {
// This layout should work exactly as a cz with the exception
// of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
// 2001 by Kamil Toman <ktoman@email.cz>
include "cz(basic)"
name[Group1]= "Czechia - qwerty";
key <AB01> { [ z, Z, degree, NoSymbol ] };
key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
};
// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
xkb_symbols "qwerty_bksl" {
include "cz(qwerty)"
name[Group1]= "Czechia - qwerty, extended Backslash";
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
};
partial alphanumeric_keys
xkb_symbols "typographic" {
// This layout should work exactly as a cz with the exception of a few
// typographic extensions.
// 2007 by Michal Ruzicka Michal Ruzicka <ruzicka(dot)mich(at)tiscali(dot)cz>
include "cz(basic)"
name[Group1]= "Czechia - typographic";
key <AE05> { [ rcaron, 5, percent, U2030 ] };
key <AE09> { [ iacute, 9, parenleft, dead_acute ] };
key <AE10> { [ eacute, 0, parenright, dead_doubleacute ] };
key <AE11> { [ equal, percent, U2013, U2014 ] };
key <AE12> { [dead_acute, dead_caron, U2006, U2026 ] };
key <AC06> { [ h, H, U201E, U201A ] };
key <AC07> { [ j, J, U201C, U2018 ] };
key <AD07> { [ u, U, U201C, U2018 ] };
key <AD08> { [ i, I, U201D, U2019 ] };
key <AB10> { [ minus, underscore, asterisk, U2212 ] };
key <SPCE> { [ space, space, nobreakspace, U2005 ] };
};
// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
xkb_symbols "typographic_bksl" {
include "cz(typographic)"
name[Group1]= "Czechia - typographic, extended Backslash";
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
};
------ 8< ------------------------ CUT HERE ------------------------------------
Tiskni
Sdílej:
Jak se tak dívám, tak zájem o typografické rozšíření je celkem zájem. Možná by stálo zato pokusit se nějakou rozšířenou variantu rozložení protlačit přímo do X.org. Myslíte, že by bylo možné se na něčem shodnout, nebo si každý bude hájit svou mapu, na kterou už je zvyklý? 
Nová mapa by měla být snadno použitelná, obsahovat všechny potřebné znaky a (pokud bude měnit qwert* variantu) být kompatibilní s qwert*, co se znaků z první skupiny (mez modifikátoru a se shiftem) týče.
Ano, přesně tak si to představuji – první skupinu ponechat bez modifikací a úpravy provádět jen ve vyšších skupinách. A pokud možno kompatibilně. Tzn. symboly, které zůstanou, tak zůstanou na stejném místě.
Osobně se nebráním odebrání chybných uvozovek (") z takové mapy, neboť v českém textu opravdu nejsou třeba.
Tady bych si dovolil nesouhlasit. Osobě používám českou QWERTZ klávesnici úplně na všechno. Tedy i na programování atd. A bez znaku " se tedy neobejdu. Mým cílem je mít klávesovou mapu vybavenou veškerými potřebnými znaky, aby nebylo nutné vůbec přepínat. Z mého pohledu toto ostatně docela dobře plní i výše navržená mapa.
Pokud byste měl zájem na sjednocení, ozvěte se. Mohli bychom udělat náborovou akci na linux@linux.cz/cz.comp.linux, případně zneužít wiki na www.l10n.cz.
Ano, zájem bych měl.
Mimochodem, taky vám firefox žere nezlomitelné mezery z textarea v HTML?
Taky jsem si toho všiml. Nevím ale, kde je chyba.
#359303. Ještě hůře se chová kazehakase (také používá Gecko). Naopak Opera je v pořádku.Mimochodem, taky vám firefox žere nezlomitelné mezery z textarea v HTML?Taky jsem si toho všiml. Nevím ale, kde je chyba.
No, jak se liší se můžete podívat sám. Jaké jsou změny oproti „normální“ klávesnici se můžete podívat v předchozím zápisku.
V té mé je definováno o něco málo víc symbolů. A především jsem si je definoval já tak, jak mi vyhovují.
Nehledě na to, že o již existujícím rozšíření kolegy Písaře jsem do teď nevěděl.
cz(typo) je už připravené přesně to, o co mi jde. Mimochodem, naprosto vynikajícím nástrojem to je ve spojení s Xe(La)TeXem, protože ve zdrojáku mám už ty znaky, co chci ve výstupu a nemusím je ani nijak složitě vkládat.
Dobrá otázka. Tak jsem si toho všiml. Včera v noci už jsem to ale neřešil. Netuším, co je špatně. Zkusím se na to podívat, až bude čas.
key <AE12> { [dead_acute, dead_caron, U00B4, U2026 ] }; změnit změnit U00B4 na U2006.
Aha, ano jistě. Moje chyba. Nejspíš jsem si ve Vimu nedopatřením přepsal schránku původní hodnotou. V článku už jsem to opravil.
Dobrý den, mám dva dotazy:
Ad 1) Přiznám se, že tohle jsem netestoval (a na tomto stroji momentálně ani nemám možnost). Je tedy možné, že to je „normální“.
Ad 2) Tak zdrojáky jsem nesmazal, a když mi tam bude něco chybět, tak to tam dopíšu.
Asi tam přidám, až budu mít chvilku, znak ″, případně ′, který byl zmíněn v tomto článku.
Ne, v tomto směru k žádným pokusům nedošlo.