Transparency/ru

Вас необходимо использовать сторонние compositor для использования прозрачности. Смотрите раздел Composite Managers.

Существует несколько композитных менеджеров для X которые в то же время, не являются оконными менеджерами; точнее их три: xcompmgr, Cairo Composite Manager и Unagi Compositing Manager. xcompmgr очень простой и довольно быстрый, но у него есть bugs regarding awesome's menues. Unagi может быть сравнен с xcompmgr по использованию ресурсов и возможностям, но он более быстрый и расширяемый. Cairo-compmgr более функциональный, настраиваемы и расширяемы, но в то же время и более ресурсоемкий.

Композитный менеджер Cairo
Композитный менеджер Cairo использует массив(vector) фреймворка cairo для композитинга(compositing).

Инструкцию по его установке вы можете найти на сайте проекта. На сайте вы можете найти пакет debian здесь. Также доступен PPA для пользователей Ubuntu.

Для установки в Ubuntu: sudo apt-add-repository ppa:gekkio/cairo-compmgr sudo apt-get update sudo aptitude install cairo-compmgr

Запуск cairo-compmgr производите в верхней части вашего rc.lua или других процедур инициализации, или запускайте его вручную, набрав -- запуск Cairo Composite Manager awful.util.spawn_with_shell("cairo-compmgr &") По умолчанию, cairo-compmgr привязывает к Mod4 + drag утилиту для скриншота и включает медленную(считается, что это красиво) анимацию меню. Для отключения этих и других раздражающих "особенностей", щелкните правой кнопкой на иконке скарабея в области уведомлений и выберите Preferences. Если вы работаете на медленной машине, или без нормальных драйверов графики, рекомендуется отключить некоторые функции cairo-compmgr.

Xcompmgr
Установите xcompmgr. В Ubuntu:

Откройте терминал и запустите xcompmgr. Он немедленно включит поддержку прозачности, что позволит вам использовать любые программы с прозрачностью. rxterm можно предложить в качестве поддерживающего прозрачность эмулятора. Вы можете в настройках скрыть полосы прокрутки, меню, а также настроить прозрачность.

В начале вашего rc.lua разместите:

awful.util.spawn_with_shell("xcompmgr -cF &")

Можете запустить xcompmgr без аргументов, если вам не нужны тени.

Сообщения об ошибках
Если xcompmgr выдает сообщения об ошибках, то это происходит потому, что утилита для установки обоев в awesome(awsetbg) уже вернула обратно старую утилиту дисплея для установки обоев. Здесь существует два способа для исправления этой ситуации:

Поиск backend для awsetbg
Если awsetbg имеет рабочий backend, это позволяет с легкостью использовать именно его. Backends в настоящее время подтверждает, что проблема решена в: Просто установите одни из пакетных менеджеров по вашему выбору(например feh) и перезапустите awesome. awsetbg -i подскажет вам, какой текущий backend используется или порекомендует, если не сможет их найти.
 * feh

habak (не рекомендуется)
$ sudo aptitude search habak i  habak                           - utility for creating multi-layered backgr

В этом случае требуется изменить theme.lua: -- use habak instead -- theme.wallpaper_cmd = { "awsetbg /usr/share/awesome/themes/default/background.png" } theme.wallpaper_cmd = { "habak mywallpaper.png" }

Мне пришлось также подгонять размер фонового изображения, чтобы оно не было обрезано при отображении.

Композитный менеджер Unagi
Как и Awesome, Unagi использует библиотеку XCB, которая расширяется за счет плагинов и более легковесна по сравнению с Cairo Composite Manager, но обеспечивающая на данный момент намного меньшую функциональность. Официально доступна версия для Debian (и соответственно Ubuntu):  и в Arch через AUR. Инструкции по установке в других системах вы можете найти на странице project's wiki.

Откройте терминал и запустите unagi. После этого поддержка прозрачности будет сразу доступна.

В верхней части rc.lua добавьте:

awful.util.spawn_with_shell("unagi &")

Примечание: Если вы видите черные полосы при подключении/подключении монитора или при изменении разрешения, попробуйте следующий код:

awful.util.spawn_with_shell("killall unagi; sleep 5; unagi &")

Использование встроенной поддержки прозрачности
Примечание: Вам понадобится запущенный compositor такой как xcompmgr или cairo-compmgr.

Для автоматической установки прозрачности для определенного класса окон, вы можете добавить следующие правила в секцию awful.rules в rc.lua: {rule = {class = "some-class"}, properties = {opacity = 0.8} }

(Вы можете узнать класс окна (window class) используя утилиту xprop)

Например у меня сделано правило для XTerm с уровнем прозрачности в 80%.

Если вам необходимы прозрачный уведомления, перепишите настройки по умолчанию в rc.lua. Следующие строки установят непрозрачность на 80% для каждого уровня срочности: naughty.config.presets.normal.opacity = 0.8 naughty.config.presets.low.opacity = 0.8 naughty.config.presets.critical.opacity = 0.8 Настройки по умолчанию будут игнорироваться, если уведомление устанавливает собственную непрозрачность: naughty.notify{ title="NaughtyNotifcation", text="Check, if everything works.", opacity=0.5 }

RecordMyDesktop
Чтобы избежать темных краев, сделайте следующее:

Установите полноэкранный режим:

recordmydesktop --no-frame

Или испльзуйте идентификатор окна (смотрите man recordmydesktop & xwininfo)

recordmydesktop --windowid 0xa00003

Gloobus-Preview
Вам необходимо добавить специальное правило в ваш rc.lua для Gloobus-Preview. Это правило включает плавающий режим для Gloobus-preview и отключает отрисовку границ вокруг окна: -- Make Gloobus behave as expected { rule = { class = "Gloobus-preview-configuration" }, properties = { floating = true } }, { rule = { class = "Gloobus-preview" }, properties = { floating = true, border_width = 0 } },