self: with self; '' set -e current_layout=$(${sway}/bin/swaymsg -t get_inputs | ${jq}/bin/jq -r '.[] | select(.type == "keyboard") | .xkb_active_layout_index' | head -1) total_layouts=$(${sway}/bin/swaymsg -t get_inputs | ${jq}/bin/jq -r '.[] | select(.type == "keyboard") | .xkb_layout_names | length' | head -1) next_layout_index=$(expr $current_layout + 1); if [ $next_layout_index -ge $total_layouts ]; then next_layout_index=0; fi ${sway}/bin/swaymsg input '*' xkb_switch_layout "$next_layout_index" echo $next_layout_index next_layout=$(${sway}/bin/swaymsg -t get_inputs | ${jq}/bin/jq -r "[ .[] | select(.type == \"keyboard\") | .xkb_layout_names ][0].[$next_layout_index]") ${libnotify}/bin/notify-send "$next_layout" ''