Ъ прозрачность в 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

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

Архив записей в блогах:
Храм Святых Апостолов Петра и Павла Католический храм в городе Тула. Административно относится к Архиепархии Матери Божией, возглавляемой архиепископом митрополитом Паоло Пецци. Расположен по адресу: улица Льва Толстого, д. 85. Дата постройки:1893 г. ...
Печальная статистика. Более 4 миллионов беженцев. Наверное под эту статистику попадает сельское жилье. Или нет? ...
Свежие (март 2025) рэнкинги оцененности мировых рынков сразу по пяти показателям плюс итоговый рэнкинг.  России здесь нет, поскольку акции наших компаний на мировых рынках не торгуются из-за санкций и заморозки активов. Если б торговались – думаю, по текущим оценкам мы уверенно ...
У многих из нас был опыт любви, у кого счастливый, у кого не очень. И был опыт секса, тоже разный. Но мир желаний не исчерпывается любовью или сексом с приглянувшимся человеком. В мире желаний существует еще и грязь. Та грязь, которая очень ...
Тигран Кеосаян снял совершенно провидческий военный фильм «Бессмертные». Главная роль - Сергей Пускепалис. Он там умирает. И знает об этом. У него там спрашивают: - Сколько тебе осталось? Он говорит: - Три месяца. Фильм вышел в этом году в июле. Глядя на Пускепалиса главная героиня ...