Skip to content

Commit f18c7ce

Browse files
authored
Merge pull request #13 from mithwick93/add-option-to-restart
Add option to restart
2 parents b5292e6 + d2193c7 commit f18c7ce

File tree

5 files changed

+19
-6
lines changed

5 files changed

+19
-6
lines changed

core/m27q.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
import usb.core
1111
import usb.util
1212

13-
from util.alert import show_error_message
13+
from util.alert import show_alert
1414
from util.logger import get_logger
1515

1616

@@ -41,7 +41,7 @@ def clamp(self, v: int):
4141

4242

4343
def display_alert(e: Exception):
44-
show_error_message(
44+
show_alert(
4545
"Error",
4646
repr(e) + ".\nTry restarting the app",
4747
"Dismiss",

main.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from core.m27q import MonitorControl
44
from ui.brightness_control_app import BrightnessControlApp
5-
from util.alert import show_error_message
5+
from util.alert import show_alert
66
from util.logger import get_logger
77

88
if __name__ in {"__main__", "__mp_main__"}:
@@ -17,6 +17,5 @@
1717
with MonitorControl() as monitor_Control:
1818
BrightnessControlApp(monitor_Control, main_logger).run()
1919
except Exception as e:
20-
show_error_message("Critical Error", repr(e), "Exit", "critical")
21-
20+
show_alert("Critical Error", repr(e), "Exit", "critical")
2221
raise e

resources/sample.png

5.31 KB
Loading

ui/brightness_control_app.py

+14
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import os
2+
import sys
13
import threading
24
import time
35
from logging import Logger
@@ -11,6 +13,11 @@ def get_capitalized_setting(setting: str):
1113
return setting.replace('_', ' ').capitalize()
1214

1315

16+
def restart_app(_: rumps.SliderMenuItem):
17+
executable = sys.executable
18+
os.execl(executable, executable, *sys.argv)
19+
20+
1421
class BrightnessControlApp(rumps.App):
1522
def __init__(self, monitor_control: MonitorControl, logger: Logger):
1623
super(BrightnessControlApp, self).__init__(name="Gigabyte M27Q Settings Controller", icon="resources/icon.png")
@@ -40,6 +47,13 @@ def __init__(self, monitor_control: MonitorControl, logger: Logger):
4047
self._auto_refresh_toggle_menu_item = auto_refresh_toggle_menu_item
4148
self.menu.add(auto_refresh_toggle_menu_item)
4249

50+
restart_app__menu_item = rumps.MenuItem(
51+
title="Restart",
52+
callback=restart_app
53+
)
54+
self._restart_app__menu_item = restart_app__menu_item
55+
self.menu.add(restart_app__menu_item)
56+
4357
self._polling_thread = threading.Thread(target=self._poll_monitor_settings, daemon=True)
4458
self._polling_thread.start()
4559
self._update_ui_timer = rumps.Timer(self._update_ui_from_polling, self._auto_setting_refresh_interval_seconds)

util/alert.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
}
88

99

10-
def show_error_message(
10+
def show_alert(
1111
title: str,
1212
message: str,
1313
button_text: str = "OK",

0 commit comments

Comments
 (0)