node-mac-recorder 2.10.28 → 2.10.30

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.10.28",
3
+ "version": "2.10.30",
4
4
  "description": "Native macOS screen recording package for Node.js applications",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -84,8 +84,8 @@ void updateScreenOverlays();
84
84
  self.isActiveWindow = YES;
85
85
  self.highlightFrame = NSZeroRect;
86
86
 
87
- // Transparent background for full-screen overlay
88
- self.layer.backgroundColor = [[NSColor clearColor] CGColor];
87
+ // Semi-transparent background for full-screen overlay (50% less transparency = more opaque)
88
+ self.layer.backgroundColor = [[NSColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.3] CGColor];
89
89
 
90
90
  // Disable focus ring completely
91
91
  [self setFocusRingType:NSFocusRingTypeNone];
@@ -117,13 +117,13 @@ void updateScreenOverlays();
117
117
  NSColor *strokeColor;
118
118
 
119
119
  if (self.isToggled) {
120
- // Locked state: 50% less transparency (more opaque)
121
- fillColor = [NSColor colorWithRed:0.6 green:0.4 blue:0.9 alpha:0.75]; // 0.5 -> 0.75
122
- strokeColor = [NSColor colorWithRed:0.45 green:0.25 blue:0.75 alpha:0.95]; // 0.9 -> 0.95
120
+ // Locked state: #3d00b047 (purple with 47 alpha = 0.278)
121
+ fillColor = [NSColor colorWithRed:0.24 green:0.0 blue:0.69 alpha:0.278]; // #3d00b0 with 47/255 alpha
122
+ strokeColor = [NSColor colorWithRed:0.24 green:0.0 blue:0.69 alpha:0.95];
123
123
  } else {
124
- // Normal state: 50% less transparency (more opaque)
125
- fillColor = [NSColor colorWithRed:0.6 green:0.4 blue:0.9 alpha:0.6]; // 0.4 -> 0.6
126
- strokeColor = [NSColor colorWithRed:0.7 green:0.5 blue:0.95 alpha:0.9]; // 0.8 -> 0.9
124
+ // Normal state: #4400c52e (purple with 2e alpha = 0.18)
125
+ fillColor = [NSColor colorWithRed:0.27 green:0.0 blue:0.77 alpha:0.18]; // #4400c5 with 2e/255 alpha
126
+ strokeColor = [NSColor colorWithRed:0.27 green:0.0 blue:0.77 alpha:0.9];
127
127
  }
128
128
 
129
129
  [fillColor setFill];
@@ -929,19 +929,19 @@ void updateOverlay() {
929
929
  NSString *labelAppName = [windowUnderCursor objectForKey:@"appName"] ?: @"Unknown App";
930
930
  [infoLabel setStringValue:[NSString stringWithFormat:@"%@\n%@", labelAppName, labelWindowTitle]];
931
931
 
932
- // Position buttons - Start Record in absolute center of screen
932
+ // Position buttons - Start Record in absolute center of overlay
933
933
  if (g_selectButton) {
934
934
  NSSize buttonSize = [g_selectButton frame].size;
935
- NSRect screenFrame = [[NSScreen mainScreen] frame]; // Use main screen frame instead of overlay view
935
+ NSRect overlayFrame = [g_overlayView frame]; // Use overlay view frame for proper centering
936
936
  NSPoint buttonCenter = NSMakePoint(
937
- (screenFrame.size.width - buttonSize.width) / 2,
938
- (screenFrame.size.height - buttonSize.height) / 2 + 30 // Slightly above center
937
+ (overlayFrame.size.width - buttonSize.width) / 2,
938
+ (overlayFrame.size.height - buttonSize.height) / 2 + 30 // Slightly above center
939
939
  );
940
940
  [g_selectButton setFrameOrigin:buttonCenter];
941
941
 
942
- // Position app icon above text label in absolute screen center
942
+ // Position app icon above text label in absolute overlay center
943
943
  NSPoint iconCenter = NSMakePoint(
944
- (screenFrame.size.width - 96) / 2, // Center horizontally on main screen
944
+ (overlayFrame.size.width - 96) / 2, // Center horizontally on overlay
945
945
  buttonCenter.y + buttonSize.height + 60 + 10 // Above label + text height + margin
946
946
  );
947
947
  [appIconView setFrameOrigin:iconCenter];
@@ -962,9 +962,9 @@ void updateOverlay() {
962
962
  floatAnimationX.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
963
963
  [appIconView.layer addAnimation:floatAnimationX forKey:@"floatAnimationX"];
964
964
 
965
- // Position info label in absolute screen center, above button
965
+ // Position info label in absolute overlay center, above button
966
966
  NSPoint labelCenter = NSMakePoint(
967
- (screenFrame.size.width - [infoLabel frame].size.width) / 2, // Center horizontally on main screen
967
+ (overlayFrame.size.width - [infoLabel frame].size.width) / 2, // Center horizontally on overlay
968
968
  buttonCenter.y + buttonSize.height + 10 // 10px above button, below icon
969
969
  );
970
970
  [infoLabel setFrameOrigin:labelCenter];
@@ -982,7 +982,7 @@ void updateOverlay() {
982
982
  if (cancelButton) {
983
983
  NSSize cancelButtonSize = [cancelButton frame].size;
984
984
  NSPoint cancelButtonCenter = NSMakePoint(
985
- (screenFrame.size.width - cancelButtonSize.width) / 2, // Center horizontally on main screen
985
+ (overlayFrame.size.width - cancelButtonSize.width) / 2, // Center horizontally on overlay
986
986
  buttonCenter.y - buttonSize.height - 20 // 20px below main button
987
987
  );
988
988
  [cancelButton setFrameOrigin:cancelButtonCenter];