Hozzászólások
-
SzerzőBejegyzés
-
Ilyesmi már nekem is eszembe jutott, de valahogy csak elmaradt a kipróbálása, elvileg jónak tűnik, köszi.
A bezárás azért érdekes, mert nem az sda/sdb funkción belül nyitom meg a fájlt, hanem az usb_update-nél és az addig nem végez amíg a másik kettő nem fut le.
Ilyesmi már nekem is eszembe jutott, de valahogy csak elmaradt a kipróbálása, elvileg jónak tűnik, köszi.
A bezárás azért érdekes, mert nem az sda/sdb funkción belül nyitom meg a fájlt, hanem az usb_update-nél és az addig nem végez amíg a másik kettő nem fut le.
Van egy kreálmányom rá, de szerintem túl is van bonyolítva, meg csak félig működik.
Code:sda_usage = widget( {type=”textbox”, name=”sda_usage”} )
sda_usage:mouse_add(mouse({ }, 1, function () usb_update() end))sdb_usage = widget( {type=”textbox”, name=”sdb_usage”} )
sdb_usage:mouse_add(mouse({ }, 1, function () usb_update() end))function usb_update()
local df = io.popen(‘df -h’)
local l = df:lines()
function sda()
local str = „”
for line in l do
if line:find(‘sda’) ~= nil then
local form = string.gsub(line, „(%C+)%s+(%w+)%s+(%w+)%s+(%w+)%s+(%C+)%s+/(%w+)/(%w+)”, „%7: %3/%2 – %5”)
local um = string.match(line, „/media/%w+”, 30)
str = ” | ” .. form .. „”
sda_usage:mouse_add(mouse({ }, 3, function () awful.spawn(„sudo umount ” .. um) usb_update() end))
end
end
return str
end
function sdb()
local str = „”
for line in l do
if line:find(‘sdb’) ~= nil then
local form = string.gsub(line, „(%C+)%s+(%w+)%s+(%w+)%s+(%w+)%s+(%C+)%s+/(%w+)/(%w+)”, „%7: %3/%2 – %5”)
local um = string.match(line, „/media/%w+”, 30)
str = ” | ” .. form .. „”
sdb_usage:mouse_add(mouse({ }, 3, function () awful.spawn(„sudo umount ” .. um) usb_update() end))
end
end
return str
end
sda_usage.text = sda()
sdb_usage.text = sdb()
endLefut, de az „sdb()” már nem kap értéket, szerintem bezárja a fájlt(df-et), mert ha megcserélem az utolsó sorokat és elöszőr az „sdb()” fut, akkor az kap értéket és az „sda()” nem, viszont mindkettő lefut, mert ha berakok a végükre egy print-et, akkor kiírja őket.
Plusz ha az „sda_usage.text = sda()” elé berakok egy „df:close()”-ot, akkor a logba folyamatosan írja, hogy „file is alredy closed”, de miért zárja be önkéntesen?Azt is próbáltam, hogy egy külön funkcióba az „os.execute”-al beleírja a „df -h” kimenetét egy fájlba és azt olvastatom be, de akkor is ugyanez volt.
Bár most, hogy így mondtad nem tudom miért nem az mtab-ot vagy a /proc/mounts-ot figyeltem, na mindegy, a probléma akkor is fennállna.Van egy kreálmányom rá, de szerintem túl is van bonyolítva, meg csak félig működik.
Code:sda_usage = widget( {type=”textbox”, name=”sda_usage”} )
sda_usage:mouse_add(mouse({ }, 1, function () usb_update() end))sdb_usage = widget( {type=”textbox”, name=”sdb_usage”} )
sdb_usage:mouse_add(mouse({ }, 1, function () usb_update() end))function usb_update()
local df = io.popen(‘df -h’)
local l = df:lines()
function sda()
local str = „”
for line in l do
if line:find(‘sda’) ~= nil then
local form = string.gsub(line, „(%C+)%s+(%w+)%s+(%w+)%s+(%w+)%s+(%C+)%s+/(%w+)/(%w+)”, „%7: %3/%2 – %5”)
local um = string.match(line, „/media/%w+”, 30)
str = ” | ” .. form .. „”
sda_usage:mouse_add(mouse({ }, 3, function () awful.spawn(„sudo umount ” .. um) usb_update() end))
end
end
return str
end
function sdb()
local str = „”
for line in l do
if line:find(‘sdb’) ~= nil then
local form = string.gsub(line, „(%C+)%s+(%w+)%s+(%w+)%s+(%w+)%s+(%C+)%s+/(%w+)/(%w+)”, „%7: %3/%2 – %5”)
local um = string.match(line, „/media/%w+”, 30)
str = ” | ” .. form .. „”
sdb_usage:mouse_add(mouse({ }, 3, function () awful.spawn(„sudo umount ” .. um) usb_update() end))
end
end
return str
end
sda_usage.text = sda()
sdb_usage.text = sdb()
endLefut, de az „sdb()” már nem kap értéket, szerintem bezárja a fájlt(df-et), mert ha megcserélem az utolsó sorokat és elöszőr az „sdb()” fut, akkor az kap értéket és az „sda()” nem, viszont mindkettő lefut, mert ha berakok a végükre egy print-et, akkor kiírja őket.
Plusz ha az „sda_usage.text = sda()” elé berakok egy „df:close()”-ot, akkor a logba folyamatosan írja, hogy „file is alredy closed”, de miért zárja be önkéntesen?Azt is próbáltam, hogy egy külön funkcióba az „os.execute”-al beleírja a „df -h” kimenetét egy fájlba és azt olvastatom be, de akkor is ugyanez volt.
Bár most, hogy így mondtad nem tudom miért nem az mtab-ot vagy a /proc/mounts-ot figyeltem, na mindegy, a probléma akkor is fennállna.Egy kis mocp para:
Code:W: awesome: markup_parse:175: unable to parse text „Arcturus – La Masquerade Infernale (Valle & Hellhammer Reconstruction)(02:19/02:24) | „: Error on line 1: Character ‘ ‘ is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn’t supposed to be an entity, escape it as &Az általam régebben használt megoldásnál is ugyanez van, nem szereti a „&” karaktert.
Amúgy te használsz valamilyen usb figyelő funkciót?
Olyasmit amivel egy usb eszköz lemez használatát lehet kiíratni egy widgetbe, ha épp fel van mountolva.Egy kis mocp para:
Code:W: awesome: markup_parse:175: unable to parse text „Arcturus – La Masquerade Infernale (Valle & Hellhammer Reconstruction)(02:19/02:24) | „: Error on line 1: Character ‘ ‘ is not valid at the start of an entity name; the & character begins an entity; if this ampersand isn’t supposed to be an entity, escape it as &Az általam régebben használt megoldásnál is ugyanez van, nem szereti a „&” karaktert.
Amúgy te használsz valamilyen usb figyelő funkciót?
Olyasmit amivel egy usb eszköz lemez használatát lehet kiíratni egy widgetbe, ha épp fel van mountolva.Mindkét megoldással 5-10 között mozog, leginkább 5-8%.
Mindkét megoldással 5-10 között mozog, leginkább 5-8%.
uzsolt wrote:Erre gondolsz? Te meg kettő progit hívsz másodpercenként: a mocp-t ill. a grep-et 😛
Csomó szűrés? Egy pillanat alatt megvan. A grep azért egy „kicsit” nagy program, amit mindig el kell indítanod, és van benne egy nagy rakás „felesleges” lehetőség, amit ekkor úgysem használsz ki.Ott a pont. 🙂
Kíváncsi leszek, éjszaka ha hazaértem még gyorsan kipróbálom.uzsolt wrote:Erre gondolsz? Te meg kettő progit hívsz másodpercenként: a mocp-t ill. a grep-et 😛
Csomó szűrés? Egy pillanat alatt megvan. A grep azért egy „kicsit” nagy program, amit mindig el kell indítanod, és van benne egy nagy rakás „felesleges” lehetőség, amit ekkor úgysem használsz ki.Ott a pont. 🙂
Kíváncsi leszek, éjszaka ha hazaértem még gyorsan kipróbálom. -
SzerzőBejegyzés

legutóbbi hsz