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"