Xcompmgr (Русский)
Ссылки по теме
Xcompmgr - это простой композитный менеджер окон, умеющий прорисовывать тени и создавать примитивную прозрачность посредством transset. Разработан как доказательство возможности существования легковесных альтернатив Compiz Fusion.
Так как 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 может быть установлен из пакета xcompmgr, доступного в официальных репозиториях. Для обеспечения прозрачности также необходимо установить transset-df из официальных репозиториев. Смотрите для примера Xterm#Automatic transparency.
Форки и обновленные версии
Существуют форки, в которые внесены различные исправления:
- Compton — Форк Xcompmgr, содержащий большинство предыдущих исправлений и многие другие.
Настройка
Для запуска xcompmgr
, выполните:
$ xcompmgr -c
Чтобы запускать Xcompmgr в начале сессии, добавьте следующее в xprofile:
xcompmgr -c &
Заместо -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 ON" xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 & else echo "Turning xcompmgr OFF" pkill xcompmgr & fi exit 0
Решение проблем
Падает Mozilla Firefox при работающем флеше
Вы можете исправить это путем создания файла /etc/profile.d/flash.sh
, который должен содержать следующее:
export XLIB_SKIP_ARGB_VISUALS=1
Фон становится светло-серым после входа в систему (например, в Openbox)
Эта ошибка исправляется путем установки hsetrootAUR и настройки цвета фона посредством hsetroot -solid "#000000"
(просто введите код цвета, который вы хотите вместо #000000) перед 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.
Чтобы исправить это, вам нужно установить hsetrootAUR и добавить следующую строчку в .xinitrc
перед xcompmgr
:
hsetroot -solid "#000066"
(можно заменить #000066 на любой другой цвет).