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

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

Архив записей в блогах:
Поймал себя на мысли, что адски надоели новости, всякая политика... Еще года два назад это все казалось развлечением, как чтением детектива, просмотром фильма-триллера... А вот тяжело осознавать, что сам в этом фильме и участвуешь. Пока не очень-то вовлеченно, но это пока... Интересно, ...
Добрый вечер! Завтра воскресенье. Солнце в Деве. Луна почти весь день в Тельце. Примерно после восьми вечера она перейдет в знак Близнецы. В понедельник Луна встретится в Близнецах с Лилит и Раху, которые также считаются Лунами, но фиктивными. Почти одновременно с изменением ...
Вполне ожидаемое и разумное решение, учитывая неясные перспективы «Арматы». На Международном военно-техническом форуме «Армия 2021» состоялось подписание двух долгосрочных контрактов между Концерном «Уралвагонзавод» (входит в Госкорпорацию «Ростех») и Министерством обороны Российской ...
В одном из афганских кишлаков. Как и предыдущее видео наглядно характеризует как выглядит партизанская война: время от времени перестрелки " в никуда" и изредка серьезные боестолкновения. В новостях потом укажут, что столкнулись с ...
Читаю в новостях: «Что станет с Землей через 200 млн лет. Австралия столкнется с Евразией и будет двигаться в сторону Америки; Все континенты объединятся в один огромный суперконтинент под названием Амасия; Уровень мирового океана уменьшится; Тихий океан закроется (останутся только ...