Xcompmgr (Русский)
Xcompmgr - это простой композитный менеджер окон, умеющий рендерить тени, создавать примитивную прозрачность окон посредством transset. Разработан исключительно как доказательство концепции, Xcompmgr - легковесная альтернатива Compiz и ему подобных композитных менеджеров.
Так как Xcompmgr не заменяет любой существующий оконный менеджер, он является идеальным решением для пользователей, использующих легковесные оконные менеджеры и желающих создать более элегантный рабочий стол.
Установка
Перед установкой Xcompmgr убедитесь в том, что Xorg установлен и правильно настроен. Чтобы убедиться в том, что расширение Composite для X Server включено, выполните:
$ xdpyinfo | grep Composite
Composite
Если вывод отсутствует, добавьте Composite
в раздел Extensions
в xorg.conf:
/etc/X11/xorg.conf
Section "Extensions" Option "Composite" "true" EndSection
Установите пакет xcompmgr. Для прозрачности установите transset-dfAUR. Для примера смотрите Xterm#Automatic transparency.
Настройка
Запуск xcompmgr
:
$ xcompmgr -c
Чтобы запускать xcompmgr
при старте сессии, добавьте в xprofile:
xcompmgr -c &
Вы можете экспериментировать с параметрами, чтобы изменить отбрасывание теней или даже включить затухание. Например:
xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &
Получение полного списка опций:
$ xcompmgr --help
Прозрачность окон
Практическое применение ограничено из-за низкой производительности, но можно использовать transset-df
для установки прозрачности отдельных окон.
Чтобы установить прозрачность окна программы, убедитесь в том, что она запущена, затем выполните:
$ transset-df прозрачность
где прозрачность - это число от 0 до 1, где 0 - абсолютная прозрачность, 1 - непрозрачность.
Курсор превратится в крест, наведите его на требуемую программу. Например, transset-df 0.25
установит непрозрачность на уровне 25% (75% прозрачности).
Советы и рекомендации
Запуск/остановка Xcompmgr по требованию
Этот скрипт позволяет легко запустить, перезапустить и остановить композитный менеджер.
~/.bin/comp
#!/bin/bash # # Start a composition manager. # (xcompmgr in this case) comphelp() { echo "Composition Manager:" echo " (re)start: COMP" echo " stop: COMP -s" echo " query: COMP -q" echo " returns 0 if composition manager is running, else 1" exit } checkcomp() { pgrep xcompmgr &>/dev/null } stopcomp() { checkcomp && killall xcompmgr } startcomp() { stopcomp # Example settings only. Replace with your own. xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 & exit } case "$1" in "") startcomp ;; "-q") checkcomp ;; "-s") stopcomp; exit ;; *) comphelp ;; esac
Для удобства использования можно назначить скрипт на горячую клавишу, используя, например, Xbindkeys. Это позволит перезапускать или временно приостанавливать Xcompmgr в случае необходимости, не прерывая работу.
Переключатель Xcompmgr
Назначьте следующий скрипт на любую горячую клавишу:
#!/bin/bash if pgrep xcompmgr &>/dev/null; then echo "Turning xcompmgr OFF" pkill xcompmgr & else echo "Turning xcompmgr ON" xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 & fi exit 0
Решение проблем
Mozilla Firefox падает при заходе на сайт с Flash
Вы можете исправить это путем создания файла /etc/profile.d/flash.sh
, который должен содержать следующее:
export XLIB_SKIP_ARGB_VISUALS=1
Фон становится светло-серым после входа в систему (например, в Openbox)
Эта ошибка исправляется установкой hsetroot и настройки цвета фона посредством hsetroot -solid "#000000"
(просто введите код цвета, который вы хотите вместо #000000) перед xcompmgr
. Если xcompmgr
запускается до exec
в ~/.xinitrc
, то вы можете заменить xcompmgr &
на (sleep 1 && xcompmgr) &
; это позволит xcompmgr
запускаться после старта оконного менеджера.
BadPicture request в awesome
Если вы получаете следующую ошибку в awesome:
error 163: BadPicture request 149 minor 8 serial 34943 error 163: BadPicture request 149 minor 8 serial 34988 error 163: BadPicture request 149 minor 8 serial 35033
просто установите feh и перезапустите awesome.
Не обновляется экран в awesome после изменения разрешения
При использовании внешнего монитора могут возникнуть проблемы при автоматическом изменении разрешения экрана: часть экрана становится "застывшей" и больше не обновляется. Эта проблема возникает из-за первоначального изменения разрешения (которое происходит перед стартом Xcompmgr), а также при установке фона в awesome посредством feh.
Чтобы исправить это, вам нужно установить hsetroot и добавить следующую строчку в .xinitrc
перед xcompmgr
:
hsetroot -solid "#000066"
(можно заменить #000066 на любой другой цвет).