Ъ прозрачность в yeahconsole

топ 100 блогов muhas — Заметки аскетичного гика06.08.2010 Ъ прозрачность yeahconsoleЗахотелось свистелок и перделок
Сначала пара слов про тему и иконки gtk о которых писал с неделю назад.
Я идиот! вот лепишь свои темы да иконки лепишь, а потом находишь то что лежит под носом, а именно те самые Any Color You Like.
Правда они под носом не лежали, а вот после их обнаружения под носом лежала такая же тема gtk (ага, а я свои темы ковырял допиливал), тоже Any Color You Like (но уже GTK 2.x Theme/Style) — простая тема, правим в её gtkrc пару верхних строчек (цвета, размер иконок, etc) и радуемся. Есть ещё такая же тема для metacity, возможно есть и для чего другого. так что рекомендую!
Вобщем я нашел свой идеал, которы и глаза не мозолит, но душу греет...

То что мне захотелось поменять немного своё окружение мои читатели уже догадались (то обои, то иконки и темы), вот дошла очередь и до консоли, т.е. до иксового эмулятора терминала...

Вступление
Расцветка консоли меня всегда устраивала, сам эмулятор терминала тоже устраивает более чем (yeahconsole + GNU Screen, но описанный ниже метод должен работать и с другими эмуляторами терминалов). Оконный менеджер я тоже менять не собираюсь, однако всяких компизов вешать не хочется, xcompmgr вполне хватает для моих нужд - да и работает он с любым wm (даже с ratpoison). Так что решил (как догадливый читатель уже понял по заголовку) сделать прозрачность для выскакивающего по хоткею терминала, а сам он так не умеет — но это же unix-way, и то что не умеет yeahconsole умеет xcompmgr.

Решение
Что удивительно даже в гугл лезть не пришлось, ибо решая проблему о том что бы эта выпадающая консоль была не по верх всех окон был однострочник для получения id окна, которое можно было потом передавать кому угодно(ну почти) для обработки.
id=$(xwininfo -root -tree | grep имя -B 2 | head -1 | perl -p -e 's/^ *(0x.*?) .*$/$1/g')
запомните сей однострочник, пригодится, мне вот уже неоднократно пригодился.

В качестве обработчика был выбран transset — простая утилита которая тупо делает указанное окно прозрачным, естественно уровень прозрачности можно задать, да и окно можно выбрать как кликом мышки так и параметрами командной строки (вот тут id нам и нужен).
В общем yaourt -S transset-df и устанавливаем прозрачность уже полученному id
transset-df  -i $id 0.85 
Не забываем что xcompmgr или что-то его заменяющее должно быть запущено иначе прозрачности не будет). 0.85 это уровень прозрачности(0 - прозрачно целиком, 1 - непрозрачно, с моей расцветкой делать прозрачность больше 0.85 это сделать текст в консоли нечитаемым в большинстве случаев).
Ъ прозрачность yeahconsole
Применение на автомате
Дело в том что скрит просто так в автозагрузку не впихнешь, ибо может не успеть, так что нужен небольшой sleep перед зупуском. Ну а так как всё что в автозагрузке с иксами грузится у меня в одном файле поэтому итоговый скрипт получил вид
(sleep 3 && transset-df  -i $(xwininfo -root -tree | grep yeahconsole -B 2 | head -1 | perl -p -e 's/^ *(0x.*?) .*$/$1/g') 0.9)&
и попал в файл autostart.sh. Циферка 3 это секунды — на моем текущем десктопе сего времени хватает, возможно кому-то и не хватит, так что поиграйтесь с это циферкой...
Хотя можно и без sleep'a повесить на хоткей и когда надо убирать, когда надо включать прозрачность ибо transset-df при первом вызове устанавливает заданную прозрачность, при втором убирает её.

Дополнение
Во время написания поста решил посмотреть а не сбояню ли я, оказалось что бояню, но только частично — нашел способ установки прозрачности с тем же методом получения id но без использования transset(-df) (на ubuntuforums.org, как ни странно — я думал приверженцы ubuntu не любят таких сложных путей), стандартными исковыми методами
# value is between 0 (invisible) and 2^32 (fully opaque)
xprop -id "$id" -f _NET_WM_WINDOW_OPACITY 32c -set _NET_WM_WINDOW_OPACITY 3221225472
Опробуя сей метод, я так и не осилил почеловечески менять уровень прозрачности.

Итог
В общем огламурил я свой десктоп, для тех кто спросит нафига мне эта прозрачность отвечу вразу — yeahconsole чаще всего открыт у меня на весь экран, затмевая собой не только трей с небольшой инфой(не так уж давно появившийся у меня — а то всё в hardstatus screen'а выностить не комильфо), но и всё происходящее в окнах, к прмеру в браузере или ещё где. Так что это носит не столько эстетический характер сколь практический
Ъ прозрачность в yeahconsole

Оставить комментарий

Архив записей в блогах:
Здравствуйте уважаемые. Раз есть интерес, то думаю, продолжим нашу серию, которая, собственно говоря, первоначально, серией и быть не должна была бы. Но стала :-))) Думаю, будет справедливым, после Ленина и Сталина вспомнить и 3-его владыку советской земли - Никиту Сергеевича Хрущева. ...
В Форбсе появилась интересная статья , суть которой сводится к описанию новой мифологии современной России. В стране, конечно, главные мифы, обязательные к религиозному поклонению, складываются вокруг лубочной Отечественной войны (к реальной той войне никакого отношения не имеющей), ...
Готовится грибная "рассада" - просто. Берётся шляпка уже перезревшего гриба (белый или подберезовик). Перемалывается на обычной ручной мясорубке. Кладётся в бутыль с водой. Дальше идёт способ "пробуждения" с ...
- Подсудимая, ваше имя? - Анна Джонс, Ваша честь. - Анна Джонс, вы обвиняетесь в нанесении тяжкого ущерба мужской репродукции. Признаете ли вы себя виновной? - Да, Ваша честь. - Каков ваш род занятий? - Медсестра в родильном отделении клиники святого Георгия. - В чем заключаются ваши ...
Тему этого поста мне навеяли высказывания относительно дресс-кода для россиян.. Вспомнился мне почему то отдых заграницей. ) Вы же замечали как одеваются наши люди на отдыхе? Причем если мужчины еще как то предпочитают свободную одежду то дамы ...