diff --git a/.bin/mpc/mpc-i3-repeat b/.bin/mpc/mpc-i3-repeat
new file mode 100755
index 00000000..cb9af666
--- /dev/null
+++ b/.bin/mpc/mpc-i3-repeat
@@ -0,0 +1,6 @@
+#!/bin/bash
+if [[ "$(mpc repeat)" == *"repeat: on"* ]]; then
+	notify-send -a "Mopidy" -u low -t 1 "Repeat On" "The playlist will be repeated after it is completed"
+else
+	notify-send -a "Mopidy" -u low -t 1 "Repeat Off" "Playback will stop at the end of the playlist"
+fi
diff --git a/.bin/mpc/mpc-i3-shuffle b/.bin/mpc/mpc-i3-shuffle
new file mode 100755
index 00000000..68a4f50b
--- /dev/null
+++ b/.bin/mpc/mpc-i3-shuffle
@@ -0,0 +1,6 @@
+#!/bin/bash
+if [[ "$(mpc random)" == *"random: on"* ]]; then
+	notify-send -a "Mopidy" -u low -t 1 "Shuffle On" "Songs will be played in random order"
+else
+	notify-send -a "Mopidy" -u low -t 1 "Shuffle Off" "Songs will be played sequentially"
+fi
diff --git a/.config/i3/config b/.config/i3/config
index 8e71fedf..270bcead 100644
--- a/.config/i3/config
+++ b/.config/i3/config
@@ -217,9 +217,30 @@ mode "resize" {
         bindsym Up resize shrink height 10 px or 10 ppt
         bindsym Right resize grow width 10 px or 10 ppt
 
-        # back to normal: Enter or Escape
+        # back to normal: Enter, Escape, or MOD+R
         bindsym Return mode "default"
         bindsym Escape mode "default"
+	bindsym $mod+r mode "default"
 }
 
 bindsym $mod+r mode "resize"
+
+mode "media" {
+	# Shuffle and Repeat
+	bindsym s exec --no-startup-id "~/.bin/mpc/mpc-i3-shuffle"
+	bindsym r exec --no-startup-id "~/.bin/mpc/mpc-i3-repeat"
+
+	# Toggle playback
+	bindsym p exec --no-startup-id "mpc toggle; notify-send -a 'Mopidy' -u low -t 1 'Toggle' 'Toggled playback'
+
+	# Skip between tracks
+	bindsym Right exec --no-startup-id "mpc next; notify-send -a 'Mopidy' -u low -t 1 'Next' 'The current song has been skipped'"
+	bindsym Left exec --no-startup-id "mpc prev; notify-send -a 'Mopidy' -u low -t 1 'Previous' 'Rewound to the previous song'"
+
+	# back to normal: Enter, Escape, or MOD+M
+	bindsym Return mode "default"
+	bindsym Escape mode "default"
+	bindsym $mod+m mode "default"
+}
+
+bindsym $mod+m mode "media"