From 12d8e7b617d128ae87a0aa3d22bdc753a109317a Mon Sep 17 00:00:00 2001
From: Abhorrent_Anger <abhorrentanger@cock.li>
Date: Tue, 29 Oct 2019 19:25:32 +0200
Subject: [PATCH] Added "Exit" functionality

---
 eyestrainreminder/EyeStrainReminder.py | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/eyestrainreminder/EyeStrainReminder.py b/eyestrainreminder/EyeStrainReminder.py
index b2766de..8f5414c 100755
--- a/eyestrainreminder/EyeStrainReminder.py
+++ b/eyestrainreminder/EyeStrainReminder.py
@@ -8,7 +8,7 @@ import notify2
 import pystray
 from PIL import Image
 from playsound import playsound
-from pystray import MenuItem as item
+from pystray import Menu as menu, MenuItem as item
 
 NAME = 'Eye Strain Reminder'
 MESSAGE = 'Friendly reminder to observe the 20-20-20 rule'
@@ -29,7 +29,7 @@ def create_tray_icon():
     image = get_image()
     icon = pystray.Icon(NAME, image, NAME, generate_menu_items())
     icon.run()
-    
+
 def update_icon():
     global icon
     image = get_image()
@@ -44,6 +44,8 @@ def generate_menu_items():
     menu_items = []
     menu_items.append(item('Mute' if not mute else 'Unmute', toggle_mute))
     menu_items.append(item('Do Not Disturb' if not disable_notifs else 'Enable Notifications', toggle_notifications))
+    menu_items.append(menu.SEPARATOR)
+    menu_items.append(item('Exit', exit))
     return menu_items
 
 def toggle_mute():
@@ -57,6 +59,11 @@ def toggle_notifications():
     update_menu()
     update_icon()
 
+def exit():
+    global icon
+    icon.stop()
+    os._exit(0)
+
 def update_menu():
     global icon
     icon.menu = generate_menu_items()