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-10-12-11:05 #2147143
Na-na! Ne keverjük a szezont a fazonnal, meg a gizikét a gőzekével! Az mpd-s „játékom”:
Code:require(„lua_mpd”)
…
lol = luampd:new { host = „localhost” , port = 6600, debug = false }function hook_mpd_update ()
function song_output(current_song, status)
cur_time = string.sub(status.time,1,string.find(status.time,”:”)-1);
tot_time = string.sub(status.time,string.find(status.time,”:”)+1,-1);
cur_min = math.floor(cur_time/60)
cur_sec = cur_time-cur_min*60
tot_min = math.floor(tot_time/60)
tot_sec = tot_time-tot_min*60if current_song.artist then
song_str = current_song.artist
else
song_str = „unknown artist”
endif current_song.title then
song_str = song_str .. ” – ” .. current_song.title
else
song_str = song_str .. ” – unknown title”
endif not current_song.title and not current_song.artist then
song_str = string.gsub(current_song.file,”(.*/)”,””)
endreturn song_str .. ” (” ..
cur_min .. „:” .. string.format(„%02d”,cur_sec) .. „/” ..
tot_min .. „:” .. string.format(„%02d”,tot_sec) .. „)”
endlocal status = lol:status()
if status.state == „play” then
local cs = lol:currentsong()
tb_mpd.text = song_output(cs,status)
else if status.state == „stop” then
tb_mpd.text = „– not playing –”
else if status.state == „pause” then
tb_mpd.text = ” <>”
end end end
end…
awful.hooks.timer.register(1, hook_mpd_update)
Tehát lényegében meghívod az rc.lua-ból a szükséges függvényeket… Aztán azok kimenetével, visszaadott értékeivel azt kezdesz, amit akarsz. Akár ki is írathatod egy textbox-ba…
2008-10-12-11:05 #2147144Na-na! Ne keverjük a szezont a fazonnal, meg a gizikét a gőzekével! Az mpd-s „játékom”:
Code:require(„lua_mpd”)
…
lol = luampd:new { host = „localhost” , port = 6600, debug = false }function hook_mpd_update ()
function song_output(current_song, status)
cur_time = string.sub(status.time,1,string.find(status.time,”:”)-1);
tot_time = string.sub(status.time,string.find(status.time,”:”)+1,-1);
cur_min = math.floor(cur_time/60)
cur_sec = cur_time-cur_min*60
tot_min = math.floor(tot_time/60)
tot_sec = tot_time-tot_min*60if current_song.artist then
song_str = current_song.artist
else
song_str = „unknown artist”
endif current_song.title then
song_str = song_str .. ” – ” .. current_song.title
else
song_str = song_str .. ” – unknown title”
endif not current_song.title and not current_song.artist then
song_str = string.gsub(current_song.file,”(.*/)”,””)
endreturn song_str .. ” (” ..
cur_min .. „:” .. string.format(„%02d”,cur_sec) .. „/” ..
tot_min .. „:” .. string.format(„%02d”,tot_sec) .. „)”
endlocal status = lol:status()
if status.state == „play” then
local cs = lol:currentsong()
tb_mpd.text = song_output(cs,status)
else if status.state == „stop” then
tb_mpd.text = „– not playing –”
else if status.state == „pause” then
tb_mpd.text = ” <>”
end end end
end…
awful.hooks.timer.register(1, hook_mpd_update)
Tehát lényegében meghívod az rc.lua-ból a szükséges függvényeket… Aztán azok kimenetével, visszaadott értékeivel azt kezdesz, amit akarsz. Akár ki is írathatod egy textbox-ba…
2008-10-12-17:17 #2147145Ok, igazad van. 🙂
Most a mocp beállításánál tartok, jelenleg így néz ki:
Code:tb_mocp = widget( {type=”textbox”, name=”tb_mocp”, align=”right”} )function mocp()
local f = io.popen(‘mocp -i’)
local l = f:lines()for line in l do
if line:find(‘State: STOP’) ~= nil then
v = ”
else
m = io.popen(‘mocp –format „%artist – %song (%tl/%tt)”‘)
v = m:read()
m:close()
end
endf:close()
return {v}
endwicked.register(tb_mocp, mocp, „$1”, 1)
Működik is, csak a proci használat 80-100% között mozog folyamatosan, míg a régi, scriptes megoldásommal 30-60% volt max.
Van esetleg valami tipped hogyan lehetne ezen javítani?2008-10-12-17:17 #2147146Ok, igazad van. 🙂
Most a mocp beállításánál tartok, jelenleg így néz ki:
Code:tb_mocp = widget( {type=”textbox”, name=”tb_mocp”, align=”right”} )function mocp()
local f = io.popen(‘mocp -i’)
local l = f:lines()for line in l do
if line:find(‘State: STOP’) ~= nil then
v = ”
else
m = io.popen(‘mocp –format „%artist – %song (%tl/%tt)”‘)
v = m:read()
m:close()
end
endf:close()
return {v}
endwicked.register(tb_mocp, mocp, „$1”, 1)
Működik is, csak a proci használat 80-100% között mozog folyamatosan, míg a régi, scriptes megoldásommal 30-60% volt max.
Van esetleg valami tipped hogyan lehetne ezen javítani?2008-10-12-17:29 #2147147birno wrote:Ok, igazad van. 🙂
Nem újdonság 😛 Szóval akkor működik az az imapfilter?birno wrote:Működik is, csak a proci használat 80-100% között mozog folyamatosan, míg a régi, scriptes megoldásommal 30-60% volt max.
Van esetleg valami tipped hogyan lehetne ezen javítani?Nem a mocp-t kell használni 😉 Ott az mpd, vagy esetleg a cmus is, főleg ezen post érdekes.
Komolyra: csak egy ötlet: ha nem a wicked-be regisztrálnád, hanem ahogy én is, az awful.hooks.timer.register-be?
Ezért akarom én „belülről” megoldani a dolgokat, hogy ne kelljen külső progikat meghívogatni…2008-10-12-17:29 #2147148birno wrote:Ok, igazad van. 🙂
Nem újdonság 😛 Szóval akkor működik az az imapfilter?birno wrote:Működik is, csak a proci használat 80-100% között mozog folyamatosan, míg a régi, scriptes megoldásommal 30-60% volt max.
Van esetleg valami tipped hogyan lehetne ezen javítani?Nem a mocp-t kell használni 😉 Ott az mpd, vagy esetleg a cmus is, főleg ezen post érdekes.
Komolyra: csak egy ötlet: ha nem a wicked-be regisztrálnád, hanem ahogy én is, az awful.hooks.timer.register-be?
Ezért akarom én „belülről” megoldani a dolgokat, hogy ne kelljen külső progikat meghívogatni…2008-10-12-18:13 #2147149uzsolt wrote:birno wrote:Ok, igazad van. 🙂
Nem újdonság 😛 Szóval akkor működik az az imapfilter?Az egyszerűbb utat választottam, nem újdonság, inkább használom a jól bevált python scriptet.
uzsolt wrote:Nem a mocp-t kell használni 😉 Ott az mpd, vagy esetleg a cmus is, főleg ezen post érdekes.
Komolyra: csak egy ötlet: ha nem a wicked-be regisztrálnád, hanem ahogy én is, az awful.hooks.timer.register-be?
Ezért akarom én „belülről” megoldani a dolgokat, hogy ne kelljen külső progikat meghívogatni…mpd-t már nem is tudom miért nem szerettem, de mivel elég keveset hallgatok zenét nem akarok egy másik progit beállítgatni ha nem muszáj.
Amúgy te miért használsz kettőt?
Miért jobb a cmus?Code:tb_mocp = widget( {type=”textbox”, name=”tb_mocp”, align=”right”} )function hook_mocp_update()
function mocp()
local f = io.popen(‘mocp -i’)
local l = f:lines()for line in l do
if line:find(‘State: STOP’) ~= nil then
v = ‘not play’
else
m = io.popen(‘mocp –format „%artist – %song (%tl/%tt)”‘)
v = m:read()
m:close()
end
endf:close()
end
tb_mocp.text = mocp()
endawful.hooks.timer.register(1, hook_mocp_update)
Semmit nem csinál, még csak azt sem írja, ki, hogy „not play”.
2008-10-12-18:13 #2147150uzsolt wrote:birno wrote:Ok, igazad van. 🙂
Nem újdonság 😛 Szóval akkor működik az az imapfilter?Az egyszerűbb utat választottam, nem újdonság, inkább használom a jól bevált python scriptet.
uzsolt wrote:Nem a mocp-t kell használni 😉 Ott az mpd, vagy esetleg a cmus is, főleg ezen post érdekes.
Komolyra: csak egy ötlet: ha nem a wicked-be regisztrálnád, hanem ahogy én is, az awful.hooks.timer.register-be?
Ezért akarom én „belülről” megoldani a dolgokat, hogy ne kelljen külső progikat meghívogatni…mpd-t már nem is tudom miért nem szerettem, de mivel elég keveset hallgatok zenét nem akarok egy másik progit beállítgatni ha nem muszáj.
Amúgy te miért használsz kettőt?
Miért jobb a cmus?Code:tb_mocp = widget( {type=”textbox”, name=”tb_mocp”, align=”right”} )function hook_mocp_update()
function mocp()
local f = io.popen(‘mocp -i’)
local l = f:lines()for line in l do
if line:find(‘State: STOP’) ~= nil then
v = ‘not play’
else
m = io.popen(‘mocp –format „%artist – %song (%tl/%tt)”‘)
v = m:read()
m:close()
end
endf:close()
end
tb_mocp.text = mocp()
endawful.hooks.timer.register(1, hook_mocp_update)
Semmit nem csinál, még csak azt sem írja, ki, hogy „not play”.
2008-10-12-18:23 #2147151birno wrote:Amúgy te miért használsz kettőt?
Mert az mpd jó. De van egy hiányossága: nem olyan könnyű „ideiglenesen” hozzáadni fájlokat. Vagyis inkább „karbantartani” a „hozzáadásokat”. Ebben lenne jó a moc, de neki meg a legnagyobb hibája, hogy nehéz vele kommunikálni, sőt, néha szaggat is.birno wrote:Miért jobb a cmus?
Mármint a moc-nál? Nem szaggat (legalábbis egy-két órás használat alatt nem tapasztaltam), jobban beállítható, mint a moc, és könnyen tud pl. awesome-nak üzenetet küldeni (tehát számváltáskor csak).
Vagy az mpd-nél? Előny: nagyon jól dokumentált, könnyű kezelni. Ő lenne a legjobb, ha ideiglenesen is könnyen lehetne fájlokat hozzáadni/törölni (pl. cd/dvd-ről).Moc-lua: passzolok. Érdemes lehet kipróbálni úgy, hogy indítasz egy lua-t, és bepötyögöd, hogy lásd, mi történik.
2008-10-12-18:23 #2147152birno wrote:Amúgy te miért használsz kettőt?
Mert az mpd jó. De van egy hiányossága: nem olyan könnyű „ideiglenesen” hozzáadni fájlokat. Vagyis inkább „karbantartani” a „hozzáadásokat”. Ebben lenne jó a moc, de neki meg a legnagyobb hibája, hogy nehéz vele kommunikálni, sőt, néha szaggat is.birno wrote:Miért jobb a cmus?
Mármint a moc-nál? Nem szaggat (legalábbis egy-két órás használat alatt nem tapasztaltam), jobban beállítható, mint a moc, és könnyen tud pl. awesome-nak üzenetet küldeni (tehát számváltáskor csak).
Vagy az mpd-nél? Előny: nagyon jól dokumentált, könnyű kezelni. Ő lenne a legjobb, ha ideiglenesen is könnyen lehetne fájlokat hozzáadni/törölni (pl. cd/dvd-ről).Moc-lua: passzolok. Érdemes lehet kipróbálni úgy, hogy indítasz egy lua-t, és bepötyögöd, hogy lásd, mi történik.
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz