node-mac-recorder 2.6.19 → 2.6.20

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-mac-recorder",
3
- "version": "2.6.19",
3
+ "version": "2.6.20",
4
4
  "description": "Native macOS screen recording package for Node.js applications",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -1056,18 +1056,16 @@ bool startScreenSelection() {
1056
1056
 
1057
1057
  // Window created for specific screen
1058
1058
 
1059
- // Use a high but not maximum level to avoid issues with secondary displays
1060
- [overlayWindow setLevel:CGWindowLevelForKey(kCGFloatingWindowLevelKey) + 1000];
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(kCGFloatingWindowLevelKey) + 2000]; // Even higher level
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(kCGOverlayWindowLevelKey)];
1359
+ [overlayWindow setLevel:CGWindowLevelForKey(kCGMaximumWindowLevelKey)];
1362
1360
  [overlayWindow setOpaque:NO];
1363
- [overlayWindow setBackgroundColor:[NSColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.5]];
1364
- [overlayWindow setIgnoresMouseEvents:YES];
1365
- [overlayWindow setAcceptsMouseMovedEvents:NO];
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];