Portál AbcLinuxu, 12. května 2025 06:27
def __init__(self): self.mixer=alsa.Mixer(); if self.mixer.getmute()[0]==0: self.icon=gtk.status_icon_new_from_stock(gtk.STOCK_YES); else: self.icon=gtk.status_icon_new_from_stock(gtk.STOCK_NO); pid=os.fork(); if pid==0: while True: mixer=alsa.Mixer(); if mixer.getmute()[0]==0: print "UNMUTED"; self.icon.set_from_stock(gtk.STOCK_YES); elif mixer.getmute()[0]==1: print "MUTED"; self.icon.set_from_stock(gtk.STOCK_NO); time.sleep(1); self.icon.connect("popup-menu",self.show_controls);
mám problém s tím, že i když se mi na příkazovém řádku správně vypisuje MUTED/UNMUTED, tak se mi nemění tray ikona. Nevíte kde mám chybu?
Zkoušel jsem i vlákno, ale ani to nezabralo. A ten kód mixeru musím mít v jíném procesu, protože v hlavním procesu už mám smyčku gtk.main();
glib.timeout_add()
.
Mimochodem, osobně si myslím že je trochu neslušné ptát se na více místech najednou a nezmínit to...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.