Пилю скрипт для вызова окон по аккорду.
Идея такая. Выбираешь окно, нажимаешь, например, super+ctrl+b, вызывается скрипт, который берёт ид окна и ассоциирует его с 'b'.
Потом нажимаешь где-то ctrl+b, это самое окно всплывает.
Итак надо сделать шотркаты, варианты решения:
1.Пойти в лоб запихать всю клавиатуру super+ctrl+[a-z], super+[a-z]
+ : тупо
- : грязно
2.Повешать на 2 шортката скрипты, которые ждут ввода одного символа и дальше делают что надо.
+ : просто
- : не эстетично, 2 нажатия вместо одного
3.Тоже самое, что и 2, вместо терминала микроокно.
+ : эстетично
- : тоже 2 нажатия, хз, как делать, что-то кодить лень, как по-простому снять ввод не нагуглил.
4.Конфиг к xbindkeys
- : тоже самое, что 1 и еще один конфиг хз где.
5.Свой xbindkeys с солитёром и скриптами
+ : мама у меня есть свой велик
- : оверинженеринг
Какие есть мысли?
UPD: как хранить key-value в bash, чтобы это сохранялось где-то между вызовами?
UPD 2: короче сделал вариант 2.
focus.sh
#!/bin/bash
dir=/path/to/dir/with/marks
echo "Focus window";
read -n 1 m;
id=$(cat $dir/key_$m);
xdotool windowraise $id;
#!/bin/bash
dir=/path/to/dir/with/marks
id=$(xdotool getactivewindow);
echo "Mark window";
read -n 1 m;
echo $id > "$dir/key_$m";
Получается vim-like типа
super+ctrl+z,<метка окна> - запоминает окно
super+z,<метка окна> - поднимает окно
Но вы главное зацените, какое у меня key-value хранилище!