LINUX.ORG.RU

Вызов окон по shortcut'у

 , ,


0

1

Пилю скрипт для вызова окон по аккорду.
Идея такая. Выбираешь окно, нажимаешь, например, 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;
mark.sh
#!/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 хранилище!

Вариант для бедных:

заводишь 10 воркспейсов,

Раскидываешь окна по ним с Shift+Super+№,

Переходишь на нужные по Super+№,

PROFIT!

cocucka ★★★★☆ ()
Последнее исправление: cocucka (всего исправлений: 1 )
Ответ на: комментарий от anonymous

Это как?

Как юниты в rts. Отмечаешь на ctrl+super+1, выбираешь на super+1.

crutch_master ★★★★★ ()

как хранить key-value

У каждого окна есть куча свойств, можно добавить свое:

xprop -format MY_KEY 8s -set MY_KEY "S"

и по нему находить нужное окно:

icesh -P MY_KEY="S" list

Кроме icesh (утилита из icewm) другой готовой тулзы не знаю. Но можно получить список окон и с помощью того же xprop проверить:

xprop -id 0x400737  MY_KEY
arson ★★★★★ ()
Последнее исправление: arson (всего исправлений: 1 )
Ответ на: комментарий от arson

У каждого окна есть куча свойств, можно добавить свое:

Интересно.

Но можно получить список окон и с помощью того же xprop проверить:

Но много лишней работы, конечно.

crutch_master ★★★★★ ()
Ответ на: комментарий от crutch_master

Он позволяет задавать свои хоткеи на окна и приложения и с другими хоткеями не конфликтует.

anonymous ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.