@zakim24/electron-liquid-glass 1.1.4 → 1.1.6

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": "@zakim24/electron-liquid-glass",
3
- "version": "1.1.4",
3
+ "version": "1.1.6",
4
4
  "description": "macOS glass / vibrancy wrapper for Electron BrowserWindow",
5
5
  "repository": {
6
6
  "type": "git",
Binary file
@@ -69,27 +69,20 @@ extern "C" int AddGlassEffectView(unsigned char *buffer, bool opaque) {
69
69
  __block int resultId = -1;
70
70
 
71
71
  RUN_ON_MAIN(^{
72
- NSView *contentView = *reinterpret_cast<NSView **>(buffer);
73
- if (!contentView) return;
74
-
75
- // CRITICAL: Get the contentView's superview (the window's themeFrame)
76
- // We add the glass effect there, BELOW the contentView, so it doesn't block mouse events
77
- NSView *windowFrame = contentView.superview;
78
- if (!windowFrame) {
79
- // Fallback to contentView if no superview (shouldn't happen)
80
- windowFrame = contentView;
81
- }
72
+ NSView *rootView = *reinterpret_cast<NSView **>(buffer);
73
+ if (!rootView) return;
74
+
75
+ // Find the proper container - avoid NSThemeFrame
76
+ NSView *container = rootView;
82
77
 
83
78
  // Remove previous glass and background views (if any)
84
- // We associate with contentView for consistency
85
- NSView *oldGlass = objc_getAssociatedObject(contentView, kGlassEffectKey);
79
+ NSView *oldGlass = objc_getAssociatedObject(container, kGlassEffectKey);
86
80
  if (oldGlass) [oldGlass removeFromSuperview];
87
81
 
88
- NSView *oldBackground = objc_getAssociatedObject(contentView, kBackgroundViewKey);
82
+ NSView *oldBackground = objc_getAssociatedObject(container, kBackgroundViewKey);
89
83
  if (oldBackground) [oldBackground removeFromSuperview];
90
84
 
91
- // Use contentView's frame relative to windowFrame
92
- NSRect bounds = contentView.frame;
85
+ NSRect bounds = container.bounds;
93
86
 
94
87
  NSBox *backgroundView = nil;
95
88
 
@@ -129,28 +122,20 @@ extern "C" int AddGlassEffectView(unsigned char *buffer, bool opaque) {
129
122
 
130
123
  // Ensure autoresize if we created a private glass view too
131
124
  glass.autoresizingMask = NSViewWidthSizable | NSViewHeightSizable;
132
-
133
- // Make the glass view a layer-backed view for better rendering
134
- glass.wantsLayer = YES;
135
-
136
- // Add the glass view to the windowFrame, positioned BELOW the contentView
137
- // This ensures events go to contentView first, not the glass
125
+
126
+ // Add the glass view (positioned relative to background view if opaque, or below everything if not)
138
127
  if (opaque && backgroundView) {
139
- // Background at very bottom, then glass, then contentView on top
140
- backgroundView.wantsLayer = YES;
141
- [windowFrame addSubview:backgroundView positioned:NSWindowBelow relativeTo:contentView];
142
- [windowFrame addSubview:glass positioned:NSWindowAbove relativeTo:backgroundView];
128
+ [container addSubview:glass positioned:NSWindowAbove relativeTo:backgroundView];
143
129
  } else {
144
- // Glass below contentView
145
- [windowFrame addSubview:glass positioned:NSWindowBelow relativeTo:contentView];
130
+ [container addSubview:glass positioned:NSWindowBelow relativeTo:nil];
146
131
  }
147
132
 
148
- // Associate views with contentView for cleanup (so we can find them later)
149
- objc_setAssociatedObject(contentView, kGlassEffectKey, glass, OBJC_ASSOCIATION_RETAIN);
133
+ // Associate views with the container for cleanup
134
+ objc_setAssociatedObject(container, kGlassEffectKey, glass, OBJC_ASSOCIATION_RETAIN);
150
135
  if (backgroundView) {
151
- objc_setAssociatedObject(contentView, kBackgroundViewKey, backgroundView, OBJC_ASSOCIATION_RETAIN);
136
+ objc_setAssociatedObject(container, kBackgroundViewKey, backgroundView, OBJC_ASSOCIATION_RETAIN);
152
137
  } else {
153
- objc_setAssociatedObject(contentView, kBackgroundViewKey, nil, OBJC_ASSOCIATION_ASSIGN);
138
+ objc_setAssociatedObject(container, kBackgroundViewKey, nil, OBJC_ASSOCIATION_ASSIGN);
154
139
  }
155
140
 
156
141