|
13 | 13 | from constants import DEFAULT_GEOMETRY, CONFIG_FILE, RESOLUTION_PRESETS
|
14 | 14 | from logger import logger
|
15 | 15 |
|
| 16 | +try: |
| 17 | + from win10toast import ToastNotifier |
| 18 | +except ImportError: |
| 19 | + ToastNotifier = None |
| 20 | + |
16 | 21 | # 在子进程中运行分辨率读取函数
|
17 | 22 | def get_screen_resolution_worker(queue):
|
18 | 23 | """获取主显示器分辨率并放入队列"""
|
@@ -129,18 +134,40 @@ def check_and_generate_files():
|
129 | 134 | logger.log_info(f"Setting initial geometry to: {optimal_geometry} (match type: {match_type})")
|
130 | 135 |
|
131 | 136 | if match_type == "exact":
|
132 |
| - messagebox.showinfo( |
133 |
| - "布局提示", |
134 |
| - "首次启动,已为您自动匹配预设的窗口布局。\n" |
135 |
| - "如果布局不符合您的习惯,请在“设置”中进行调整。" |
136 |
| - ) |
| 137 | + if ToastNotifier: |
| 138 | + toaster = ToastNotifier() |
| 139 | + toaster.show_toast( |
| 140 | + "布局提示", |
| 141 | + "首次启动,已为您自动匹配预设的窗口布局。\n如果布局不符合您的习惯,请在“设置”中进行调整。", |
| 142 | + icon_path="res/icon.ico", |
| 143 | + duration=10, |
| 144 | + threaded=True |
| 145 | + ) |
| 146 | + else: |
| 147 | + # Fallback to original messagebox if win10toast is not available |
| 148 | + messagebox.showinfo( |
| 149 | + "布局提示", |
| 150 | + "首次启动,已为您自动匹配预设的窗口布局。\n" |
| 151 | + "如果布局不符合您的习惯,请在“设置”中进行调整。" |
| 152 | + ) |
137 | 153 | else: # 'fallback' or 'default'
|
138 |
| - messagebox.showwarning( |
139 |
| - "布局警告", |
140 |
| - "首次启动,未能找到完全匹配您屏幕的预设布局。\n" |
141 |
| - "当前使用的是一个近似或默认的方案,可能不准确。\n" |
142 |
| - "请务必在“设置”中根据您的偏好进行调整!" |
143 |
| - ) |
| 154 | + if ToastNotifier: |
| 155 | + toaster = ToastNotifier() |
| 156 | + toaster.show_toast( |
| 157 | + "布局警告", |
| 158 | + "首次启动,未能找到完全匹配您屏幕的预设布局。\n当前使用的是一个近似或默认的方案,可能不准确。\n请务必在“设置”中根据您的偏好进行调整!", |
| 159 | + icon_path="res/icon.ico", |
| 160 | + duration=10, |
| 161 | + threaded=True |
| 162 | + ) |
| 163 | + else: |
| 164 | + # Fallback to original messagebox |
| 165 | + messagebox.showwarning( |
| 166 | + "布局警告", |
| 167 | + "首次启动,未能找到完全匹配您屏幕的预设布局。\n" |
| 168 | + "当前使用的是一个近似或默认的方案,可能不准确。\n" |
| 169 | + "请务必在“设置”中根据您的偏好进行调整!" |
| 170 | + ) |
144 | 171 |
|
145 | 172 | default_config = {
|
146 | 173 | "geometry": optimal_geometry,
|
|
0 commit comments