screenoverlay 0.6.1__tar.gz → 0.6.2__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.6.1 → screenoverlay-0.6.2}/PKG-INFO +1 -1
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/screenoverlay/overlay.py +12 -46
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/screenoverlay.egg-info/PKG-INFO +1 -1
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/setup.py +1 -1
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/LICENSE +0 -0
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/README.md +0 -0
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/screenoverlay/__init__.py +0 -0
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/screenoverlay.egg-info/SOURCES.txt +0 -0
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/screenoverlay.egg-info/dependency_links.txt +0 -0
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/screenoverlay.egg-info/requires.txt +0 -0
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/screenoverlay.egg-info/top_level.txt +0 -0
- {screenoverlay-0.6.1 → screenoverlay-0.6.2}/setup.cfg +0 -0
|
@@ -79,7 +79,7 @@ class NativeBlurOverlay:
|
|
|
79
79
|
|
|
80
80
|
while True:
|
|
81
81
|
overlay.show() # Show overlay (instant)
|
|
82
|
-
|
|
82
|
+
time.sleep(2)
|
|
83
83
|
overlay.hide() # Hide overlay (instant)
|
|
84
84
|
overlay.update() # Keep overlay responsive (call regularly!)
|
|
85
85
|
|
|
@@ -99,15 +99,12 @@ class NativeBlurOverlay:
|
|
|
99
99
|
|
|
100
100
|
def show(self):
|
|
101
101
|
"""Show the overlay (instant, <1ms)"""
|
|
102
|
-
import traceback
|
|
103
|
-
print(f"\n🔴 OVERLAY.SHOW() CALLED! Stack trace:")
|
|
104
|
-
traceback.print_stack()
|
|
105
|
-
|
|
106
102
|
if self.root is None:
|
|
107
103
|
# Auto-start if not started yet
|
|
108
104
|
self.start()
|
|
109
105
|
|
|
110
106
|
if not self._is_visible:
|
|
107
|
+
print(f"\n🔴 SHOWING overlay windows...")
|
|
111
108
|
for win in self.windows:
|
|
112
109
|
try:
|
|
113
110
|
win.deiconify()
|
|
@@ -119,53 +116,22 @@ class NativeBlurOverlay:
|
|
|
119
116
|
print(f"✅ OVERLAY IS NOW VISIBLE\n")
|
|
120
117
|
|
|
121
118
|
def hide(self):
|
|
122
|
-
"""Hide the overlay
|
|
123
|
-
import traceback
|
|
124
|
-
print(f"\n⚪ OVERLAY.HIDE() CALLED! Stack trace:")
|
|
125
|
-
traceback.print_stack()
|
|
126
|
-
|
|
119
|
+
"""Hide the overlay using withdraw() (lightweight, fast, no resource leaks)"""
|
|
127
120
|
if self.root is None:
|
|
128
121
|
return # Not started yet
|
|
129
122
|
|
|
130
123
|
if self._is_visible:
|
|
131
|
-
#
|
|
132
|
-
print(f"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
print(f"Warning: destroy() failed: {e} (might already be destroyed)")
|
|
140
|
-
except Exception as e:
|
|
141
|
-
print(f"Warning: Failed to destroy overlay: {e}")
|
|
124
|
+
# LIGHTWEIGHT HIDE - just withdraw windows (don't destroy/recreate)
|
|
125
|
+
print(f"🫥 WITHDRAWING overlay windows (lightweight hide)...")
|
|
126
|
+
for win in self.windows:
|
|
127
|
+
try:
|
|
128
|
+
win.attributes('-topmost', False) # Remove topmost before hiding
|
|
129
|
+
win.withdraw()
|
|
130
|
+
except Exception as e:
|
|
131
|
+
print(f"Warning: Failed to withdraw window: {e}")
|
|
142
132
|
|
|
143
|
-
self.root = None
|
|
144
|
-
self.windows = []
|
|
145
133
|
self._is_visible = False
|
|
146
|
-
print(f"✅ OVERLAY
|
|
147
|
-
|
|
148
|
-
# SAFETY CHECK: Verify system is clean before recreating
|
|
149
|
-
print(f"🔍 SAFETY CHECK: Verifying clean state...")
|
|
150
|
-
if self.root is not None:
|
|
151
|
-
print(f"⚠️ WARNING: self.root is not None after destroy! Force clearing...")
|
|
152
|
-
self.root = None
|
|
153
|
-
if len(self.windows) > 0:
|
|
154
|
-
print(f"⚠️ WARNING: self.windows has {len(self.windows)} entries after destroy! Force clearing...")
|
|
155
|
-
self.windows = []
|
|
156
|
-
if self._is_visible:
|
|
157
|
-
print(f"⚠️ WARNING: _is_visible is True after destroy! Force clearing...")
|
|
158
|
-
self._is_visible = False
|
|
159
|
-
|
|
160
|
-
# Small delay to let Tkinter/macOS fully cleanup
|
|
161
|
-
import time
|
|
162
|
-
time.sleep(0.01) # 10ms delay for cleanup
|
|
163
|
-
print(f"✅ SYSTEM CLEAN\n")
|
|
164
|
-
|
|
165
|
-
# RECREATE FRESH for next show()
|
|
166
|
-
print(f"♻️ RECREATING fresh overlay...")
|
|
167
|
-
self.start()
|
|
168
|
-
print(f"✅ FRESH OVERLAY READY (hidden)\n")
|
|
134
|
+
print(f"✅ OVERLAY HIDDEN (windows withdrawn)\n")
|
|
169
135
|
|
|
170
136
|
def update(self):
|
|
171
137
|
"""
|
|
@@ -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.6.
|
|
8
|
+
version="0.6.2",
|
|
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
|
|
File without changes
|
|
File without changes
|