Kybernetický útok zasáhl nejméně 150 supermarketů Intermarché a několik prodejen řetězců Leclerc a Coopérative U. Chladicí jednotky napadených obchodních domů byly nastaveny na nepřetržité odmrazování a teplota v nich mnohdy vystouala až nad 50°C. Škody napáchané na chlazeném a mraženém zboží budou patrně dosahovat miliónů eur.
… více »Stát Kalifornie zažaloval výrobce 3D tiskových filamentů Polymaker. Vrchní soud San Diego County tvrdí, že firma propagací svých výrobků mezi příznivci 3D tištěných zbraní podporovala výrobu takzvaných 'ghost guns' (DIY zbraní) a že její PLA filament pro 3D tiskárny lze za těchto okolností považovat za součást určenou k výrobě střelné zbraně. Žaloba požaduje mimo jiné finanční sankce a soudní zákaz činnosti, Polymaker se hájí tím, že filament je běžný a sám o sobě legální produkt. Celý text žaloby (PDF na Google Drive).
V červnu byla představena aplikace Myna pro převod řeči na text v prostředí desktopu Ubuntu. Včera byla Myna zpřístupněna širší komunitě Ubuntu formou technologické ukázky dostupné v Ubuntu 24.04 LTS, Ubuntu 26.04 LTS a Ubuntu 26.10 s GNOME na Waylandu.
Ubuntu 27.04 bude Tenacious T-Rex.
Byla vydána nová verze 2026.4.0 "Never-slop" svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Přehled novinek v poznámkách k vydání a na GitHubu. ScummVM oslavil 25 let. Verze 0.0.1 vyšla 8. října 2001.
Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a
… více »Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.
Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si
… více »Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do
… více »Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.
Na potřebu vytvářet menu dynamicky jsem narazil chvíli poté, co se mi na disku shromáždilo o něco málo více než dvě fotky, a já hledal efektivní způsob, jak střídat na pozadí pracovní plochy depresivní obrázek propíchané holky s depresivním obrázkem podzimního Radhoště v mlze. Fvwm je naštěstí inteligentní okenní manažer a pamatuje i na mou potřebu vytvářet menu dynamicky například podle obsahu nějakého adresáře.
Podobný nápad měli i tvůrci fvwm, protože přímo součástí distribučního balíčku je i v perlu napsaný program fvwm-menu-directory, který je právě na procházení adresářových struktur pomocí menu fvwm určený. Při studiu dynamických menu mi program fvwm-menu-directory významně pomohl.
Program fvwm-menu-directory není v distribuci fvwm jediný program pro tvorbu dynamických menu. Zajímavou inspirací může být například fvwm-menu-headlines - program dokáže z internetu stáhnout titulky článků z různých zpravodajských serverů a při zvolení nastartovat prohlížeč s obsahem příslušného článku - zřejmě tedy RSS čtečka integrovaná přímo do okenního systému. Další program, fvwm-menu-desktop, vytváří menu z definic prostředí Gnome či KDE. Přiznám se, že netuším, jak tyto programy fungují - nikdy jsem je nezkoušel.
Při tvorbě různých funkcí a menu si je třeba uvědomit, že na rozdíl od
jiných "programovacích jazyků" konfigurační jazyk fvwm umožňuje
vytvářet jedno menu nebo funkci na několika místech. Příkaz
AddToMenu můžeme použít na začátku konfiguračního
souboru, pokračovat s tvorbou stejného menu uprostřed, ve zcela jiném
kontextu, a celé menu dokončit na posledních řádcích konfiguračního
souboru, případně v souboru uloženém někde úplně jinde. Takový přístup
jistě není nejlepší konfigurační technikou, ale usnadňuje to
dynamickou tvorbu konfigurace fvwm. Zkušenému
programátorovi/konfigurátorovi by nemělo činit problémy udržet zmatek
v konfiguračním souboru na zvládnutelné úrovni.
Při tvorbě dynamických menu je přijatelným postupem definovat úvodní část menu staticky v konfiguračním souboru:
AddToMenu MojeMenu + "Moje menu" Title + "" Nop + "Statická akce" Exec exec ...
a o kus dál (dynamicky) připojit k menu další položky:
AddToMenu MojeMenu "Položka v menu" Exec exec...
Přečte část konfigurace z externího souboru. Pro nefalšovaná dynamická
menu není příkaz Read úplně nejvhodnější vzhledem ke
statické povaze normálního souboru. Příkaz read je obyčejnou obdobou
například direktivy #include z jazyka C.
Přečte část konfigurace ze standardního výstupu nějakého programu.
Program je spuštěn pomocí /bin/sh, takže jako externí
program lze uvést i jednoduchý skript shellu:
AddToMenu HomeDirMenu
PipeRead 'for i in $HOME/*; \
do echo "+ \"$i\" Exec xterm -e vi \"$i\""; done'
Příklad vytvoří menu se seznamem všech souborů v domácím adresáři uživatele a v případě zvolení některé položky nastartuje xterm s editorem vi.
Adresářová struktura bývá obecně ve stromovém tvaru, velmi složitá, a
předem nelze říci, co na souborovém systému najdeme. Fvwm dovede
dynamicky vytvářet nejen jednotlivé položky v menu, ale i celá menu.
Příkazem MissingSubmenuFuction okennímu manažeru fvwm
sdělujeme, která funkce mu pomůže při vytváření chybějících podmenu.
Pro každé dynamické menu lze samozřejmě uvést jinou funkci.
Funkci je jako první parametr předané jméno vytvářeného menu. Parametr je přístupný, podobně jako v shellu, jako "$0".
AddToFunc FuncFvwmMenuDirectory + I PipeRead "fvwm-menu-directory -d '$0'" AddToMenu Adresare "Adresáře" title + MissingSubmenuFunction FuncFvwmMenuDirectory + "Adresář [$HOME]" Popup "$[HOME]" + "Adresář /" Popup "/"
V uvedeném příkladu je pro tvorbu chybějících menu použitý externí
program fvwm-menu-directory. Menu jím generovaná předpokládají, že
funkce pro tvorbu menu se jmenuje FuncFvwmMenuDirectory, ale není
problém jméno funkce změnit parametrem --func-name "jméno
funkce". Program fvwm-menu-directory je napsaný v perlu a je
možné jej spustit přímo na povelové řádce a prohlédnout si jeho
výstup:
DestroyMenu recreate "/" AddToMenu "/" + DynamicPopDownAction DestroyMenu "/" + MissingSubmenuFunction FuncFvwmMenuDirectory + "/" Exec cd "/"; xterm -e /bin/bash + "" Nop + "bin" Popup "bin" item +100 c ....
Příkazy umožňují spustit nějakou akci při zobrazení nebo skrytí menu. Protože tvoříme menu dynamicky a předpokládáme, že obsah menu se může pokaždé změnit, je dobré takové menu po použití zrušit, jinak by se nám v menu hromadily položky jako horníci v dolech:
AddToMenu MojeMenu DynamicPopDownAction DestroyMenu MojeMenu
Pro vytváření menu se dá použít příkaz
DynamicPopupAction:
AddToMenu Adresare + DynamicPopDownAction DestroyMenu Adresare + DynamicPopUpAction PipeRead \ 'for i in /tmp/*; do echo "AddToMenu Adresare \\"$i\\" Nop"; done'
Příklad nic užitečného nedělá, pouze vypisuje soubory v adresáři
/tmp,
ale lze na něm hezky demonstrovat použití příkazů
DynamicPopDownAction a DynamicPopUpAction.
No a to je v zásadě vše, co nám stačí k tvorbě dynamických menu.
Ve svém domácím adresáři jsem si vyrobil adresář .podklad a
do něj uložil všechny obrázky, které chci mít občas na ploše. Obrázky jsem
si hezky roztřídil do podadresářů podle témat.
Někam do cesty (u mě je to adresář /usr/local/bin) jsem
uložil jednoduchý skript:
#!/bin/sh
if [ "$1" = "--menu" ]; then
DIR="$2"
cd $DIR
echo "DestroyMenu recreate \"$DIR\""
echo "AddToMenu \"$DIR\""
echo "+ DynamicPopDownAction DestroyMenu \"$DIR\""
echo "+ MissingSubmenuFunction FuncPodkladDir"
# První se zpracují adresáře
find * -type d -maxdepth 0 -print | while read i
do
echo "+ \"$i\" Popup \"${DIR}${i}\""
done
# Pak se vyhledají a zpracují soubory s obrázky
find *.jpg *.jpeg -type f -maxdepth 1 -print | while read i
do
# jména souborů očesat o příponu
nn="`echo $i | sed 's/\.jpg$//; s/\.jpeg$//;'`"
echo "+ \"$nn\" Exec podklad xloadimage -border black -center \
-onroot \"\\\"${DIR}/${i}\\\"\""
done
exit
fi
# Skript je volaný s parametry, které říkají, jak zobrazit obrázek na
# ploše obrazovky
if [ $# -gt 0 ]; then
echo "$@" > $HOME/.podklad/podklad.cfg
fi
# Skript je volaný bez parametrů, z minula ale máme uložený příkaz
# pro zobrazení obrázku v souboru podklad.cfg
if [ -r "$HOME/.podklad/podklad.cfg" ]; then
. $HOME/.podklad/podklad.cfg
fi
Do konfiguračního souboru fvwm jsem doplnil řádky:
AddToFunc FuncPodkladDir + I PipeRead "podklad --menu '$0'" AddToMenu Podklad + MissingSubmenuFunction FuncPodkladDir + "Podklad obrazovky" title + "Čistý černý podklad" Exec podklad xsetroot -solid Black + "Čistý modrý podklad" Exec podklad xsetroot -solid MidnigtBlue + "" Nop + "Obrázky" Popup $[HOME]/.podklad/
Skript se volá třemi různými způsoby. Z fvwm je třeba zavolat skript s
parametry --menu jmeno_adresare - pak se vygeneruje
seznam obrázků (pro jednoduchost soubory s příponou jpg a jpeg) v
podobě dynamického menu. Při zvolení některé položky se zavolá skript
podruhé a jako parametr se mu předá celý postup, kterým se má
nastavit na pracovní plochu požadovaný obrázek (volání xloadimage).
Potřetí se skript volá bez parametrů při startu fvwm - v tom případě
si skript sáhne na disk do souboru .podklad/podklad.cfg, kde má od
minula uložené, jak má nastavit pozadí pracovní plochy.
První díl seriálu o fvwm (Fvwm - I) jsem napsal téměř před rokem. Jsem rád, že jsem konečně našel sílu napsat vše, co jsem původně zamýšlel, a že jsem dokázal seriál dokončit.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Hezky den
A zrovna dneska psali o tom uchylovi, jak zabil svou expritelkyni, ze pred vrazdou nosil na tricku obrazek s obesenou divkou ..
.. chci víc.. chci přeložený celý manuálový stránky pro fvwm!