diff --git a/i3/config b/i3/config
index 6d9d3fa4562b002595b71f3b2a14a96fa0e3dda0..a328ef8512d514d625f367325cfc052fda01dc5c 100644
--- a/i3/config
+++ b/i3/config
@@ -149,7 +149,7 @@ bindsym $mod+Ctrl+0 move container to workspace 10; workspace 10
 # reload the configuration file
 bindsym $mod+Shift+c reload
 # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
-bindsym $mod+Shift+r restart
+bindsym $mod+Shift+r exec "cat ~/.config/i3/config.* > ~/.config/i3/config "; restart
 # exit i3 (logs you out of your X session)
 bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -b 'Yes, exit i3' 'i3-msg exit'"
 bindsym $mod+Shift+s exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to shutdown i3?' -b 'Yes, exit i3' 'shutdown 0'"
diff --git a/i3/init.sh b/i3/init.sh
index 9ab41e59c89386fd22ed4c65f2168d66c0381d09..7ddf280901cbd91328d84f9779dffd325a2bfba1 100755
--- a/i3/init.sh
+++ b/i3/init.sh
@@ -2,11 +2,15 @@
 cd "$(dirname "$0")"
 
 mkdir -p ~/.config/i3
-ln -sr config ~/.config/i3/config 
+ln -sr config.global ~/.config/i3/config
 ln -sr toggle-border ~/.config/i3/i3-toggle-border
 ln -sr kill ~/.config/i3/i3-kill
 ln -sr i3status.conf ~/.config/i3/
 chmod o+x ~/.config/i3/i3-*
+cat >~/.xinitrc <<EOF
+cat ~/.config/i3/config.* > ~/.config/i3/config
+exec i3
+EOF
 g++ status.cpp -o ~/.config/i3/status.out
 
 if [ "$1" == "mint" ];