# Xcompmgr (Русский)

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

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

Xcompmgr - это простой композитный менеджер окон, умеющий прорисовывать тени и создавать примитивную прозрачность с помощью transset. Разработан как доказательство возможности существования легковесных альтернатив Compiz Fusion.

Так как xcompmgr не заменяет оконный менеджер, он является идеальным для придания элегантности легковестным оконным менеджерам

## Установка

Перед установкой Xcompmgr, убедитесь в правильности настроек Xorg. Если у вас есть собственная настройка, то задействуйте расширение Composite для X Server.

Xcompmgr может быть установлен из пакета xcompmgr, доступного в официальных репозиториях. Для обеспечения прозрачности также необходимо установить transset-df из официальных репозиториев.

### Форки и обновленные версии

Имеются некоторые форки, в которые внесены различные исправления:

- xcompmgr-dana — Один из первых форков Xcompmgr.

  http://oliwer.net/xcompmgr-dana/ || xcompmgr-danaAUR

- Compton — Форк Xcompmgr, содержащий большинство предыдущих исправлений и многие другие.

  https://github.com/chjj/compton || compton-gitAUR

## Настройка

Для запуска `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 на любой другой цвет).

Categories:

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