Kezdőlap › Fórumok › Linuxos szoftverek › awesome ablakkezelő
- This topic has 1,005 hozzászólás, 15 résztvevő, and was last updated 15 years, 9 months telt el by
Névtelen.
-
SzerzőBejegyzés
-
2008-09-17-21:50 #2147073
Megpróbálom elemezni az általad leírtakat, csak erősíts meg/javíts ki légyszíves.
Code:tag_list = {
{ name = „term”, hotkey = „x”, layout = „spiral” },
{ name = „web”, hotkey = „w”, layout = „magnifier” },
{ name = „news”, hotkey = „n”, layout = „tile” },
{ name = „music”, hotkey = „m”, layout = „max” },
{ name = „torrent”, hotkey = „t”, layout = „spiral” },
{ name = „utils”, hotkey = „u”, layout = „spiral” },
{ name = „games”, hotkey = „g”, layout = „max” },
{ name = „dox”, hotkey = „d”, layout = „tileleft” },
{ name = „dev”, hotkey = „v”, layout = „tile” },
{ name = „sys”, hotkey = „s”, layout = „tileleft” }
}Itt definiálsz egy táblát(ha jól értettem a Lua-ban csak táblák vannak, ezekkel lehet megadni pl. tömböket is).
Visszatérve a korábbiakra ez sem látom dokumentálva, hogy a hotkeyeket itt is meg lehet adni.Code:function get_tag_by_name(des_tag)
local i
for i = 1,number_of_tags do
if tag_list[i].name == des_tag then return i
end
end
return -1
endItt létrehozol egy funkciót, ami a elvileg arra szolgál, hogy név alapján azonosítja a tageket(itt az adott tag tag_list táblában elfoglalt helyére/sorszámára van szükséged vagy mi jelentősége van?), definiálsz egy locális változót(az i-t), létrehozol egy ciklust, az i-nek 1-es értéket adsz, de hogy a „number_of_tags” honnan jön, arról fogalmam sincs, esetleg azt jelentheti, hogy addig fut a ciklus amíg a tag_list táblában el nem fogy a számozás? Bár nem hivatkozol arra a táblára. ???
Utána megvizsgálod, hogy a tag_list-ben az „i” értékének megfelelő számú tag neve egyezik-e a funkciót meghívását kezdeményező értékkel(des_tag) s ha igen, akkor az adott szám lesz a visszatérési érték, ami a tag, tag_list-ben elfoglalt helyét jelenti.
A „return -1” az mi?Code:tags = {}
for tagnumber = 1, number_of_tags do
tags[tagnumber] = tag({ name = tag_list[tagnumber].name, layout = tag_list[tagnumber].layout })
tags[tagnumber].screen = 1
endItt hozod létre ténylegesen a tageket, először a „tags = {}”-el létrehozol egy üres táblát, majd egy ciklus segítségével feltöltöd.
A valami[akármi] forma mindig számozást jelent?
A „tags[tagnumber]”-nél van jelentősége, hogy tags van az elején s nem bármi más? Azzal határozod meg, hogy melyik táblához fog tartozni?
Miután létrehoztál egy taget hozzárendeled egy adott screen-hez.A „valami.akármi.más” hierarhikus formában épül fel?
Tehát mondjuk „tag_list[tagnumber].name” azt jelenti, hogy a „tag_list” tábla „name” értéke?
Vagy pl. az „awful.client.movetotag” úgy jön létre, hogy az „awful” modul, „client” funkciójának, a „movetotag” alfunkciója, igaz?Utána jönnek a gyorsbillentyűk megadása, itt csak pár dolgot emelnék ki.
Code:keybinding({ winkey }, tag_list[i].hotkey,
function ()
if tags[i] then
awful.tag.viewonly(tags[i])
end
end):add()Itt miért kell a feltétel megadása? Azt vizsgálod vele, hogy létezik-e a tag?
Code:keybinding({ modkey, „Control” }, tag_list[i].hotkey,
function ()
local screen = mouse.screen
if tags[i] then
tags[i].selected = not tags[i].selected
end
end):add()Ez mit csinál?
Ha jól értem először a screen változó megkapja annak a screen-nek a sorszámát amelyiken épp áll az egér, de ezt utána nem használod fel, hanem elrejted az adott taget, nem igazán értem mire való.Kicsit hosszú lett, bocsi, csak próbáltam minél jobban kifejezni magam, bár nem mindig sikerült.
It was the last step before releasing awesome 3 final… hm hm.
Nem lenne rossz, már leginkáb az átnevezést várom, hogy tudjam használni a 2.x-et s mellette konfigolni a 3-ast, jelenleg is fel van rakva a 3-as és fut egy külön X sessionben, de még fut a kettes is(install óta nem volt reboot, X restart) egy másik X sessionben. 🙂
2008-09-17-21:50 #2147074Megpróbálom elemezni az általad leírtakat, csak erősíts meg/javíts ki légyszíves.
Code:tag_list = {
{ name = „term”, hotkey = „x”, layout = „spiral” },
{ name = „web”, hotkey = „w”, layout = „magnifier” },
{ name = „news”, hotkey = „n”, layout = „tile” },
{ name = „music”, hotkey = „m”, layout = „max” },
{ name = „torrent”, hotkey = „t”, layout = „spiral” },
{ name = „utils”, hotkey = „u”, layout = „spiral” },
{ name = „games”, hotkey = „g”, layout = „max” },
{ name = „dox”, hotkey = „d”, layout = „tileleft” },
{ name = „dev”, hotkey = „v”, layout = „tile” },
{ name = „sys”, hotkey = „s”, layout = „tileleft” }
}Itt definiálsz egy táblát(ha jól értettem a Lua-ban csak táblák vannak, ezekkel lehet megadni pl. tömböket is).
Visszatérve a korábbiakra ez sem látom dokumentálva, hogy a hotkeyeket itt is meg lehet adni.Code:function get_tag_by_name(des_tag)
local i
for i = 1,number_of_tags do
if tag_list[i].name == des_tag then return i
end
end
return -1
endItt létrehozol egy funkciót, ami a elvileg arra szolgál, hogy név alapján azonosítja a tageket(itt az adott tag tag_list táblában elfoglalt helyére/sorszámára van szükséged vagy mi jelentősége van?), definiálsz egy locális változót(az i-t), létrehozol egy ciklust, az i-nek 1-es értéket adsz, de hogy a „number_of_tags” honnan jön, arról fogalmam sincs, esetleg azt jelentheti, hogy addig fut a ciklus amíg a tag_list táblában el nem fogy a számozás? Bár nem hivatkozol arra a táblára. ???
Utána megvizsgálod, hogy a tag_list-ben az „i” értékének megfelelő számú tag neve egyezik-e a funkciót meghívását kezdeményező értékkel(des_tag) s ha igen, akkor az adott szám lesz a visszatérési érték, ami a tag, tag_list-ben elfoglalt helyét jelenti.
A „return -1” az mi?Code:tags = {}
for tagnumber = 1, number_of_tags do
tags[tagnumber] = tag({ name = tag_list[tagnumber].name, layout = tag_list[tagnumber].layout })
tags[tagnumber].screen = 1
endItt hozod létre ténylegesen a tageket, először a „tags = {}”-el létrehozol egy üres táblát, majd egy ciklus segítségével feltöltöd.
A valami[akármi] forma mindig számozást jelent?
A „tags[tagnumber]”-nél van jelentősége, hogy tags van az elején s nem bármi más? Azzal határozod meg, hogy melyik táblához fog tartozni?
Miután létrehoztál egy taget hozzárendeled egy adott screen-hez.A „valami.akármi.más” hierarhikus formában épül fel?
Tehát mondjuk „tag_list[tagnumber].name” azt jelenti, hogy a „tag_list” tábla „name” értéke?
Vagy pl. az „awful.client.movetotag” úgy jön létre, hogy az „awful” modul, „client” funkciójának, a „movetotag” alfunkciója, igaz?Utána jönnek a gyorsbillentyűk megadása, itt csak pár dolgot emelnék ki.
Code:keybinding({ winkey }, tag_list[i].hotkey,
function ()
if tags[i] then
awful.tag.viewonly(tags[i])
end
end):add()Itt miért kell a feltétel megadása? Azt vizsgálod vele, hogy létezik-e a tag?
Code:keybinding({ modkey, „Control” }, tag_list[i].hotkey,
function ()
local screen = mouse.screen
if tags[i] then
tags[i].selected = not tags[i].selected
end
end):add()Ez mit csinál?
Ha jól értem először a screen változó megkapja annak a screen-nek a sorszámát amelyiken épp áll az egér, de ezt utána nem használod fel, hanem elrejted az adott taget, nem igazán értem mire való.Kicsit hosszú lett, bocsi, csak próbáltam minél jobban kifejezni magam, bár nem mindig sikerült.
It was the last step before releasing awesome 3 final… hm hm.
Nem lenne rossz, már leginkáb az átnevezést várom, hogy tudjam használni a 2.x-et s mellette konfigolni a 3-ast, jelenleg is fel van rakva a 3-as és fut egy külön X sessionben, de még fut a kettes is(install óta nem volt reboot, X restart) egy másik X sessionben. 🙂
2008-09-18-15:56 #2147075Először is: a 3.0 megszületett!!!
Másodszor:
birno wrote:Itt definiálsz egy táblát(ha jól értettem a Lua-ban csak táblák vannak, ezekkel lehet megadni pl. tömböket is).
Nevezhetjük így is, nem tudom, mi a hivatalos neve.birno wrote:Visszatérve a korábbiakra ez sem látom dokumentálva, hogy a hotkeyeket itt is meg lehet adni.
Bárhol meg lehet adni. Ui. ez egy program, és sorban van kiértékelve.birno wrote:Itt létrehozol egy funkciót, ami a elvileg arra szolgál, hogy név alapján azonosítja a tageket(itt az adott tag tag_list táblában elfoglalt helyére/sorszámára van szükséged vagy mi jelentősége van?)
Mert így tudok a későbbiekben pl. a „web” cimkére hivatkozni, hogy az a 2. Arra meg lusta vagyok, hogy létrehozzak egy tag_web, tag_term, tag_news cimkéket, egyszerűbb tömbben. Rövid ideig tartó keresgélésem alapján arra a következtetésre jutottam, hogy tömböket nem lehet sztringekkel indexelni. Ezért kell.birno wrote:a „number_of_tags” honnan jön, arról fogalmam sincs, esetleg azt jelentheti, hogy addig fut a ciklus amíg a tag_list táblában el nem fogy a számozás?
Az egy konstans, a részletből kimaradt. Egyszerűen csak tag_list = 10, mivel tíz cimkét használok.birno wrote:A „return -1” az mi?
Ha véletlenül olyan cimkét adok meg, ami nem létezik, legyen egy biztos visszatérési érték, így nem jönnek létre „rejtélyes” dolgok (tehát megvizsgálom, hogy melyik cimke, ha nem létezik, visszaadja a -1-et, és a különféle funkciók ezt lekezelik).birno wrote:A valami[akármi] forma mindig számozást jelent?
Kevéske lua-ismerettel a hátam mögött azt mondom, hogy igen. Tehát ha egy kicsit c-ben vagy valamiben jártas vagy, akkor ezek a tömbök.birno wrote:A „tags[tagnumber]”-nél van jelentősége, hogy tags van az elején s nem bármi más? Azzal határozod meg, hogy melyik táblához fog tartozni?
A tags tömb/tábla tagnumber-edik eleme.birno wrote:Vagy pl. az „awful.client.movetotag” úgy jön létre, hogy az „awful” modul, „client” funkciójának, a „movetotag” alfunkciója, igaz?
Lényegében igen. De a client egy objektum (szerűség), aminek vannak mezői (pl. melyik screen-en van, tag-en, stb.), és különféle függvényei (pl. movetotag).birno wrote:Code:keybinding({ winkey }, tag_list[i].hotkey,
function ()
if tags[i] then
awful.tag.viewonly(tags[i])
end
end):add()Itt miért kell a feltétel megadása? Azt vizsgálod vele, hogy létezik-e a tag?
Pontosan.birno wrote:Code:keybinding({ modkey, „Control” }, tag_list[i].hotkey,
function ()
local screen = mouse.screen
if tags[i] then
tags[i].selected = not tags[i].selected
end
end):add()Ez mit csinál?
Ha jól értem először a screen változó megkapja annak a screen-nek a sorszámát amelyiken épp áll az egér, de ezt utána nem használod fel, hanem elrejted az adott taget, nem igazán értem mire való.
Nos igen, a screen-t nem gyomláltam ki (nekem csak egy monitorom van, tehát felesleges ezekkel vacakolni). A cimke láthatóságát kapcsolgatja ki-be (toggle, vagy hogy is hívják mindenféle progikban).birno wrote:Nem lenne rossz, már leginkáb az átnevezést várom, hogy tudjam használni a 2.x-et s mellette konfigolni a 3-ast, jelenleg is fel van rakva a 3-as és fut egy külön X sessionben, de még fut a kettes is(install óta nem volt reboot, X restart) egy másik X sessionben. 🙂Én ezt PLD-ben megcsináltam, az awesome2-es csomag a „régi” sorozat, minden awesome*-ot átneveztem awesome2*-ra (persze a manual-oldalak így „hamis” hivatkozást tartalmaznak, majd egyszer valamikor átírom). De valamit akar ezügyben debian-ban JD.
2008-09-18-15:56 #2147076Először is: a 3.0 megszületett!!!
Másodszor:
birno wrote:Itt definiálsz egy táblát(ha jól értettem a Lua-ban csak táblák vannak, ezekkel lehet megadni pl. tömböket is).
Nevezhetjük így is, nem tudom, mi a hivatalos neve.birno wrote:Visszatérve a korábbiakra ez sem látom dokumentálva, hogy a hotkeyeket itt is meg lehet adni.
Bárhol meg lehet adni. Ui. ez egy program, és sorban van kiértékelve.birno wrote:Itt létrehozol egy funkciót, ami a elvileg arra szolgál, hogy név alapján azonosítja a tageket(itt az adott tag tag_list táblában elfoglalt helyére/sorszámára van szükséged vagy mi jelentősége van?)
Mert így tudok a későbbiekben pl. a „web” cimkére hivatkozni, hogy az a 2. Arra meg lusta vagyok, hogy létrehozzak egy tag_web, tag_term, tag_news cimkéket, egyszerűbb tömbben. Rövid ideig tartó keresgélésem alapján arra a következtetésre jutottam, hogy tömböket nem lehet sztringekkel indexelni. Ezért kell.birno wrote:a „number_of_tags” honnan jön, arról fogalmam sincs, esetleg azt jelentheti, hogy addig fut a ciklus amíg a tag_list táblában el nem fogy a számozás?
Az egy konstans, a részletből kimaradt. Egyszerűen csak tag_list = 10, mivel tíz cimkét használok.birno wrote:A „return -1” az mi?
Ha véletlenül olyan cimkét adok meg, ami nem létezik, legyen egy biztos visszatérési érték, így nem jönnek létre „rejtélyes” dolgok (tehát megvizsgálom, hogy melyik cimke, ha nem létezik, visszaadja a -1-et, és a különféle funkciók ezt lekezelik).birno wrote:A valami[akármi] forma mindig számozást jelent?
Kevéske lua-ismerettel a hátam mögött azt mondom, hogy igen. Tehát ha egy kicsit c-ben vagy valamiben jártas vagy, akkor ezek a tömbök.birno wrote:A „tags[tagnumber]”-nél van jelentősége, hogy tags van az elején s nem bármi más? Azzal határozod meg, hogy melyik táblához fog tartozni?
A tags tömb/tábla tagnumber-edik eleme.birno wrote:Vagy pl. az „awful.client.movetotag” úgy jön létre, hogy az „awful” modul, „client” funkciójának, a „movetotag” alfunkciója, igaz?
Lényegében igen. De a client egy objektum (szerűség), aminek vannak mezői (pl. melyik screen-en van, tag-en, stb.), és különféle függvényei (pl. movetotag).birno wrote:Code:keybinding({ winkey }, tag_list[i].hotkey,
function ()
if tags[i] then
awful.tag.viewonly(tags[i])
end
end):add()Itt miért kell a feltétel megadása? Azt vizsgálod vele, hogy létezik-e a tag?
Pontosan.birno wrote:Code:keybinding({ modkey, „Control” }, tag_list[i].hotkey,
function ()
local screen = mouse.screen
if tags[i] then
tags[i].selected = not tags[i].selected
end
end):add()Ez mit csinál?
Ha jól értem először a screen változó megkapja annak a screen-nek a sorszámát amelyiken épp áll az egér, de ezt utána nem használod fel, hanem elrejted az adott taget, nem igazán értem mire való.
Nos igen, a screen-t nem gyomláltam ki (nekem csak egy monitorom van, tehát felesleges ezekkel vacakolni). A cimke láthatóságát kapcsolgatja ki-be (toggle, vagy hogy is hívják mindenféle progikban).birno wrote:Nem lenne rossz, már leginkáb az átnevezést várom, hogy tudjam használni a 2.x-et s mellette konfigolni a 3-ast, jelenleg is fel van rakva a 3-as és fut egy külön X sessionben, de még fut a kettes is(install óta nem volt reboot, X restart) egy másik X sessionben. 🙂Én ezt PLD-ben megcsináltam, az awesome2-es csomag a „régi” sorozat, minden awesome*-ot átneveztem awesome2*-ra (persze a manual-oldalak így „hamis” hivatkozást tartalmaznak, majd egyszer valamikor átírom). De valamit akar ezügyben debian-ban JD.
2008-09-18-16:43 #2147077uzsolt wrote:Először is: a 3.0 megszületett!!!Debian-ban még rc6 van, de akkor már csak napok kérdése.
Köszi a válaszokat, ezek szerint egész jól sikerült a dekódolás. 🙂
Ha nem gond, akkor mégiscsak megkukkantanám a te konfig fájlodat. ::)2008-09-18-16:43 #2147078uzsolt wrote:Először is: a 3.0 megszületett!!!Debian-ban még rc6 van, de akkor már csak napok kérdése.
Köszi a válaszokat, ezek szerint egész jól sikerült a dekódolás. 🙂
Ha nem gond, akkor mégiscsak megkukkantanám a te konfig fájlodat. ::)2008-09-18-16:50 #2147079Tessék.
2008-09-18-16:50 #2147080Tessék.
2008-09-18-16:54 #2147081uzsolt wrote:Tessék.THX!
2008-09-18-16:54 #2147082uzsolt wrote:Tessék.THX!
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz