Xcompmgr (Русский)

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Xcompmgr. Дата последней синхронизации: 10 сентября 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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 на любой другой цвет).