node-mac-recorder 2.5.9 → 2.5.10
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 +58 -16
package/package.json
CHANGED
package/src/window_selector.mm
CHANGED
|
@@ -75,8 +75,7 @@ bool hideScreenRecordingPreview();
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
- (void)drawRect:(NSRect)dirtyRect {
|
|
78
|
-
|
|
79
|
-
// [super drawRect:dirtyRect];
|
|
78
|
+
[super drawRect:dirtyRect];
|
|
80
79
|
|
|
81
80
|
if (!self.windowInfo) return;
|
|
82
81
|
|
|
@@ -181,8 +180,7 @@ bool hideScreenRecordingPreview();
|
|
|
181
180
|
}
|
|
182
181
|
|
|
183
182
|
- (void)drawRect:(NSRect)dirtyRect {
|
|
184
|
-
|
|
185
|
-
// [super drawRect:dirtyRect];
|
|
183
|
+
[super drawRect:dirtyRect];
|
|
186
184
|
|
|
187
185
|
if (!self.screenInfo) return;
|
|
188
186
|
|
|
@@ -549,7 +547,7 @@ void updateOverlay() {
|
|
|
549
547
|
[appIconView setWantsLayer:YES];
|
|
550
548
|
[appIconView.layer setCornerRadius:8.0];
|
|
551
549
|
[appIconView.layer setMasksToBounds:YES];
|
|
552
|
-
[appIconView.layer setBackgroundColor:[[NSColor colorWithRed:0.2 green:0.2 blue:0.
|
|
550
|
+
[appIconView.layer setBackgroundColor:[[NSColor colorWithRed:0.2 green:0.2 blue:0.2 alpha:0.3] CGColor]]; // Debug background
|
|
553
551
|
[g_overlayWindow.contentView addSubview:appIconView];
|
|
554
552
|
NSLog(@"🖼️ Created app icon view at frame: (%.0f, %.0f, %.0f, %.0f)",
|
|
555
553
|
appIconView.frame.origin.x, appIconView.frame.origin.y,
|
|
@@ -749,6 +747,13 @@ bool showRecordingPreview(NSDictionary *windowInfo) {
|
|
|
749
747
|
[g_recordingPreviewWindow setAlphaValue:1.0];
|
|
750
748
|
[g_recordingPreviewWindow setCollectionBehavior:NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorCanJoinAllSpaces];
|
|
751
749
|
|
|
750
|
+
// Ensure window layer has no borders or decorations
|
|
751
|
+
[g_recordingPreviewWindow setWantsLayer:YES];
|
|
752
|
+
[g_recordingPreviewWindow.layer setBorderWidth:0.0];
|
|
753
|
+
[g_recordingPreviewWindow.layer setCornerRadius:0.0];
|
|
754
|
+
[g_recordingPreviewWindow.layer setBorderColor:[[NSColor clearColor] CGColor]];
|
|
755
|
+
[g_recordingPreviewWindow.layer setMasksToBounds:YES];
|
|
756
|
+
|
|
752
757
|
// Remove any default window decorations and borders
|
|
753
758
|
[g_recordingPreviewWindow setTitlebarAppearsTransparent:YES];
|
|
754
759
|
[g_recordingPreviewWindow setTitleVisibility:NSWindowTitleHidden];
|
|
@@ -867,6 +872,13 @@ bool startScreenSelection() {
|
|
|
867
872
|
[overlayWindow setAlphaValue:1.0];
|
|
868
873
|
[overlayWindow setCollectionBehavior:NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorCanJoinAllSpaces];
|
|
869
874
|
|
|
875
|
+
// Ensure window layer has no borders or decorations
|
|
876
|
+
[overlayWindow setWantsLayer:YES];
|
|
877
|
+
[overlayWindow.layer setBorderWidth:0.0];
|
|
878
|
+
[overlayWindow.layer setCornerRadius:0.0];
|
|
879
|
+
[overlayWindow.layer setBorderColor:[[NSColor clearColor] CGColor]];
|
|
880
|
+
[overlayWindow.layer setMasksToBounds:YES];
|
|
881
|
+
|
|
870
882
|
// Remove any default window decorations and borders
|
|
871
883
|
[overlayWindow setTitlebarAppearsTransparent:YES];
|
|
872
884
|
[overlayWindow setTitleVisibility:NSWindowTitleHidden];
|
|
@@ -895,7 +907,7 @@ bool startScreenSelection() {
|
|
|
895
907
|
|
|
896
908
|
// Modern button styling with purple tone
|
|
897
909
|
[selectButton setWantsLayer:YES];
|
|
898
|
-
[selectButton.layer setBackgroundColor:[[NSColor colorWithRed:0.55 green:0.3 blue:0.
|
|
910
|
+
[selectButton.layer setBackgroundColor:[[NSColor colorWithRed:0.55 green:0.3 blue:0.75 alpha:0.95] CGColor]];
|
|
899
911
|
[selectButton.layer setCornerRadius:8.0];
|
|
900
912
|
[selectButton.layer setBorderWidth:0.0];
|
|
901
913
|
|
|
@@ -924,9 +936,13 @@ bool startScreenSelection() {
|
|
|
924
936
|
[selectButton setTarget:g_delegate];
|
|
925
937
|
[selectButton setAction:@selector(screenSelectButtonClicked:)];
|
|
926
938
|
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
939
|
+
// Remove focus ring and other default button behaviors
|
|
940
|
+
[selectButton setFocusRingType:NSFocusRingTypeNone];
|
|
941
|
+
[selectButton setShowsBorderOnlyMouseInside:NO];
|
|
942
|
+
[selectButton setBezelStyle:NSBezelStyleTexturedSquare];
|
|
943
|
+
[selectButton setKeyEquivalent:@""];
|
|
944
|
+
[selectButton setRefusesFirstResponder:YES];
|
|
945
|
+
[selectButton setState:NSControlStateValueOff];
|
|
930
946
|
|
|
931
947
|
// Create cancel button for screen selection
|
|
932
948
|
NSButton *screenCancelButton = [[NSButton alloc] initWithFrame:NSMakeRect(0, 0, 120, 40)];
|
|
@@ -937,7 +953,7 @@ bool startScreenSelection() {
|
|
|
937
953
|
|
|
938
954
|
// Modern cancel button styling - darker gray, clean
|
|
939
955
|
[screenCancelButton setWantsLayer:YES];
|
|
940
|
-
[screenCancelButton.layer setBackgroundColor:[[NSColor colorWithRed:0.35 green:0.35 blue:0.
|
|
956
|
+
[screenCancelButton.layer setBackgroundColor:[[NSColor colorWithRed:0.35 green:0.35 blue:0.4 alpha:0.9] CGColor]];
|
|
941
957
|
[screenCancelButton.layer setCornerRadius:8.0];
|
|
942
958
|
[screenCancelButton.layer setBorderWidth:0.0];
|
|
943
959
|
|
|
@@ -961,7 +977,11 @@ bool startScreenSelection() {
|
|
|
961
977
|
|
|
962
978
|
// Remove focus ring and other default button behaviors
|
|
963
979
|
[screenCancelButton setFocusRingType:NSFocusRingTypeNone];
|
|
964
|
-
[screenCancelButton
|
|
980
|
+
[screenCancelButton setShowsBorderOnlyMouseInside:NO];
|
|
981
|
+
[screenCancelButton setBezelStyle:NSBezelStyleTexturedSquare];
|
|
982
|
+
[screenCancelButton setKeyEquivalent:@""];
|
|
983
|
+
[screenCancelButton setRefusesFirstResponder:YES];
|
|
984
|
+
[screenCancelButton setState:NSControlStateValueOff];
|
|
965
985
|
|
|
966
986
|
// Create info label for screen
|
|
967
987
|
NSTextField *screenInfoLabel = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, screenFrame.size.width - 40, 60)];
|
|
@@ -1123,6 +1143,13 @@ bool showScreenRecordingPreview(NSDictionary *screenInfo) {
|
|
|
1123
1143
|
[overlayWindow setAlphaValue:1.0];
|
|
1124
1144
|
[overlayWindow setCollectionBehavior:NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorCanJoinAllSpaces];
|
|
1125
1145
|
|
|
1146
|
+
// Ensure window layer has no borders or decorations
|
|
1147
|
+
[overlayWindow setWantsLayer:YES];
|
|
1148
|
+
[overlayWindow.layer setBorderWidth:0.0];
|
|
1149
|
+
[overlayWindow.layer setCornerRadius:0.0];
|
|
1150
|
+
[overlayWindow.layer setBorderColor:[[NSColor clearColor] CGColor]];
|
|
1151
|
+
[overlayWindow.layer setMasksToBounds:YES];
|
|
1152
|
+
|
|
1126
1153
|
// Remove any default window decorations and borders
|
|
1127
1154
|
[overlayWindow setTitlebarAppearsTransparent:YES];
|
|
1128
1155
|
[overlayWindow setTitleVisibility:NSWindowTitleHidden];
|
|
@@ -1191,6 +1218,13 @@ Napi::Value StartWindowSelection(const Napi::CallbackInfo& info) {
|
|
|
1191
1218
|
[g_overlayWindow setAlphaValue:1.0];
|
|
1192
1219
|
[g_overlayWindow setCollectionBehavior:NSWindowCollectionBehaviorStationary | NSWindowCollectionBehaviorCanJoinAllSpaces];
|
|
1193
1220
|
|
|
1221
|
+
// Ensure window layer has no borders or decorations
|
|
1222
|
+
[g_overlayWindow setWantsLayer:YES];
|
|
1223
|
+
[g_overlayWindow.layer setBorderWidth:0.0];
|
|
1224
|
+
[g_overlayWindow.layer setCornerRadius:0.0];
|
|
1225
|
+
[g_overlayWindow.layer setBorderColor:[[NSColor clearColor] CGColor]];
|
|
1226
|
+
[g_overlayWindow.layer setMasksToBounds:YES];
|
|
1227
|
+
|
|
1194
1228
|
// Remove any default window decorations and borders
|
|
1195
1229
|
[g_overlayWindow setTitlebarAppearsTransparent:YES];
|
|
1196
1230
|
[g_overlayWindow setTitleVisibility:NSWindowTitleHidden];
|
|
@@ -1210,8 +1244,8 @@ Napi::Value StartWindowSelection(const Napi::CallbackInfo& info) {
|
|
|
1210
1244
|
[g_overlayView setWantsLayer:YES];
|
|
1211
1245
|
[g_overlayView.layer setBorderWidth:0.0];
|
|
1212
1246
|
[g_overlayView.layer setCornerRadius:0.0];
|
|
1213
|
-
[g_overlayView.layer setMasksToBounds:YES];
|
|
1214
1247
|
[g_overlayView.layer setBorderColor:[[NSColor clearColor] CGColor]];
|
|
1248
|
+
[g_overlayView.layer setMasksToBounds:YES];
|
|
1215
1249
|
[g_overlayView.layer setShadowOpacity:0.0];
|
|
1216
1250
|
[g_overlayView.layer setShadowRadius:0.0];
|
|
1217
1251
|
[g_overlayView.layer setShadowOffset:NSMakeSize(0, 0)];
|
|
@@ -1225,7 +1259,7 @@ Napi::Value StartWindowSelection(const Napi::CallbackInfo& info) {
|
|
|
1225
1259
|
|
|
1226
1260
|
// Modern button styling with purple tone
|
|
1227
1261
|
[g_selectButton setWantsLayer:YES];
|
|
1228
|
-
[g_selectButton.layer setBackgroundColor:[[NSColor colorWithRed:0.55 green:0.3 blue:0.
|
|
1262
|
+
[g_selectButton.layer setBackgroundColor:[[NSColor colorWithRed:0.55 green:0.3 blue:0.75 alpha:0.95] CGColor]];
|
|
1229
1263
|
[g_selectButton.layer setCornerRadius:8.0];
|
|
1230
1264
|
[g_selectButton.layer setBorderWidth:0.0];
|
|
1231
1265
|
|
|
@@ -1250,7 +1284,11 @@ Napi::Value StartWindowSelection(const Napi::CallbackInfo& info) {
|
|
|
1250
1284
|
|
|
1251
1285
|
// Remove focus ring and other default button behaviors
|
|
1252
1286
|
[g_selectButton setFocusRingType:NSFocusRingTypeNone];
|
|
1253
|
-
[g_selectButton
|
|
1287
|
+
[g_selectButton setShowsBorderOnlyMouseInside:NO];
|
|
1288
|
+
[g_selectButton setBezelStyle:NSBezelStyleTexturedSquare];
|
|
1289
|
+
[g_selectButton setKeyEquivalent:@""];
|
|
1290
|
+
[g_selectButton setRefusesFirstResponder:YES];
|
|
1291
|
+
[g_selectButton setState:NSControlStateValueOff];
|
|
1254
1292
|
|
|
1255
1293
|
// Add select button directly to window (not view) for proper layering
|
|
1256
1294
|
[g_overlayWindow.contentView addSubview:g_selectButton];
|
|
@@ -1264,7 +1302,7 @@ Napi::Value StartWindowSelection(const Napi::CallbackInfo& info) {
|
|
|
1264
1302
|
|
|
1265
1303
|
// Modern cancel button styling - darker gray, clean
|
|
1266
1304
|
[cancelButton setWantsLayer:YES];
|
|
1267
|
-
[cancelButton.layer setBackgroundColor:[[NSColor colorWithRed:0.35 green:0.35 blue:0.
|
|
1305
|
+
[cancelButton.layer setBackgroundColor:[[NSColor colorWithRed:0.35 green:0.35 blue:0.4 alpha:0.9] CGColor]];
|
|
1268
1306
|
[cancelButton.layer setCornerRadius:8.0];
|
|
1269
1307
|
[cancelButton.layer setBorderWidth:0.0];
|
|
1270
1308
|
|
|
@@ -1287,7 +1325,11 @@ Napi::Value StartWindowSelection(const Napi::CallbackInfo& info) {
|
|
|
1287
1325
|
|
|
1288
1326
|
// Remove focus ring and other default button behaviors
|
|
1289
1327
|
[cancelButton setFocusRingType:NSFocusRingTypeNone];
|
|
1290
|
-
[cancelButton
|
|
1328
|
+
[cancelButton setShowsBorderOnlyMouseInside:NO];
|
|
1329
|
+
[cancelButton setBezelStyle:NSBezelStyleTexturedSquare];
|
|
1330
|
+
[cancelButton setKeyEquivalent:@""];
|
|
1331
|
+
[cancelButton setRefusesFirstResponder:YES];
|
|
1332
|
+
[cancelButton setState:NSControlStateValueOff];
|
|
1291
1333
|
|
|
1292
1334
|
// Add cancel button to window
|
|
1293
1335
|
[g_overlayWindow.contentView addSubview:cancelButton];
|