fixes vibrancy window

This commit is contained in:
Gellert Hegyi 2024-11-03 16:49:27 +01:00
parent 52dd2549fb
commit 1e00bd437f
3 changed files with 13 additions and 3 deletions

View file

@ -14,7 +14,7 @@ NSView* viewUnderneathPoint(NSView* self, NSPoint point) {
NSArray *views = [contentView subviews]; NSArray *views = [contentView subviews];
for (NSView *v in views) { for (NSView *v in views) {
if (v != self) { if (v != self && ![v isKindOfClass:[NSVisualEffectView class]]) {
NSPoint pointInView = [v convertPoint:point fromView:nil]; NSPoint pointInView = [v convertPoint:point fromView:nil];
if ([v hitTest:pointInView] && [v mouse:pointInView inRect:v.bounds]) { if ([v hitTest:pointInView] && [v mouse:pointInView inRect:v.bounds]) {
return v; return v;
@ -26,7 +26,7 @@ NSView* viewUnderneathPoint(NSView* self, NSPoint point) {
NSView* swizzledHitTest(id obj, SEL sel, NSPoint point) { NSView* swizzledHitTest(id obj, SEL sel, NSPoint point) {
NSView* originalReturn = NSView* originalReturn =
((NSView*(*) (id, SEL, NSPoint))g_originalHitTest) (obj, sel, point); ((NSView*(*) (id, SEL, NSPoint))g_originalHitTest)(obj, sel, point);
NSNumber* isDraggable = @(originalReturn == nil); NSNumber* isDraggable = @(originalReturn == nil);
objc_setAssociatedObject(obj, objc_setAssociatedObject(obj,
@ -40,7 +40,7 @@ NSView* swizzledHitTest(id obj, SEL sel, NSPoint point) {
} }
void swizzledMouseEvent(id obj, SEL sel, NSEvent* theEvent) { void swizzledMouseEvent(id obj, SEL sel, NSEvent* theEvent) {
((void(*) (id, SEL, NSEvent*))g_originalMouseEvent) (obj, sel, theEvent); ((void(*) (id, SEL, NSEvent*))g_originalMouseEvent)(obj, sel, theEvent);
NSView* view = obj; NSView* view = obj;
NSNumber* isDragging = objc_getAssociatedObject(view.window.contentView, NSNumber* isDragging = objc_getAssociatedObject(view.window.contentView,

View file

@ -1,6 +1,14 @@
<html> <html>
<head> <head>
<style> <style>
* {
color: whitesmoke;
}
button, input {
color: black;
}
.drag-container { .drag-container {
-webkit-app-region: drag; -webkit-app-region: drag;
background-color: cadetblue; background-color: cadetblue;

View file

@ -8,6 +8,8 @@ app.on('ready', () => {
width: 800, width: 800,
height: 600, height: 600,
frame: false, frame: false,
transparent: true,
vibrancy: 'sidebar',
}); });
win.loadFile('./index.html'); win.loadFile('./index.html');