yeahurxvt: quake-style терминал с помощью wmctrl на замену yeahconsole

Навеяно темой на русском арчефоруме в которой человек вопрошает способ сделать так что бы yeahconsole не была поверх всех окон?

Набросал скриптик для создания простого аналога yeahconsole из urxvt. Думаю, для других терминалов мало что будет отличаться (для xterm то это точно)
#! /bin/bash

WINTITLE="yeahurxvt"
PROGNAME="urxvt"
# ищем окно по имени и скрываем/показываем или запускаем окно в зависимости от ситуации
if [ `wmctrl -xl | grep -c "$WINTITLE"` != 0 ]; then
	# скрываем или показываем нужное окно в зависимости от того что сейчас
    wmctrl -x -r "$WINTITLE" -b toggle,hidden
else
	# запускаем если нет окна с нужным именем
    $PROGNAME -name "$WINTITLE" &
    # ну и размер сразу выставить можно, параметры добавить и прочее по желанию - главное что бы имя у окна было нужное
fi
exit 0

Не забываем что если bash/zsh/etc меняет имя окна то всё вдруг перестает работать. Так что лучше что бы не меняло
Сохраняем скрипт, делаем исполняемым, вешаем на любой хоткей и радуемся. Правда в данном случае в панели задач это окно будет отображаться, но никто не запрещает в настройках используемой панели запретить отображение...

Все хором выбрасываем yeahconsole, tilda, и прочее =)

PS работает в EWMH совместимых wm — проверил на openbox(работает даже с запущенным pytyle) и fluxbox
bosha 10-06-2010
Не понимаю почему бы просто не использовать yeahconsole? =)
muhas 10-06-2010
режим кэпа on - потому что она не может не поверх всех окон =)
это первое решение пришедшее в голову для решения сей задачи...
dr4g0n 10-06-2010
а зачем квейк-стайл консоли быть под окнами? :)
muhas 10-06-2010
данная реализация не под окнами(тупо переключает на нужное окно или скрывает его), но при желании можно туда загнать(да и те же notify или ещё чего из-за yeahconsole может быть не видно)
bosha 10-06-2010
@muhas короче это костыль для "людей с веществами"? =)
muhas 10-06-2010
кому костыль, а кому и удобные ноги =)
popeye 10-06-2010
Cпасибо, интересное решение)
dsh 10-06-2010
У меня под metacity "-b toggle,hidden" не работает. Вместо этого я использую "wmctrl -F -R QuakeConsole || exec xterm -name QuakeConsole -title QuakeConsole -e screen -DR"
freefd 10-06-2010
После дня работы с этим чудом полгода назад, захотелось разбирать монитор. Вернулся к yeahconsole и больше ни разу не уходил.
muhas 10-06-2010
@freefd не понял... yeahconsole конечно рулит, но чем сие не пошло? (если что. я тоже до сих пор тоже яхконсоль юзаю)
IIaBeJI 10-06-2010
На арчвики есть подобное решение, только через xdotool
http://wiki.archlinux.org/index.php/Urxvt#Improved_Kuake-like_behavior_in_Openbox
muhas 10-06-2010
там ещё и с urxvtd о_О
что-то я о нем и забыл совсем
virens 10-06-2010
Мухас, а чем не устраивает тот же Yakuake? Он не так много КДЕшного тянет, и в нём эта функция, насколько я помню, есть.
muhas 10-06-2010
yaourt -S yakuake
Цели (20): ilmbase-1.0.1-1 [0,31 MB] openexr-1.6.1-1 [3,25 MB] clucene-0.9.21b-1 [1,07 MB] exiv2-0.19-1 [1,17 MB] strigi-0.7.2-2 [0,69 MB] libiodbc-3.52.7-4 [0,13 MB] virtuoso-6.1.1-1 [4,94 MB] soprano-2.4.3-1 [2,08 MB] qca-2.0.2-2 [0,58 MB] polkit-qt-0.95.1-1 [0,09 MB] phonon-gstreamer-4.4.2-1 [0,07 MB] phonon-4.4.2-1 [0,14 MB] shared-desktop-ontologies-0.5-1 [0,08 MB] attica-0.1.3-1 [0,11 MB] kdelibs-4.4.4-1 [13,49 MB] oxygen-icons-4.4.4-1 [20,25 MB] rarian-0.8.1-1 [0,17 MB] kdebase-runtime-4.4.4-2 [7,40 MB] kdebase-konsole-4.4.4-1 [0,34 MB] yakuake-2.9.6-2 [0,34 MB]
Размер загружаемых файлов: 56,53 МБ
Размер устанавливаемых файлов: 199,79 МБ

как-то я не считаю это "не так много КДЕшного". да и не вдаваясь в подробности yakuake монстр - уйма функций которого вроде и на виду но не нужна(мне по меньшей мере)
nzqr 11-01-2011
if wmctrl -xl |grep -c ' yeahurxvt.URxvt'; then
...

Так короче, во вторых, grep вернёт true по заголовку окна браузера, в кот-м открыта эта страница )
yantar92 11-03-2011
Давно пользуюсь вот таким: http://paste.org/pastebin/view/30800. Работает даже если сменить имя окна и умеет переносить окно между рабочими столами.