PFM
souborový manažér pro Linux - verze 0.3.2c
Proč?
V Linuxu existuje spousta kvalitních "filemanagerů",
ale přece mi stále chyběla aplikace chováním a ovládáním podobná
Total (Windows) Commander-u známému z MS Windows.
Takže jsem se pokusil o vlastní verzi a tady je výsledek.
A díky tomu že jméno Linux Commander bylo již obsazeno a moje fantazie měla
útlum, nazval jsem jej velmi nepoeticky
PFM = Peter's File Manager...
Historie
2001/2002
Počátek práce, výběr vhodných
vlastnostech aplikace a programovacího prostředí.
2003
Předvedení výsledku "veřejnosti", první ohlasy.
Je nutné zmínit vliv Radka Červinky ktrerý projevil
zájem o spolupráci. Prohlídnul si existující kód a patričně
moje poklesky zkritizoval - za což mu patří vřelé díky, stejně
jako za několik cenných lekcí objektového programování.
Tímto vším se urychlilo váhání nad kompletním přepsáním programu.
Protože rychlost a směr vývoje neodpovídali
původním představám, po cca mesíci jsme se domluvili na
vytvoření paralelní větve:
Seksi Commanderu.
2004
Zveřejnění nové, přepsané verze PFM.
Popis programu
PFM je jednoduchý linuxový souborový manažér vzhledem a ovládáním
(a podle možnosti i funkčností) podobný Total Commanderu,
známému ze systému MS Windows. Rovněž jsem se inspiroval
worker-em a mc.
V současné době program umožňuje např.:
- základní operace se soubory (kopírování, přesouvání, mazání,
linky, atributy, vlastník)
- třídění podle jména, přípony, velikosti a datumu úpravy
- definování programu pro otevírání/editaci souborů
- konfigurovatelné PopUp menu (pravé tlačítko myši) pro volitelné
operace s aktuální položkou
- pohodlnou práci s oblíbenými resp. často používanými adresáři
(Ctrl + D)
- rozdělování (a slučování) velkých souborů podle velikosti média
- zobrazit tlačítkovou lištu pro spouštění vybraných programů
- tlačítkovou lištu s předdefinovanými diskovými cestami
- základní operace s příkazovou řádkou (včetně historie)
- jednoduchou změnu jazyka - pouhým překladem textového souboru
s hlášeními a popisem tlačítek či menu; jazyk lze za chodu měnit výberem v
konfiguračním dialogu programu (momentálně je k dispozici česká, slovenská
a (standardní) anglická jazyková verze)
- rychlé hledání v seznamu souborů pomocí klávesy Alt + počáteční
písmeno jména souboru
- ...
Aplikace je programovaná v prostředí Kylix 3 Open Edition.
Jako standardní jazyk rozhraní jsem zvolil angličtinu, avšak
lokalizace není problém - stačí přeložit textový soubor se seznamem
hlášení programu a je to (tedy, mně to tak funguje :-)).
Zatim je připraven soubor pro český a slovenský jazyk.
Stále se jedná o víceméně předběžnou verzi, takže upozorňuji že se program
může chovat poněkud nepředvidatelně.
Jestli jej tedy chcete vyzkoušet, máte možnost ale berte v úvahu že za nic
neručím a je to jen na vaše vlastní nebezpečí.
Licence
GNU GPL, v 2.0 a pozdější.
Text licence přiložen v soubory COPYING.
Požadavky na výkon počítače
Vzhledem k tomu že program bez obtíží běží na mém starém PC (viz. níže),
neměl by s ním být problém:
- AMD K6-2 450
- 128 MB RAM
- Redhat 7.3
- kernel 2.4.21
- glibc 2.2.5-42
- X-Win. manažér (vyzkoušeno IceWM, Gnome, KDE)
Stažení software
Aktuální verze aplikace je 0.3.2c (4.2.2004).
Novinky v nejnovější verzi
(popis úprav / ChangeLog).
K dispozici je kompilovaná
binárka obsahující
standartní instalaci (samozřejmě bez knihoven Kylix-u 3),
a navíc zvlášť
jazykové soubory
(český a slovenský, oba v kódování iso-8859-2),
příklady
konfiguračních
souborů
a samozřejmě
zdrojové soubory.
Varování:
Nová verze 0.3.X obsahuje v porovnání s 0.2.X některé
novinky zjednodušující nastavení a instalaci aplikace:
- Kylix 3
-
aplikace je nyní přepsána v prostředí
Kylix-3 (narozdíl od předchozí verze
- K2). Tím pádem budete pravděpodobně potřebovat stáhnout a nainstalovat
novou verzi knihoven.
- jiná struktura adresářů
- aplikace se nyní nachází v jednom adresáři spolu s
podadresáři pro konfigurační
soubory a jazykové nastavení -
narozdíl od předchozí verze kdy se všechna konf.
data nacházela v adresáři každého uživatele zvlášť
- jazykové soubory
-
jsou instalovány pouze v adresáři aplikace v podadresáři "languages"
a jsou společné pro všechny uživatele;
"*.lng" soubory přítomné v uživatelském adresáři "~/.pfm"
jsou nyní ignorovány
- konfigurační soubory
- nacházejí se v hlavním adresáři aplikace v podadresáři "cfg"
hlavní struktura aplikace může tedy být např.:
/opt/pfm : hlavní adresář aplikace
/opt/pfm/cfg : společný konfigurační adresář
/opt/pfm/doc : dokumentace k PFM
/opt/pfm/languages : jazykové soubory
- jednotná konf. pro spouštění a otvírání souborů
- soubory "pfm.edit" a "pfm.view" byly sloučeny do
nového souboru "pfm.ext" a současně byla změněna struktura
souboru. Tato je v současné době podobná konfiguraci
používané v Midnight Commanderu.
- uživatelská konfigurace
- v konfiguračním adresáři uživatele
(tj. "~/.pfm") se nyní standartně nachází pouze
hlavní konf. soubor "pfm.ini" a historie příkazů "pfm.hist".
Ostatní soubory (pfm.ext, pfm.paths, pfm.btn, pfm.popup)
se můžou nalézat v podadresáři "cfg" aplikace - kdy budou dostupny
pro všechny uživatele - nebo je možné umístit je do uživatelského
konf. adresáře čímž bude umožněno individuální nastavení.
Instalace
- stáhnout a nainstalovat
runtime knihovny Kylixu 3
(cca 2,6 MB).
Knihovny je nutné rozbalit do některého z adresářů uvedených
v souboru
/etc/ld.so.conf (např. do adresáře /lib) a potom zadat v
terminálovém okně příkaz
ldconfig.
Tento bod je možné vynechat pouze když máte nainstalované
a funkční vývojové prostředí Kylix3, nebo jsou zmíněné knihovny
již instalované - jinak bohužel nebude možné PFM spustit.
Poznámka (neověřeno):
Teoreticky by mělo být možné spustit aplikaci bez knihoven
kylixu když máte nainstalované standartní knihovny
Qt (např. QT 2.3.2) pomocí nastavení
$export CLX_USE_LIBQT=1
Zkuste se podívat např. na:
Deploying Kylix 3 Applications
Kylix Deployment Notes for "Hello World"
- stáhnout zkompilovaný program (viz. odkaz "binárka" ve
"Stažení software") v archivu "binary.tgz" a rozbalit jej.
Archiv obsahuje základní strukturu adresářů
aplikace obsahující jazykové a konfigurační soubory.
Příkazem "pfm" nebo
"pfm.sh" lze nyní program spustit. Pro jednodušší práci je vhodné
umístit odkaz adresář aplikace do proměnné PATH.
Soubor "pfm" je vlastní
program, soubor "pfm.sh" je pouze skript pro spouštění PFM bez úvodního propagačního
okna (vlastnost všech programů kompilovaných v Kylixu OE).
Po prvním spuštění a ukončení se v domácím adresáři uživatele vytvoří podadresář
".pfm" ve kterém budou uloženy konfigurační soubory pfm a soubor s historií
použitých příkazů.
K vlastní inspiraci je možné separátně stáhnout balík
vzorových konfiguračních souborů
(pfm.ext, pfm.paths, pfm.popup a pfm.btn).
Tyto soubory se můžou nacházet buď v hlavním adresáři aplikace
(tj. globální konfigurace pro všechny) nebo v adresáři uživatele (~/.pfm) címž
lze docílit možnosti osobního nastavení nezávislého na globální konfiguraci.
V případě že chcete "lokalizovanou" verzi programu,
jsou k dispozici
jazykové soubory
(součást binárního balíku nebo jako separátní archiv "languages.tgz").
Tyto musí být přítomny v hlavním adresáři
aplikace v podadresáři "languages" a jsou dostupné všem uživatelům.
V konfiguračním dialogu je možné si pak zvolit jazyk který bude
použit pro další práci s programem.
A jestli vás zajímá anatomie aplikace, stáhněte si zdrojové soubory a a pošlete
mi svůj komentář a návrhy :-)
Konfigurace
Konfigurační soubory programu jsou uloženy v adresáři
.pfm v domovském
adresáři uživatele a/nebo v hlavním adresáři aplikace.
V některých případech je v těchto souborech
možné použít zástupné symboly ve složených závorkách,
které budou nahrazeny potřebnou hodnotou, např.:
{F} bude nahrazeno aktuální položkou
{D} resp. {T} odpovídá zdrojovému resp. cílovému adresáři
{refresh} - po provedení akce aktualizovat výpis zdrojového adresáře
...
Podrobnosti jsou popsány přímo v příkladech konfiguračních souborů.
Stručný popis jednotlivých souborů:
- pfm.ini
- Hlavní konfigurační soubor uživatele, vytváří se automaticky.
Vnitřní formát je klasický INI konfigurační soubor.
- pfm.btn
- Globální nebo osobní konfigurační
soubor pro tlačítkovou lištu (např. pro rychlé
spouštění často používaných programů).
Formát souboru : ikona = aplikace ; např.:
/usr/share/icons/mini/xcalc_16x16.xpm = xcalc
- pfm.ext
- Globální nebo osobní konfigurační soubor
pro otvírání položek (poklepáním myší
nebo zmáčknutím ENTER), pro editaci (klávesou F4) a zobrazování
(F3). Jeho struktura je částečně podobná konfiguračnímu souboru
v MC.
Formát souboru :
.seznam|.přípon|.souborů
Open=příkaz_pro_otevření
Edit=příkaz_pro_editaci
View=příkaz_pro_zobrazení
- pfm.hist
- Historie příkazového řádku ve formě jednoduchého seznamu použitých
příkazů; vytváří se automaticky v adresáři.pfm.
- pfm.paths
-
Globální nebo osobní seznam předdefinovaných adresářů
které budou zobrazeny na liště;
je možné použít systémové proměnné (HOME a pod.) .
Formát souboru : nápis_tlačítka = cesta_která_bude_nastavena , např.:
/etc = /etc
CD = /mnt/cdrom
HOME = HOME
- pfm.popup
- Seznam položek pro PopUp menu - např. pro speciální
operace s vybranými položkami (zobrazí se po
kliknutí pravým tlačítkem myši na danou
položku). Soubor může být osobní nebo globální.
Formát souboru : popis = příkaz , např.:
Spustit v terminálu = xterm -e {F}
UNZIP do cílového adresáře = xterm -e unzip {F} -d {T} {trefresh}
Připojit CDROM = eject -t && mount /mnt/cdrom {goto /mnt/cdrom}
- pfm_XX.lng
- Jazykové překlady aplikace; jsou uloženy v hlavním adresáři
aplikace v podadresáři "languages".
Další plány
Podle svých časových možností bych rád program dále vylepšoval.
V úvahu zatím
přichází (nemusí zaručeně následovat v uvedeném pořadí):
- transparentní práce s archivy (ZIP, TGZ, ...)
- podpora FTP protokolu
- porovnání souborů podle obsahu / zvýraznění rozdílů (diff)
- synchronizace adresářů
- zobrazení podrobnějších informací a vybraném souboru / adresáři / systému
- podpora DnD
- ... ???
Odkazy
Postupně jsem vyzkoušel několik souborových manažérů;
možná se i vám bude hodit pár odkazů:
- MC (Midnight Commander)
= bezkonkurenční produkt, (ne)výhodou je práce v terminálovém okně
- Worker = podle
mého názoru druhý nejpoužitelnější a nejlepší fm. pro linux
- emelfm = stojí za
to jej vyzkoušet
-
linux commander = další velmi vydařený produkt
- gnome commander
= snaha o převedení mc do x-windows hávu, působí dobře ale neměl jsem zatím
možnost otestovat jej podrobněji
Kontakt
Adresa pro připomínky a návrhy: Peter Černoch,
pcernoch (zavinac) volny.cz
V případě že máte zájem dostávat iformace o opravách a nových verzích
pošlete E-mail se subjektem
"PFM-info" na adresu:
pfm (zavinac) pcernoch.wz.cz
Aktualizováno: 4.2.2004, © 2004 Peter Cernoch