Initial Commit
This commit is contained in:
		
							parent
							
								
									72b0d4b60f
								
							
						
					
					
						commit
						e0aaed8e36
					
				
					 1 changed files with 42 additions and 0 deletions
				
			
		
							
								
								
									
										42
									
								
								src/wallman_systray.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								src/wallman_systray.py
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
from os import getenv, chdir
 | 
			
		||||
import logging
 | 
			
		||||
# Use logger that is also in wallman_lib
 | 
			
		||||
logger = logging.getLogger("wallman")
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from PIL import Image
 | 
			
		||||
except ImportError:
 | 
			
		||||
    logging.error("Couldn't import PIL, wallman will launch without a systray.")
 | 
			
		||||
    print("Couldn't import PIL, wallman will launch without a systray.")
 | 
			
		||||
    raise
 | 
			
		||||
 | 
			
		||||
try:
 | 
			
		||||
    from pystray import Icon, MenuItem as item, Menu
 | 
			
		||||
except ImportError:
 | 
			
		||||
    logging.error("Couldn't import pystray, wallman will launch without a systray.")
 | 
			
		||||
    print("Couldn't import pystray, wallman will launch without a systray.")
 | 
			
		||||
    raise
 | 
			
		||||
 | 
			
		||||
# This should always be ran with "set_wallpaper_by_time" as input!
 | 
			
		||||
def set_wallpaper_again(icon, item, callback):
 | 
			
		||||
    logging.info("Re-Setting wallpaper due to systray input.")
 | 
			
		||||
    callback()
 | 
			
		||||
 | 
			
		||||
def reroll_wallpapers(icon, item, first_callback, second_callback):
 | 
			
		||||
    logging.info("Rerolling Wallpaper sets and resetting wallpaper due to systray input")
 | 
			
		||||
    first_callback()
 | 
			
		||||
    second_callback()
 | 
			
		||||
 | 
			
		||||
# This should always be ran with "scheduler.shutdown" as input!
 | 
			
		||||
def on_quit(icon, item, callback):
 | 
			
		||||
    logging.info("Shutting down wallman due to systray input.")
 | 
			
		||||
    callback()
 | 
			
		||||
    icon.stop()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
chdir(str(getenv("HOME")) + "/.config/wallman/")
 | 
			
		||||
try:
 | 
			
		||||
    icon_image = Image.open("systrayIcon.jpg")
 | 
			
		||||
except FileNotFoundError:
 | 
			
		||||
    logger.error("~/.config/wallman/systrayIcon.jpg has not been found, wallman will launch without a systray.")
 | 
			
		||||
    print("~/.config/wallman/systrayIcon.jpg has not been found, wallman will launch without a systray.")
 | 
			
		||||
		Loading…
	
		Reference in a new issue