Xcompmgr (Русский) - ArchWiki

Jump to content

Ссылки по теме

- Compiz (Русский)
- Compton (Русский)

Состояние перевода: На этой странице представлен перевод статьи 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 на любой другой цвет).

Categories:

- X server (Русский)
- Eye candy (Русский)