# Xcompmgr (Русский)

# Введение

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

Так как xcompmgr не заменяет оконный менеджер, он является идеальным для Openbox и Fluxbox.

# Установка

`Xcompmgr` и `transset`, доступны в стандартных репозиториях:

    # pacman -S xcompmgr transset-df

# Настройка

Для запуска xcompmgr, выполните:

    $ xcompmgr -c

Для автозагрузки с Иксами, добавьте его в `~/.xinitrc`:

    xcompmgr -c &

Вместо `-c` Вы можете экспериментировать с другими настройками. Пример:

    xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &

Для получения полного списка опций, выполните:

    $ xcompmgr --help

## Прозрачность окон

Хотя практическое применение ограничено из-за его низкой производительности, `transset` может быть использована для установки прозрачности отдельных окон.

Для запуска прозрачности окна программы, убедитесь, что она запущена, далее выполните:

    transset n

.. где n это число от 0 до 1, где 0 - абсолютная прозрачность, а 1 - непрозрачный.

Курсор превратиться в крест. наведите его на желаемую программу. Например, `transset .25` установит прозрачность до 75%.

# Возможные неисправности

## окна в Fluxbox не разворачиваются

Это зафиксировано в CVS после Fluxbox 0.9.10. Смотреть [1] для дополнительной информации.
Решением в 0.9.10 является создание слоя "Desktop" (flux menu -> Configure -> Slit -> Layer -> Desktop).

## Падает Mozilla Firefox при работающем флеше

Вы можете исправить это, создав в /etc/profile.d файл flash.sh:

    export XLIB_SKIP_ARGB_VISUALS=1

Или добавить это в 184 строку /opt/mozilla/bin/firefox.

## Картинка оказывается светло-серой после входа в систему (например в Openbox)

Эта ошибка исправляется путем установки hsetroot (есть в AUR) и настройкой цвета фона, выполнив hsetroot -solid "#000000" (введите html код нужного цвета, вместо 000000) до xcompmgr.

# Советы

## Запуск/остановка xcompmgr по требованию

Этот скрипт (например в ~/bin) позволяет легко остановить/перезапустить композитный менеджер.

    #!/bin/bash
    #
    # Start a composition manager.
    # (xcompmgr in this case)

    function comphelp () {
      echo "Composition Manager:"
      echo "   (re)start: COMP"
      echo "   stop:      COMP -s"
      echo "   query:     COMP -q"
      echo "              returns 1 if composition manager is running, else 0"
      exit
    }

    function checkcomp () {
      ( ps nc -C xcompmgr &>/dev/null ) && exit 1
      exit 0
    }

    function stopcomp () {
      ( ps nc -C xcompmgr &>/dev/null ) && killall xcompmgr
    }

    function 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 "$1x" in
        "x") startcomp;;
      "-qx") checkcomp;;
      "-sx") stopcomp; exit;;
          *) comphelp;;
    esac

Я сделал COMP и COMP -s горячими клавишами в IceWM, поскольку в нём есть проблемы с использованием xcompmgr в. Это позволяет перезапуск или временную остановку xcompmgr, в случае необходимости, не прерывая работу.

# Дополнительные средства

- AIGLX
- Compiz Fusion
- Compiz
- Xcompmgr
- Cairo Composite Manager -- Универсальный и расширяемый композитный менеджер, используемый cairo для рендеринга
- Wikipedia(en): Compositing Window Managers

Categories:

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