def inner_window_clicked(obj): win = StandardWindow("inner-window", "InnerWindow test", autodel=True, size=(320, 320)) if obj is None: win.callback_delete_request_add(lambda o: elementary.exit()) lb = Label(win) lb.text_set("This is an \"inwin\" - a window in a<br/>" "window. This is handy for quick popups<br/>" "you want centered, taking over the window<br/>" "until dismissed somehow. Unlike hovers they<br/>" "don't hover over their target.") iw = InnerWindow(win, content=lb) iw.show() win.resize(320, 320) win.show()
def __init__(self): self.win = StandardWindow("test", "Toolbar_issue", size=(600, 400)) self.win.callback_delete_request_add(lambda x: elementary.exit()) box0 = Box(self.win) #, size_hint_weight=EXPAND_HORIZ, size_hint_align=FILL_BOTH) self.win.resize_object_add(box0) box0.show() tb = Toolbar(self.win, homogeneous=True, size_hint_weight=EXPAND_HORIZ, size_hint_align=(EVAS_HINT_FILL, 0.0), select_mode=ELM_OBJECT_SELECT_MODE_DEFAULT) self.menuItem = tb.item_append("document-save", "Save", self.popup) tb.show() box0.pack_end(tb) lb = Label(self.win) lb.text_set("<br>This is a test program to illustrate a problem <br>" "with the Radiance e19 theme.<br><br>" "Disabling a toolbar item and then re-enabling it does not<br>" "re-enable the toolbar item's <i>callback function</i>.<br><br>" "To test this first click <b>Save</b> when this program is opened<br>" "This opens a popup as expected. Dismiss popup.<br><br>" "Now click the <b>Toggle</b> button to disable <b>Save</b> Toolbar Item<br>" "After this the <b>Save</b> button is disabled and 'looks different'<br><br>" "Click the <b>Toggle</b> button again to enable <b>Save</b><br>" "After this clicking <b>Save</b> does nothing even tho it 'looks' enabled<br><br>" ) lb.show() box0.pack_end(lb) testButton = Button(self.win, text="Toogle") testButton.callback_clicked_add(self.disable) testButton.show() box0.pack_end(testButton) self.win.show()
if __name__ == "__main__": elementary.init() win = StandardWindow("test", "python-elementary test application", size=(320, 520)) win.callback_delete_request_add(lambda o: elementary.exit()) box0 = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(box0) box0.show() lb = Label(win) lb.text_set("Please select a test from the list below<br>" "by clicking the test button to show the<br>" "test window.") lb.show() fr = Frame(win, text="Information", content=lb) box0.pack_end(fr) fr.show() items = [ ("Conformant", conformant_clicked), ("Conformant 2", conformant2_clicked), ] li = List(win, size_hint_weight=EXPAND_BOTH, size_hint_align=FILL_BOTH) box0.pack_end(li) li.show()
win.show() if __name__ == "__main__": elementary.init() win = StandardWindow("test", "python-elementary test application", size=(320,520)) win.callback_delete_request_add(lambda o: elementary.exit()) box0 = Box(win, size_hint_weight=EXPAND_BOTH) win.resize_object_add(box0) box0.show() lb = Label(win) lb.text_set("Please select a test from the list below<br>" "by clicking the test button to show the<br>" "test window.") lb.show() fr = Frame(win, text="Information", content=lb) box0.pack_end(fr) fr.show() items = [ ("Transit", transit_clicked), ("Transit Resize", transit2_clicked), ("Transit Flip", transit3_clicked), ("Transit Zoom", transit4_clicked), ("Transit Blend", transit5_clicked), ("Transit Fade", transit6_clicked), ("Transit Resizable", transit7_clicked),
class Application(object): def __init__(self): self.cfg = ConfigOption() self.userid = os.getuid() self.win = None self.bg = None self.main_box = None self.info_frame = None self.lb = None self.ps_list = None self.win = StandardWindow("my app", "eyekill", size=(320, 384)) self.win.title_set("eye kill") self.win.callback_delete_request_add(self.destroy) self.main_box = Box(self.win) self.main_box.size_hint_weight = EXPAND_BOTH self.win.resize_object_add(self.main_box) self.main_box.show() self.info_frame = Frame(self.win) self.info_frame.text_set("Information") self.main_box.pack_end(self.info_frame) self.info_frame.show() self.lb = Label(self.win) self.lb.text_set('<b>Kill process with a double click</b>') self.info_frame.content_set(self.lb) self.lb.show() self.ps_list = List(self.win) self.ps_list.size_hint_weight = EXPAND_BOTH self.ps_list.size_hint_align = FILL_BOTH self.ps_list.callback_clicked_double_add(self.kill_bill) self.update_list() self.main_box.pack_end(self.ps_list) self.ps_list.go() self.ps_list.show() self.win.resize(320, 384) self.win.show() def destroy(self, obj): # FIXME: but here self.cfg.save()??? elementary.exit() def update_list(self): if bool(self.cfg.get_desktop()): for de in self.cfg.get_desktop(): ps = psutil.Process(get_pid_by_name(de)) pl = ps.children() for p in pl: if p.uids().real == self.userid: if p.name not in self.cfg.get_process(): short_info = '%s / %s / %s' % (p.pid, p.name(), p.status()) self.ps_list.item_append(label=short_info, callback=self.update_info, p=p) else: pl = psutil.get_pid_list() for p in pl: p = psutil.Process(p) if p.uids().real == self.userid: if p.name() not in self.cfg.get_process(): short_info = '%s / %s / %s' % (p.pid, p.name(), p.status()) self.ps_list.item_append(label=short_info, callback=self.update_info, p=p) def update_info(self, li, it, p): info = ("PID %i STAT %s TIME %s<br/>MEM %s CPU %s COMMAND %s" % \ (p.pid,\ p.status(),\ p.get_cpu_times().user,\ hbytes(p.get_memory_info().rss),\ p.get_cpu_percent(interval=0),\ p.name())) self.lb.text_set(info) def kill_bill(self, obj, cb_data): bill = cb_data.data_get()[1]['p'].pid print("%s ... Gotcha" % bill) os.kill(bill, signal.SIGTERM) if (os.kill(bill, 0)): os.kill(bill, signal.SIGKILL) item = obj.selected_item_get() item.disabled_set(True)
class Application(object): def __init__(self): self.cfg = ConfigOption() self.userid = os.getuid() self.win = None self.bg = None self.main_box = None self.info_frame = None self.lb = None self.ps_list = None self.win = StandardWindow("my app", "eyekill", size=(320, 384)) self.win.title_set("eye kill") self.win.callback_delete_request_add(self.destroy) self.main_box = Box(self.win) self.main_box.size_hint_weight = EXPAND_BOTH self.win.resize_object_add(self.main_box) self.main_box.show() self.info_frame = Frame(self.win) self.info_frame.text_set("Information") self.main_box.pack_end(self.info_frame) self.info_frame.show() self.lb = Label(self.win) self.lb.text_set('<b>Kill process with a double click</b>') self.info_frame.content_set(self.lb) self.lb.show() self.ps_list = List(self.win) self.ps_list.size_hint_weight = EXPAND_BOTH self.ps_list.size_hint_align = FILL_BOTH self.ps_list.callback_clicked_double_add(self.kill_bill) self.update_list() self.main_box.pack_end(self.ps_list) self.ps_list.go() self.ps_list.show() self.win.resize(320, 384) self.win.show() def destroy(self, obj): # FIXME: but here self.cfg.save()??? elementary.exit() def update_list(self): if bool(self.cfg.get_desktop()): for de in self.cfg.get_desktop(): ps = psutil.Process(get_pid_by_name(de)) pl = ps.children() for p in pl: if p.uids().real == self.userid: if p.name not in self.cfg.get_process(): short_info = '%s / %s / %s' % (p.pid, p.name(), p.status()) self.ps_list.item_append(label = short_info, callback = self.update_info, p = p) else: pl = psutil.get_pid_list() for p in pl: p = psutil.Process(p) if p.uids().real == self.userid: if p.name() not in self.cfg.get_process(): short_info = '%s / %s / %s' % (p.pid, p.name(), p.status()) self.ps_list.item_append(label = short_info, callback = self.update_info, p = p) def update_info(self,li , it, p): info = ("PID %i STAT %s TIME %s<br/>MEM %s CPU %s COMMAND %s" % \ (p.pid,\ p.status(),\ p.get_cpu_times().user,\ hbytes(p.get_memory_info().rss),\ p.get_cpu_percent(interval=0),\ p.name())) self.lb.text_set(info) def kill_bill(self, obj, cb_data): bill = cb_data.data_get()[1]['p'].pid print ("%s ... Gotcha" % bill) os.kill(bill, signal.SIGTERM) if (os.kill(bill, 0)): os.kill(bill, signal.SIGKILL) item = obj.selected_item_get() item.disabled_set(True)