screenoverlay 0.4.1__tar.gz → 0.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/PKG-INFO +8 -2
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/README.md +7 -1
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/screenoverlay/__init__.py +1 -1
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/screenoverlay/overlay.py +30 -6
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/screenoverlay.egg-info/PKG-INFO +8 -2
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/setup.py +1 -1
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/LICENSE +0 -0
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/screenoverlay.egg-info/SOURCES.txt +0 -0
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/screenoverlay.egg-info/dependency_links.txt +0 -0
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/screenoverlay.egg-info/requires.txt +0 -0
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/screenoverlay.egg-info/top_level.txt +0 -0
- {screenoverlay-0.4.1 → screenoverlay-0.5.0}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: screenoverlay
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Cross-platform screen overlay with blur, black, white, and custom modes
|
|
5
5
|
Home-page: https://github.com/pekay-ai/screenoverlay
|
|
6
6
|
Author: Pekay
|
|
@@ -107,6 +107,10 @@ Overlay(mode='white').activate(duration=1)
|
|
|
107
107
|
|
|
108
108
|
# Custom colored overlay
|
|
109
109
|
Overlay(mode='custom', color_tint=(255, 100, 100), opacity=0.7).activate()
|
|
110
|
+
|
|
111
|
+
# Multi-monitor control
|
|
112
|
+
Overlay(mode='blur', all_screens=True).activate(duration=5) # Blur all monitors (default)
|
|
113
|
+
Overlay(mode='blur', all_screens=False).activate(duration=5) # Blur only primary monitor
|
|
110
114
|
```
|
|
111
115
|
|
|
112
116
|
Press `ESC` to dismiss the overlay early.
|
|
@@ -222,7 +226,8 @@ Overlay(
|
|
|
222
226
|
mode='blur', # 'blur', 'black', 'white', 'custom'
|
|
223
227
|
blur_strength=3, # 1-5 (only for mode='blur')
|
|
224
228
|
opacity=0.85, # 0.0-1.0
|
|
225
|
-
color_tint=(136, 136, 136) # RGB tuple (0-255)
|
|
229
|
+
color_tint=(136, 136, 136), # RGB tuple (0-255)
|
|
230
|
+
all_screens=True # True = all monitors, False = primary only
|
|
226
231
|
)
|
|
227
232
|
```
|
|
228
233
|
|
|
@@ -234,6 +239,7 @@ Overlay(
|
|
|
234
239
|
| `blur_strength` | int | `3` | Blur intensity 1-5 (only for blur mode) |
|
|
235
240
|
| `opacity` | float | `0.85` | Window opacity 0.0 (transparent) to 1.0 (opaque) |
|
|
236
241
|
| `color_tint` | tuple | `(136, 136, 136)` | RGB color values (0-255) |
|
|
242
|
+
| `all_screens` | bool | `True` | If `True`, blur all monitors. If `False`, blur only primary monitor |
|
|
237
243
|
|
|
238
244
|
### `activate()` Method
|
|
239
245
|
|
|
@@ -63,6 +63,10 @@ Overlay(mode='white').activate(duration=1)
|
|
|
63
63
|
|
|
64
64
|
# Custom colored overlay
|
|
65
65
|
Overlay(mode='custom', color_tint=(255, 100, 100), opacity=0.7).activate()
|
|
66
|
+
|
|
67
|
+
# Multi-monitor control
|
|
68
|
+
Overlay(mode='blur', all_screens=True).activate(duration=5) # Blur all monitors (default)
|
|
69
|
+
Overlay(mode='blur', all_screens=False).activate(duration=5) # Blur only primary monitor
|
|
66
70
|
```
|
|
67
71
|
|
|
68
72
|
Press `ESC` to dismiss the overlay early.
|
|
@@ -178,7 +182,8 @@ Overlay(
|
|
|
178
182
|
mode='blur', # 'blur', 'black', 'white', 'custom'
|
|
179
183
|
blur_strength=3, # 1-5 (only for mode='blur')
|
|
180
184
|
opacity=0.85, # 0.0-1.0
|
|
181
|
-
color_tint=(136, 136, 136) # RGB tuple (0-255)
|
|
185
|
+
color_tint=(136, 136, 136), # RGB tuple (0-255)
|
|
186
|
+
all_screens=True # True = all monitors, False = primary only
|
|
182
187
|
)
|
|
183
188
|
```
|
|
184
189
|
|
|
@@ -190,6 +195,7 @@ Overlay(
|
|
|
190
195
|
| `blur_strength` | int | `3` | Blur intensity 1-5 (only for blur mode) |
|
|
191
196
|
| `opacity` | float | `0.85` | Window opacity 0.0 (transparent) to 1.0 (opaque) |
|
|
192
197
|
| `color_tint` | tuple | `(136, 136, 136)` | RGB color values (0-255) |
|
|
198
|
+
| `all_screens` | bool | `True` | If `True`, blur all monitors. If `False`, blur only primary monitor |
|
|
193
199
|
|
|
194
200
|
### `activate()` Method
|
|
195
201
|
|
|
@@ -131,9 +131,27 @@ class NativeBlurOverlay:
|
|
|
131
131
|
self._command_queue.put('show')
|
|
132
132
|
|
|
133
133
|
def hide(self):
|
|
134
|
-
"""
|
|
134
|
+
"""
|
|
135
|
+
Hide the overlay and restart for next use (100% reliable, prevents ghost windows)
|
|
136
|
+
|
|
137
|
+
This method:
|
|
138
|
+
1. Hides the overlay instantly (user sees clear screen ~1ms)
|
|
139
|
+
2. Stops the overlay process completely (kills any ghost windows)
|
|
140
|
+
3. Starts a fresh overlay ready for next show() (happens in background ~300ms)
|
|
141
|
+
|
|
142
|
+
This "restart on hide" approach guarantees zero ghost windows by giving
|
|
143
|
+
each detection cycle a fresh overlay process, at the cost of ~300ms
|
|
144
|
+
startup time that happens during safe periods (when screen is clear).
|
|
145
|
+
"""
|
|
135
146
|
if self._command_queue is not None:
|
|
147
|
+
# Hide first (instant for user)
|
|
136
148
|
self._command_queue.put('hide')
|
|
149
|
+
|
|
150
|
+
# Stop the process completely to prevent ghost windows
|
|
151
|
+
self.stop()
|
|
152
|
+
|
|
153
|
+
# Start fresh overlay for next show() (happens in background)
|
|
154
|
+
self.start()
|
|
137
155
|
|
|
138
156
|
def stop(self):
|
|
139
157
|
"""Stop and cleanup the overlay completely"""
|
|
@@ -165,16 +183,22 @@ class NativeBlurOverlay:
|
|
|
165
183
|
cmd = command_queue.get_nowait()
|
|
166
184
|
if cmd == 'show':
|
|
167
185
|
for win in self.windows:
|
|
168
|
-
|
|
169
|
-
|
|
186
|
+
try:
|
|
187
|
+
win.deiconify()
|
|
188
|
+
win.lift()
|
|
189
|
+
except Exception as e:
|
|
190
|
+
print(f"Warning: Failed to show window: {e}")
|
|
170
191
|
elif cmd == 'hide':
|
|
171
192
|
for win in self.windows:
|
|
172
|
-
|
|
193
|
+
try:
|
|
194
|
+
win.withdraw()
|
|
195
|
+
except Exception as e:
|
|
196
|
+
print(f"Warning: Failed to hide window: {e}")
|
|
173
197
|
elif cmd == 'stop':
|
|
174
198
|
self.root.quit()
|
|
175
199
|
return
|
|
176
|
-
except:
|
|
177
|
-
|
|
200
|
+
except Exception as e:
|
|
201
|
+
print(f"Warning: Command queue error: {e}")
|
|
178
202
|
|
|
179
203
|
# Check again in 10ms
|
|
180
204
|
self.root.after(10, check_commands)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: screenoverlay
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.5.0
|
|
4
4
|
Summary: Cross-platform screen overlay with blur, black, white, and custom modes
|
|
5
5
|
Home-page: https://github.com/pekay-ai/screenoverlay
|
|
6
6
|
Author: Pekay
|
|
@@ -107,6 +107,10 @@ Overlay(mode='white').activate(duration=1)
|
|
|
107
107
|
|
|
108
108
|
# Custom colored overlay
|
|
109
109
|
Overlay(mode='custom', color_tint=(255, 100, 100), opacity=0.7).activate()
|
|
110
|
+
|
|
111
|
+
# Multi-monitor control
|
|
112
|
+
Overlay(mode='blur', all_screens=True).activate(duration=5) # Blur all monitors (default)
|
|
113
|
+
Overlay(mode='blur', all_screens=False).activate(duration=5) # Blur only primary monitor
|
|
110
114
|
```
|
|
111
115
|
|
|
112
116
|
Press `ESC` to dismiss the overlay early.
|
|
@@ -222,7 +226,8 @@ Overlay(
|
|
|
222
226
|
mode='blur', # 'blur', 'black', 'white', 'custom'
|
|
223
227
|
blur_strength=3, # 1-5 (only for mode='blur')
|
|
224
228
|
opacity=0.85, # 0.0-1.0
|
|
225
|
-
color_tint=(136, 136, 136) # RGB tuple (0-255)
|
|
229
|
+
color_tint=(136, 136, 136), # RGB tuple (0-255)
|
|
230
|
+
all_screens=True # True = all monitors, False = primary only
|
|
226
231
|
)
|
|
227
232
|
```
|
|
228
233
|
|
|
@@ -234,6 +239,7 @@ Overlay(
|
|
|
234
239
|
| `blur_strength` | int | `3` | Blur intensity 1-5 (only for blur mode) |
|
|
235
240
|
| `opacity` | float | `0.85` | Window opacity 0.0 (transparent) to 1.0 (opaque) |
|
|
236
241
|
| `color_tint` | tuple | `(136, 136, 136)` | RGB color values (0-255) |
|
|
242
|
+
| `all_screens` | bool | `True` | If `True`, blur all monitors. If `False`, blur only primary monitor |
|
|
237
243
|
|
|
238
244
|
### `activate()` Method
|
|
239
245
|
|
|
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="screenoverlay",
|
|
8
|
-
version="0.
|
|
8
|
+
version="0.5.0",
|
|
9
9
|
author="Pekay",
|
|
10
10
|
author_email="ppnicky@gmail.com",
|
|
11
11
|
description="Cross-platform screen overlay with blur, black, white, and custom modes",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|