diff --git a/Cocoa/Document.m b/Cocoa/Document.m
index c9205ce..9866064 100644
--- a/Cocoa/Document.m
+++ b/Cocoa/Document.m
@@ -333,9 +333,7 @@ static void printImage(GB_gameboy_t *gb, uint32_t *image, uint8_t height,
NSMutableParagraphStyle *paragraph_style = [[NSMutableParagraphStyle alloc] init];
[paragraph_style setLineSpacing:2];
-
- self.mainWindow.contentView.layer.backgroundColor = [[NSColor blackColor] CGColor];
-
+
self.debuggerSideViewInput.font = [NSFont userFixedPitchFontOfSize:12];
self.debuggerSideViewInput.textColor = [NSColor whiteColor];
self.debuggerSideViewInput.defaultParagraphStyle = paragraph_style;
diff --git a/Cocoa/Document.xib b/Cocoa/Document.xib
index 5694ecd..88c5275 100644
--- a/Cocoa/Document.xib
+++ b/Cocoa/Document.xib
@@ -50,10 +50,16 @@
-
+
-
+
+
+
+
+
+
+
diff --git a/Cocoa/GBBorderView.h b/Cocoa/GBBorderView.h
new file mode 100644
index 0000000..477add1
--- /dev/null
+++ b/Cocoa/GBBorderView.h
@@ -0,0 +1,5 @@
+#import
+
+@interface GBBorderView : NSView
+
+@end
diff --git a/Cocoa/GBBorderView.m b/Cocoa/GBBorderView.m
new file mode 100644
index 0000000..a5f5e81
--- /dev/null
+++ b/Cocoa/GBBorderView.m
@@ -0,0 +1,26 @@
+#import "GBBorderView.h"
+
+@implementation GBBorderView
+
+
+- (void)awakeFromNib
+{
+ self.wantsLayer = YES;
+}
+
+- (BOOL)wantsUpdateLayer
+{
+ return YES;
+}
+
+- (void)updateLayer
+{
+ /* Wonderful, wonderful windowserver(?) bug. Using 0,0,0 here would cause it to render garbage
+ on fullscreen windows on some High Sierra machines. Any other value, including the one used
+ here (which is rendered exactly the same due to rounding) works around this bug. */
+ self.layer.backgroundColor = [NSColor colorWithCalibratedRed:0
+ green:0
+ blue:1.0 / 1024.0
+ alpha:1.0].CGColor;
+}
+@end
diff --git a/Cocoa/GBViewMetal.m b/Cocoa/GBViewMetal.m
index 1c0a86f..34cd50b 100644
--- a/Cocoa/GBViewMetal.m
+++ b/Cocoa/GBViewMetal.m
@@ -71,13 +71,6 @@ static const vector_float2 rect[] =
[self loadShader];
}
-- (void)addSubview:(NSView *)view
-{
- /* Fixes rounded corners */
- [super addSubview:view];
- [self setWantsLayer:YES];
-}
-
- (void) loadShader
{
NSError *error = nil;