Heti tipp – spacefm és egy ismétlés

Linux tipp
Linux tipp

A heti Linux tipp adagot egy spaceFM, azaz fájlkezelős tippel kezdem. Sokszor van arra szükségem, hogy több fájlt nyissak meg egyszerre, ugyanazzal a programmal. Ehhez a legkényelmesebb egy menüt létrehozni, majd abba berakni a parancsikonokat, melyek fel lettek készítve a több kijelölt fájl együttes megnyitására is. Bár a leírtak a spaceFM-re adott tipp, de bármelyik Linux grafikus fájlkezelőre adaptálható, ha az kezeli az elvárt bővíthetőséget.

Első lépés egy új bejegyzés létrehozása, ami lehet akár a jobb klikkes menüben egy almenü, akár egy ikon az ikonsorban, vagy Tools menüben egy parancs bejegyzés. Alapvetően nincs különbség köztük, azt használd, ami neked kényelmes.
A bejegyzést a megfelelő helyre való kattintással hozhatod létre. A Tools menü ás az ikonsor egyszerű, de a jobb klikkes menübe kicsit trükkös: jobb klikk a panelon belül, majd egyik, a menüben megjelent ikonra (a szöveg előtt) újra jobb klikk. Ha a szövegre kattintasz nem kapod meg a megfelelő menüt és nem lesz ott a New sor…

Én értelemszerűen egy Command-ot hozok most létre.

Előbb kapjon egy nevet. Ez fontos, mert az alapértelmezett név, amivel létrejött nem lesz jó!
Majd a Command fülre lépünk, vagy oda is ugrik a név megadása után. Itt adjuk meg a parancsot, amivel felkérjük a spaceFM-et a kijelölt fájlok együttes használatára. Ez a spaceFM alatt nem okoz gondot, hiszen már többször volt róla szó: igen sok reguláris kifejezést ismer, amivel akár parancssori, de szkriptesített megoldásokat kezelhetünk.
Bár sokféle megadási lehetőség felsorolásra kerül, de nekünk, alapesetben elegendő az első kettő-három ismerete.

%F a kijelölt fájlok
%f a kijelölt fájl, illetve ha több is kijelölt, akkor az első
%N a kijelölt fájlnevek
%d a jelenlegi könyvtár

Itt logikusan a %F az összes kijelölt fájl regexp lesz a megfelelő.

Pld. ilyen lehet a bejegyzés:

inkscape %F

Ekkor az inkscape elsofajl masodikfajl parancs lesz a behelyettesítés, és megnyitja mindegyiket.
Ha csak ennyi a feladat, akkor inkább a Command Line a jobb választás, ha már összetettebb, akkor a Script bejegyzés. Azonban a szkripteknél nem az egybetűs (%D) hanem a hosszabb “${fm_files[@]}” a megfelelő. Érdemes megjegyezni, hogy bár egy programon belül készítünk egy parancsot, a Command és a Script az más regexp-eket használ.
Majd Option fül, a Run As Task elől kivesszük a jelölést, hogy ne task-ként fusson, mert akkor – ha be van állítva – alul megjelenik a task panel és feleslegesen mutatja, hogy fut a task.
Ezután két lépést lehet megtenni, a Menu Item fülön az ikont be lehet állítani, és egy Key-t is kaphat. Akinek kézre áll a gyorsbillentyűzés, neki igen kellemes lehet, hogy nem kell sehova kattintgatni, csak kijelöli a fájlokat majd, a gyorsbillentyűvel elindítja a parancsot.
Majd próba. Ha minden jól megy, akkor kész is vagyunk.

Bár sok program támogatja az egynél több fájl együttes megnyitását, nem mindegyik. Illetve azt ezzel sem tudod megváltoztatni, ha külön-külön nyitja meg a több fájlt a program, vagy füles megoldással, egy futó programon belül. Ha valamit a program, amivel megnyitsz, nem tud, akkor itt sem fogja tudni!
Bár elég gagyi, semmire sem jónak tűnik az ilyen Linux tipp, de ha többször nyitsz meg egy programmal több fájlt egyszerre, gyorsíthatja a munkádat.

Még egy ablak paraméterező tipp

Az előzőekben ajánlottam egy parancssori megoldást arra, amikor egy ablak helyét, méretét akarok meghatározni. Az egy egyszerűbb, ez látványosabb megoldás lesz.
KuLuSz egyik szkriptje ez, amit itt találtam.

A kódot vagy a fenti helyről leszeded, vagy bemásolod egy sima szöveges fájlba, majd futtathatóvá teszed.

#!/bin/sh

export F="/tmp/geometry_example"
export F2="/tmp/geometry_example2"

refi(){
xwininfo -frame -name geometry_example > $F2
W=$(grep Wid $F2 | awk '{print $2}')
H=$(grep Hei $F2 | awk '{print $2}')
PL="$(grep "Cor" $F2 | awk '{print $2}' | cut -f2 -d+)"
PT="$(grep "Cor" $F2 | awk '{print $2}' | cut -f3 -d+)"
PR="$(grep "Cor" $F2 | awk '{print $3}' | cut -f1 -d+ | sed 's/-//g')"
PB="$(grep "Cor" $F2 | awk '{print $5}' | cut -f2 -d-)"
echo ' 
Window width: '$W'
Window height: '$H'

From left : +'$PL'
From top : +'$PT'
From right : -'$PR'
From bottom: -'$PB'

Left-top orientation:
--geometry='$W'x'$H'+'$PL'+'$PT'

Right-top orientation:
--geometry='$W'x'$H'-'$PR'+'$PT'

Right-bottom orientation:
--geometry='$W'x'$H'-'$PR'-'$PB'

Left-bottom orientation:
--geometry='$W'x'$H'+'$PL'-'$PB' 

All geometric shapes are applicable!!
' > $F
}
export -f refi

export MD='TEXT'$F'
refirefresh:TEXT'

gtkdialog -pc MD

Ha valamit nem akarsz kiíratni, akkor azt kikommenteled…

Futtatásnál kapsz egy ablakot, ami alapbeállításúként nyílik meg, tedd lebegővé, majd a lebegő ablak méretét és helyét állítsd be. A kiírás igencsak érthető, csak a megfelelő értékeket kell bemásolni a konfigurációdba, ahova az ablakot akarod rakni.
Mióta ezt használom sokkal attraktívabban helyezem el a lebegő ablakaimat nyitáskor. Eddig a megszokott pár pozíciót használtam, ami jó volt nagyjából, de most már pontosan olyan lesz a kinézet, ahogy azt elképzeltem. Nem kell kísérletezni, pontosítani tíz pixeles odébb rakásokkal vacakolni. A szkript megadja a pontos pozíciót, csak be kell írni a konfigurációba.
Értelemszerűen a beírás módját, annak paramétereit neked kell ismerni a saját ablakkezelőnél. Nekem pld. az I3wm alatt

for_window [class=”pavucontrol|Pavucontrol”] move to workspace $ws9 floating enable, move position 700 40, resize set 520 630,

de ez eltér mindegyik ablakkezelőnél.

Ennyi jutott mára.

Related Posts