Mercurial > hg > pub > prymula > scripts
diff bing4desktop/bing4desktop.py @ 34:9bcb32b7526a
bing4desktop-0.240209-0
author | prymula <prymula76@outlook.com> |
---|---|
date | Fri, 09 Feb 2024 14:39:54 +0100 |
parents | 1d063d3bf7ff |
children |
line wrap: on
line diff
--- a/bing4desktop/bing4desktop.py Thu Feb 08 20:41:03 2024 +0100 +++ b/bing4desktop/bing4desktop.py Fri Feb 09 14:39:54 2024 +0100 @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# bing4desktop.py - skrypt tray dla Cinnamon oraz Matte i innych WM +# bing4desktop.py - skrypt tray dla Cinnamon LxQt, oraz Matte i innych WM # inspiracja: https://pystray.readthedocs.io/en/latest/usage.html # oraz 'zasłyszane' w internecie :) # licencja: Public Domain @@ -20,7 +20,7 @@ import shutil import glob -ver = "0.240208-2" +ver = "0.240209-0" BING_URI_BASE = "http://www.bing.com" BING_WALLPAPER_PATH = "/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US" @@ -77,10 +77,11 @@ TMP_COPYRIGHT = COPYRIGHT_TXT TMP_TITLE = TITLE - - if len(full_path) == 0: - messagebox.showinfo("Błąd","Niewybrano obrazu, najpierw wybierz obraz") - return + + # zawiesza + #if len(full_path) == 0: + # messagebox.showinfo("Błąd","Niewybrano obrazu, najpierw wybierz obraz") + # return try: if desktop_env in ["gnome-classic", "gnome", "unity", "default"]: uri = "'file://%s'" % file_loc @@ -182,7 +183,7 @@ class Gui(): global TMP_COPYRIGHT, TMP_TITLE - def __init__(self): + def __init__(self, succes_set): self.window = tk.Tk() self.image = None for ico in ['./bing.ico', '/usr/share/bing4desktop/bing.ico']: @@ -203,6 +204,7 @@ item('O Programie', lambda icon, item: self.about()), item('Wyjdź', self.quit_window) ) + self.frame = tk.Frame(self.window, width=600, height=400) self.frame.pack() self.frame.place(anchor='center', relx=0.5, rely=5) @@ -210,9 +212,30 @@ #self.window.title("Bing4Desktop") #self.window.geometry('800x600') #self.window.protocol('WM_DELETE_WINDOW', self.withdraw_window) - self.withdraw_window() + + + #self.withdraw_window() + #self.window.withdraw() + self.window.withdraw() + self.icon = pystray.Icon("name", self.image, "Bing4Desktop", self.menu) + print ("SUCCES: ", succes_set) + + # FIXME - Nie działą notyfikacja tylko dialog boc + if succes_set == False: + #self.icon.notify("", "Nie udało połączyć się z serwerem") + self.net_info() + + self.icon.run() self.window.mainloop() + def net_info(self): + messagebox.showinfo("Bing4Desktop","Nieudało się połączyć z serwerem !") + # możliwe że nieprawidlowe po wyjściu z aplikacji zwróci bląd :( + self.window.destroy() + self.window.update() + + + def about(self): global ver messagebox.showinfo("Bing4Desktop","Inspiracja:\npystray.readthedocs.io/en/latest/usage.html\n\nNapisał: Prymula\n\nLuty 2024\n\nLicencja:\nPublic Domain\n\nWersja: "+ver) @@ -230,9 +253,10 @@ actualImage = 7 elif (actualImage > 7): actualImage = 0 - + wp=WPaper() - if wp.get(): + try: + wp.get() BING_WALLPAPER_PATH = BASE+str(actualImage)+OFF if wp.get() == False: cleanup() @@ -251,7 +275,9 @@ self.tmp = img.resize((600, 400), None, None, 3.0) self.tmp.show() icon.notify(TITLE + ' --- ' + COPYRIGHT_TXT) - + except: + print ("Serewr niedostępny") + def quit_window(self): self.icon.stop() self.window.destroy() @@ -260,19 +286,25 @@ self.icon.stop() self.window.protocol('WM_DELETE_WINDOW', self.withdraw_window) self.window.after(0, self.window.deiconify) - + """ def withdraw_window(self): self.window.withdraw() - self.icon = pystray.Icon("name", self.image, "title", self.menu) + self.icon = pystray.Icon("name", self.image, "Bing4Desktop", self.menu) self.icon.run() - + """ def cleanup(): # NIEBEZPIECZNA ! lepiej niczym innym nie nadpisywać tych zmiennych shutil.rmtree(tmp_path) if __name__ in '__main__': wp=WPaper() - if wp.get(): + w = False + try: + w = wp.get() wp.set(full_path, True) - g = Gui() - cleanup() + except: + print ("Serewr niedostępny") + #if w: + + g = Gui(w) + cleanup()