From a021af59f334c7c262dc5fdc6e2e10e01b21e7e8 Mon Sep 17 00:00:00 2001 From: tomicp Date: Tue, 23 Jun 2020 22:28:55 +0200 Subject: add keyboard switch script --- .local/bin/statusbar/kbselect | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100755 .local/bin/statusbar/kbselect (limited to '.local') diff --git a/.local/bin/statusbar/kbselect b/.local/bin/statusbar/kbselect new file mode 100755 index 0000000..f627b36 --- /dev/null +++ b/.local/bin/statusbar/kbselect @@ -0,0 +1,15 @@ +#!/bin/bash +# works on any init system +# requirements: dmenu, xorg-setxkbmap, xkblayout-state (https://github.com/nonpop/xkblayout-state) +kb="$(xkblayout-state print "%s")" + +case $BLOCK_BUTTON in + 1) kb_choice="$(awk '/! layout/{flag=1; next} /! variant/{flag=0} flag {print $2, "- " $1}' /usr/share/X11/xkb/rules/base.lst | dmenu -l 15)" + kb="$(echo "$kb_choice" | awk '{print $3}')" + setxkbmap "$kb" + pkill -RTMIN+30 "${STATUSBAR:-dwmblocks}";; + 3) notify-send "$(xkblayout-state print "Current layout: %s(%n)")";; + 6) "$TERMINAL" -e "$EDITOR" "$0" ;; +esac + +echo "$kb" -- cgit v1.3.1 From beaa49345c38131b2648d96aef932327f8ea5f28 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Tue, 23 Jun 2020 17:15:01 -0400 Subject: tweaks --- .local/bin/statusbar/kbselect | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to '.local') diff --git a/.local/bin/statusbar/kbselect b/.local/bin/statusbar/kbselect index f627b36..d7313c6 100755 --- a/.local/bin/statusbar/kbselect +++ b/.local/bin/statusbar/kbselect @@ -1,14 +1,15 @@ -#!/bin/bash +#!/bin/sh # works on any init system # requirements: dmenu, xorg-setxkbmap, xkblayout-state (https://github.com/nonpop/xkblayout-state) -kb="$(xkblayout-state print "%s")" +kb="$(xkblayout-state print "%s")" || exit 1 case $BLOCK_BUTTON in 1) kb_choice="$(awk '/! layout/{flag=1; next} /! variant/{flag=0} flag {print $2, "- " $1}' /usr/share/X11/xkb/rules/base.lst | dmenu -l 15)" kb="$(echo "$kb_choice" | awk '{print $3}')" setxkbmap "$kb" pkill -RTMIN+30 "${STATUSBAR:-dwmblocks}";; - 3) notify-send "$(xkblayout-state print "Current layout: %s(%n)")";; + 3) notify-send "⌨ Keyboard/language module" "$(xkblayout-state print "\- Current layout: %s (%n)") +- Left click to change keyboard.";; 6) "$TERMINAL" -e "$EDITOR" "$0" ;; esac -- cgit v1.3.1