diff --git a/src/RingWindowController.mm b/src/RingWindowController.mm
index 06d866c..6c0bfd7 100644
--- a/src/RingWindowController.mm
+++ b/src/RingWindowController.mm
@@ -40,6 +40,7 @@
 #import "PreferencesWC.h"
 #import "views/IconButton.h"
 #import "views/NSColor+RingTheme.h"
+#import "views/BackgroundView.h"
 
 @interface RingWindowController () <MigrateRingAccountsDelegate>
 
@@ -58,6 +59,7 @@
     __unsafe_unretained IBOutlet NSImageView* qrcodeView;
 
     PreferencesWC* preferencesWC;
+
     CurrentCallVC* currentCallVC;
     ConversationVC* offlineVC;
 }
@@ -69,6 +71,8 @@
     [super windowDidLoad];
     [self.window setMovableByWindowBackground:YES];
 
+    [self.window setBackgroundColor:[NSColor colorWithRed:242.0/255 green:242.0/255 blue:242.0/255 alpha:1.0]];
+
     currentCallVC = [[CurrentCallVC alloc] initWithNibName:@"CurrentCall" bundle:nil];
     offlineVC = [[ConversationVC alloc] initWithNibName:@"Conversation" bundle:nil];
 
diff --git a/src/views/BackgroundView.h b/src/views/BackgroundView.h
new file mode 100644
index 0000000..6f37ea0
--- /dev/null
+++ b/src/views/BackgroundView.h
@@ -0,0 +1,36 @@
+/*
+ *  Copyright (C) 2016 Savoir-faire Linux Inc.
+ *  Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+ */
+
+#import <Cocoa/Cocoa.h>
+
+
+
+@interface BackgroundView : NSView
+
+typedef NS_ENUM(NSUInteger, BackgroundTheme) {
+    Light,
+    Dark
+};
+
+/**
+ * Define which images will be used for drawing
+ */
+@property enum BackgroundTheme theme;
+
+@end
diff --git a/src/views/BackgroundView.mm b/src/views/BackgroundView.mm
new file mode 100644
index 0000000..6597060
--- /dev/null
+++ b/src/views/BackgroundView.mm
@@ -0,0 +1,48 @@
+/*
+ *  Copyright (C) 2016 Savoir-faire Linux Inc.
+ *  Author: Alexandre Lision <alexandre.lision@savoirfairelinux.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
+ */
+
+#import "BackgroundView.h"
+
+@interface BackgroundView()
+
+@property __strong NSImage* centerImage;
+
+@end
+
+@implementation BackgroundView
+
+-(void) awakeFromNib
+{
+    switch (self.theme) {
+        case Dark:
+            self.centerImage = [NSImage imageNamed:@"background-dark.png"];
+            break;
+        case Light:
+        default:
+            self.centerImage = [NSImage imageNamed:@"background-light.png"];
+            break;
+    }
+}
+
+- (void) drawRect:(NSRect)dirtyRect
+{
+    NSDrawThreePartImage([self frame], nil, self.centerImage, nil, NO, NSCompositeSourceOver, 1.0, NO);
+}
+
+@end
