Hlavní navigace

Daniel's File Selection Hack

18. 10. 2020 0:28 (aktualizováno) Daniel Novotný

V dnešním blogpostu bych vám rád popsal jeden prográmek, takovou minimalistickou utilitku, kterou jsem si vyvinul pro vlastní potřebu a posléze se rozhodl ji distribuovat i na Internetu.

Program se jmenuje „Daniel's File Selection Hack“, přičemž to slovo „hack“ je tam míněno v původnějším významu, česky bychom řekli něco jako „vychytávka“. Dále budu program označovat zkratkou dfish.

Pokud vám program jednoduše popíšu jako „Generický GUI frontend“ nebo „konfigurovatelné vybírátko souborů“, asi nebudete vědět, co tím myslím, tak se trochu rozepíšu:

Někdy se na Linuxu stává, že máte nějaký program pouze v řádkové podobě a přitom by bylo záhodno, aby pro něj existoval nějaký jednoduchý „klikací“, „vybírací“ front-end. A právě toto se v obecnosti snaží dfish zařídit.

Jednoduchý příklad ze stránek programu: máte adresář s pozadími plochy a řádkový program, který pozadí na plochu zobrazí a potom zavoláte na příkazovém řádku

dfish /home/user/my_backgrounds "fbsetbg -f" '*.jpg'

Čili zadáte cestu k adresáři, kterou má dfish zobrazovat, dále příkaz, který se stane nad souborem z této cesty, pokud na něj v dfish dvojitě kliknete nebo zmáčknete ENTER. Jako poslední parametr je shellový glob určující, jaké soubory má dfish vybrat, v našem případě všechny s příponou jpg.

Jiný příklad:

dfish /home/danny/hry/emu/sega dsega-wrapper '*.[sSbB][mMiI][dDnN]'

V tomto případě se dfish spustí v adresáři, kde jsou obrazy cartridgí pro Sega Mega Drive, při dvojím kliknutí se pustí program/skript dsega-wrapper, který předá potřebné parametry řádkovému emulátoru Segy a trochu složitý glob určuje, aby se zobrazily programy s příponou *.smd nebo *.bin, case insensitive.

Poslední příklad do třetice všeho dobrého:

dfish /home/danny/hry/dos/dosbox-skripty bash '*'

V tomto případě mám skripty volající dosbox s různými parametry, pokaždé jimi otevírám jinou hru, dfish bude skripty otevírat přímo bashem a vezme v úvahu všechny soubory v tomto adresáři.

V distribuci Fedora by měl být dfish součástí repozitářů, v jiných distribucích Linuxu (nebo třeba FreeBSD, program používá pouze Tcl/Tk a nevidím důvod, proč by nefungoval i v jiném UNIX-like systému) si jej můžete stáhnout na stránkách http://danielsoft.sweb.cz/dfish.html . Doufám, že prográmek alespoň někdo z vás ocení.

Sdílet