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.
Форки и обновленные версии
Существуют форки, в которые внесены различные исправления:
- xcompmgr-dana — Один из первых форков Xcompmgr.
- http://oliwer.net/xcompmgr-dana/ || xcompmgr-danaAUR[ссылка недействительна: сохранено в aur-mirror]
- Compton — Форк Xcompmgr, содержащий большинство предыдущих исправлений и многие другие.
Настройка
Для запуска xcompmgr
, выполните:
$ xcompmgr -c
Для автозагрузки с сеансом X, добавьте следущее в 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
установит прозрачность до 75%.
Советы и рекомендации
Запуск/остановка xcompmgr по требованию
Этот скрипт (например в ~/bin) позволяет легко остановить/перезапустить композитный менеджер.
~/.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 из [[official repositories (Русский)|официальных репозиториев] и добавить следующую строку в .xinitrc
перед xcompmgr
:
hsetroot -solid "#000066"
(можно заменить #000066 на любой другой цвет).