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()