node-mac-recorder 2.20.12 → 2.20.14

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.20.12",
3
+ "version": "2.20.14",
4
4
  "description": "Native macOS screen recording package for Node.js applications",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -656,6 +656,7 @@ static NSString* detectSystemCursorType(void) {
656
656
  CGFloat relativeHotspotY = hotspot.y / imageSize.height;
657
657
 
658
658
 
659
+
659
660
  // UPDATED with real cursor data:
660
661
  // Arrow: 17x23 ratio=0.74 hotspot=(0.24,0.17)
661
662
  // Text: 9x18 ratio=0.50 hotspot=(0.44,0.50)
@@ -750,17 +751,16 @@ NSString* getCursorType() {
750
751
 
751
752
  NSString *finalType = @"default";
752
753
 
753
- // SYSTEM CURSOR FIRST - more reliable for visual state
754
- // Always trust system cursor first, only use AX for very specific cases
754
+
755
+ // SYSTEM CURSOR PRIORITY - trust visual state over accessibility
755
756
  if (systemCursorType && [systemCursorType length] > 0) {
756
- // Only override system cursor with AX if system is "default" AND AX gives us text/resize
757
+ // ALWAYS use system cursor when available - it reflects visual state
758
+ finalType = systemCursorType;
759
+
760
+ // Special case: Only use AX for resize cursors that system can't detect
757
761
  if ([systemCursorType isEqualToString:@"default"] && axCursorType &&
758
- ([axCursorType isEqualToString:@"text"] ||
759
- [axCursorType containsString:@"resize"] ||
760
- [axCursorType isEqualToString:@"crosshair"])) {
762
+ [axCursorType containsString:@"resize"]) {
761
763
  finalType = axCursorType;
762
- } else {
763
- finalType = systemCursorType;
764
764
  }
765
765
  }
766
766
  // Only if system completely fails, use AX