Переключение окон c помощью dmenu

В одной из бесчисленных тем на LOR'е углядел скрипт для переключения окон с помощью wmctrl и dmenu, немного поправил и, повесив вызов на хоткей, стал использовать по прямому назначению как дополнение к Alt-Tab'у

Вот сам скрипт
#!/bin/sh

BG="#737373" 
FG="#e7e3e7" 
FONT='-xos4-terminus-*-*-*-*-12-*-*-*-*-*-*-*'
STR='-l 20' # кол-во строк
DMENU="dmenu -fn $FONT -nb $BG -nf $FG -sb $FG -sf $BG -i $STR"

wnds=`wmctrl -l | awk '{print substr($0, index($0,$4))}'`
wrks=`wmctrl -d | awk '{print substr($0, index($0,$9))}'`

sel=`echo "$wnds
$wrks" | sort -u | $DMENU`
test -z "$sel" && exit 0
wrkid=`wmctrl -d | grep "${sel}" | awk '{print $1}'`
test $wrkid && wmctrl -s $wrkid || wmctrl -a "$sel" || exit 1
exit 0
Теоретически должно работать со всеми EWMH/NetWM совместимыми оконными менеджерами.
ku 11-08-2011
http://linuxoid.in/Dmenu

тащемта, оригинал :)
muhas 11-08-2011
ну я на лоре взял, его и привожу как первоисточник
в оригинале не помешает заменить awk "/$sel/" на что-нить другое (я сменил на конвеер с grep "${sel}") ибо ошибка получается когда в заголовке приложения путь к файлу
Slava 11-08-2011
А я в дополнение к Alt-Tab'у (или скорее наоборот) предпочитаю использовать жёсткую (не интерактивную) переключалку окон (с ней меньше нажатий клавиш): http://code.google.com/p/xatk/ (прошу прощение за рекламу:))
muhas 11-08-2011
прикольно, не знал о таком. думаю что мне xatl будет достаточно удобно в некоторых случаях
muhas 11-08-2011
поставил xatk - всё бы хорошо но никак не запомнить сочетания клавишь ибо заголовков окон нету :(
но это думаю со временем придет, да и приложений гуевых у меня мало - по первой буквы из названия переключается (всё остальное в терминале с gnu screen)
ku 11-08-2011
>ибо ошибка получается когда в заголовке приложения путь к файлу

не поверишь, за почти 3 года ни разу не сталкивался :)

Приведи, что ли пример приложения, потестим
lazyklimm 11-08-2011
и ещё, в оригинале у меня этот скрипт ещё выдаёт список емаксовых буферов. плюс браузер все ссылки(зачем они вообще нужны?) открывает в новом окне, так что из скрипта можно переключиться в несколько нажатий на любой документ. А если открыто с пяток окон - то конечно xatk эргономичнее
muhas 11-08-2011
>Приведи, что ли пример приложения, потестим
geany при открытии какого-нить файла имеет слеши в заголовке

@lazyklimm во, вспомнил у кого спер скрипт! в твоем комментарии увидел в теме со скриншотом страшненькой фигни для wmii
lazyklimm 11-08-2011
>0x01c00003 3 sherry 0001-OTHER-Upd…reference.patch - /home/dk - Geany

вот с таким нормально работает и переключается :)
muhas 11-08-2011
отрабатывает только ошибками сыпет
/xchainkeys.conf - /home/muhas/.config/xchainkeys - Geany /g//{print $1} (unterminated regexp)
ну и \n почему-то у меня ругается и не работает, перенос обычный сделал.
может из-за настроек sh...

хотя уже перешел на xatk, очень уж он оказался удобным