node-mac-recorder 2.6.19 → 2.6.21
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.
- package/package.json +1 -1
- package/src/window_selector.mm +24 -26
package/package.json
CHANGED
package/src/window_selector.mm
CHANGED
|
@@ -75,19 +75,19 @@ void updateScreenOverlays();
|
|
|
75
75
|
|
|
76
76
|
- (void)updateAppearance {
|
|
77
77
|
if (self.isActiveWindow) {
|
|
78
|
-
// Active window:
|
|
79
|
-
self.layer.backgroundColor = [[NSColor
|
|
78
|
+
// Active window: completely transparent background to eliminate blue border effect
|
|
79
|
+
self.layer.backgroundColor = [[NSColor clearColor] CGColor];
|
|
80
80
|
// Active window appearance set
|
|
81
81
|
} else {
|
|
82
|
-
// Inactive window:
|
|
83
|
-
self.layer.backgroundColor = [[NSColor
|
|
82
|
+
// Inactive window: completely transparent background to eliminate blue border effect
|
|
83
|
+
self.layer.backgroundColor = [[NSColor clearColor] CGColor];
|
|
84
84
|
// Inactive window appearance set
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
// No border to match screen selector - eliminate any visual border effect
|
|
88
88
|
self.layer.borderColor = [[NSColor clearColor] CGColor];
|
|
89
89
|
self.layer.borderWidth = 0.0;
|
|
90
|
-
self.layer.cornerRadius =
|
|
90
|
+
self.layer.cornerRadius = 0.0; // Remove corner radius to eliminate border-like appearance
|
|
91
91
|
self.layer.masksToBounds = YES;
|
|
92
92
|
self.layer.shadowOpacity = 0.0;
|
|
93
93
|
self.layer.shadowRadius = 0.0;
|
|
@@ -132,8 +132,8 @@ void updateScreenOverlays();
|
|
|
132
132
|
[super drawRect:dirtyRect];
|
|
133
133
|
|
|
134
134
|
if (!self.recordingWindowInfo) {
|
|
135
|
-
// No window info, fill with semi-transparent black
|
|
136
|
-
[[NSColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.
|
|
135
|
+
// No window info, fill with semi-transparent black - 25% more transparent
|
|
136
|
+
[[NSColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.375] setFill];
|
|
137
137
|
NSRectFill(dirtyRect);
|
|
138
138
|
return;
|
|
139
139
|
}
|
|
@@ -157,8 +157,8 @@ void updateScreenOverlays();
|
|
|
157
157
|
[maskPath appendBezierPath:windowPath];
|
|
158
158
|
[maskPath setWindingRule:NSWindingRuleEvenOdd]; // Creates hole effect
|
|
159
159
|
|
|
160
|
-
// Fill with semi-transparent black, excluding window area
|
|
161
|
-
[[NSColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.
|
|
160
|
+
// Fill with semi-transparent black, excluding window area - 25% more transparent
|
|
161
|
+
[[NSColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.375] setFill];
|
|
162
162
|
[maskPath fill];
|
|
163
163
|
}
|
|
164
164
|
|
|
@@ -194,13 +194,13 @@ void updateScreenOverlays();
|
|
|
194
194
|
|
|
195
195
|
if (!self.screenInfo) return;
|
|
196
196
|
|
|
197
|
-
// Background with transparency -
|
|
197
|
+
// Background with transparency - completely transparent to eliminate blue border effect
|
|
198
198
|
if (self.isActiveScreen) {
|
|
199
|
-
// Active screen:
|
|
200
|
-
[[NSColor
|
|
199
|
+
// Active screen: completely transparent background
|
|
200
|
+
[[NSColor clearColor] setFill];
|
|
201
201
|
} else {
|
|
202
|
-
// Inactive screen:
|
|
203
|
-
[[NSColor
|
|
202
|
+
// Inactive screen: completely transparent background
|
|
203
|
+
[[NSColor clearColor] setFill];
|
|
204
204
|
}
|
|
205
205
|
NSRectFill(self.bounds);
|
|
206
206
|
|
|
@@ -1056,18 +1056,16 @@ bool startScreenSelection() {
|
|
|
1056
1056
|
|
|
1057
1057
|
// Window created for specific screen
|
|
1058
1058
|
|
|
1059
|
-
// Use
|
|
1060
|
-
[overlayWindow setLevel:CGWindowLevelForKey(
|
|
1059
|
+
// Use maximum level to match g_overlayWindow
|
|
1060
|
+
[overlayWindow setLevel:CGWindowLevelForKey(kCGMaximumWindowLevelKey)];
|
|
1061
1061
|
[overlayWindow setOpaque:NO];
|
|
1062
1062
|
[overlayWindow setBackgroundColor:[NSColor clearColor]];
|
|
1063
1063
|
[overlayWindow setIgnoresMouseEvents:NO];
|
|
1064
1064
|
[overlayWindow setAcceptsMouseMovedEvents:YES];
|
|
1065
1065
|
[overlayWindow setHasShadow:NO];
|
|
1066
1066
|
[overlayWindow setAlphaValue:1.0];
|
|
1067
|
-
// Ensure window appears on all spaces and stays put
|
|
1068
|
-
[overlayWindow setCollectionBehavior:NSWindowCollectionBehaviorStationary |
|
|
1069
|
-
NSWindowCollectionBehaviorCanJoinAllSpaces |
|
|
1070
|
-
NSWindowCollectionBehaviorIgnoresCycle];
|
|
1067
|
+
// Ensure window appears on all spaces and stays put - match g_overlayWindow
|
|
1068
|
+
[overlayWindow setCollectionBehavior:NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorCanJoinAllSpaces];
|
|
1071
1069
|
|
|
1072
1070
|
// Remove any default window decorations and borders
|
|
1073
1071
|
[overlayWindow setTitlebarAppearsTransparent:YES];
|
|
@@ -1246,7 +1244,7 @@ bool startScreenSelection() {
|
|
|
1246
1244
|
// Secondary screens - more aggressive approach
|
|
1247
1245
|
[overlayWindow orderFront:nil];
|
|
1248
1246
|
[overlayWindow makeKeyAndOrderFront:nil]; // Try makeKey too
|
|
1249
|
-
[overlayWindow setLevel:CGWindowLevelForKey(
|
|
1247
|
+
[overlayWindow setLevel:CGWindowLevelForKey(kCGMaximumWindowLevelKey)]; // Match g_overlayWindow level
|
|
1250
1248
|
|
|
1251
1249
|
// Secondary screen overlay shown
|
|
1252
1250
|
|
|
@@ -1358,11 +1356,11 @@ bool showScreenRecordingPreview(NSDictionary *screenInfo) {
|
|
|
1358
1356
|
defer:NO
|
|
1359
1357
|
screen:screen];
|
|
1360
1358
|
|
|
1361
|
-
[overlayWindow setLevel:CGWindowLevelForKey(
|
|
1359
|
+
[overlayWindow setLevel:CGWindowLevelForKey(kCGMaximumWindowLevelKey)];
|
|
1362
1360
|
[overlayWindow setOpaque:NO];
|
|
1363
|
-
[overlayWindow setBackgroundColor:[NSColor
|
|
1364
|
-
[overlayWindow setIgnoresMouseEvents:
|
|
1365
|
-
[overlayWindow setAcceptsMouseMovedEvents:
|
|
1361
|
+
[overlayWindow setBackgroundColor:[NSColor clearColor]];
|
|
1362
|
+
[overlayWindow setIgnoresMouseEvents:NO];
|
|
1363
|
+
[overlayWindow setAcceptsMouseMovedEvents:YES];
|
|
1366
1364
|
[overlayWindow setHasShadow:NO];
|
|
1367
1365
|
// no border
|
|
1368
1366
|
[overlayWindow setStyleMask:NSWindowStyleMaskBorderless];
|