Xorg X11 и прозрачность

Материал из Википедии - свободной энциклопедии.

Вернутся в раздел руководства


Содержание

Введение

Это руководство поможет в установке X.org на Linux/Gentoo машине, хотя общие настройки должны работать и на любом другом дистрибутиве.

Шаг за шагом

Установка X.org

Установите последнюю версию X.org с помощью команды

emerge xorg-x11

После компиляции необходимо настроить X.org путем редактирования /etc/X11/xorg.conf
Если у вас было установленно XFree86 то рабочий /etc/X11/XF86Config будет автоматически использоватся для работы X.org. Для обеспечения целостности рекомендуется переименовать /etc/X11/XF86Config в /etc/X11/xorg.conf.

Для загрузки X.org выполните команду

startx

Установка X Composite Extension

Откройте /etc/X11/xorg.conf для редактирования

nano -w /etc/X11/xorg.conf

пользуйте ваш любимый редактор ;)

Добавьте следующие строки в любом месте конфиг файла

File: /etc/X11/xorg.conf
Section "Extensions"
    Option "Composite" "Enable"
    Option "RENDER" "Enable"
EndSection


При следующей перезагрузке X.org у вас будет включен Composite Extension. Это расширение позволяет предварительную отрисовку вне экрана, чтобы на экран выводилось уже законченное изображение. Это позволяет использовать различные эффекты (например прозарчность и тени).

Для достоверности можно проверить лог файл

grep COMPOSITE /var/log/Xorg.0.log
(II) Initializing built-in extension COMPOSITE

Включение теней и настоящей прозрачности

Многие WM еще не обладают поддержкой новых функций X.org, так что нам придется использовать дополнительные инструменты для наших эффектов.

Вначале нам надо установить xcompmgr
echo "x11-misc/xcompmgr ~x86" >> /etc/portage/package.keywords


emerge xcompmgr
Затем установим transset
echo "x11-misc/transset ~x86" >> /etc/portage/package.keywords


emerge transset

Теперь у нас есть все необходимое, чтобы включить тени, затенение и настоящую прозрачность. Запустите из Xterminal xcompmgr

xcompmgr -c

Эта команда позволит вам увидеть эффекты от запущенного xcompmgr, если они вам не понравятся то control c в консоли позволит вам убить процесс, а если они вам нравятся то надо убить процесс и запустить его на фоне командой

xcompmgr -c &

Примечание: символ & позволяет запустить xcompmgr на фоне

Таким образом xcompmgr включит "мягкие" тени. Если будет использован флаг -s то будут "грубые" тени.

Рабочий пример для xcompmgr с тенью и затенением

xcompmgr -cCfF -r7 -o.65 -l-10 -t-8 -D7 &

Теперь о прозрачности. Выполните в консоли

transset

Теперь ваш курсор изменился, вы можете кликнуть на окне которое хотите сделать прозрачным. Если запустить transset с цифровым значением от 0 до 1 то это укажет насколько прозрачным должно быть окно

  • 0 - полностью прозрачно
  • 1 - не прозрачно

Попробуйте выполнить

transset .2

Для возвращения окна назад просто выполните transset и кликните по прозрачному окну.

Как это выглядит

Пример прозрачности Изображение взято на http://www.grebowiec.net/archives/xorg4.html

Выключение эффектов

Для выключения всех эффектов выполните

killall xcompmgr

Примечание

NVIDIA

При использовании NVIDIA видео карточек рекомендуется добавить в /etc/X11/xorg.conf нижеприведенные строки для того, чтобы можно было использовать расширение "Composite" и увеличить производительность при его использовании.


File: /etc/X11/xorg.conf

Section "Device"
...
Option "RenderAccel" "true"
Option "AllowGLXWithComposite" "true"
...
EndSection


ATI

При использовании ATI видео карточек совместно с ATI драйверами, дополните /etc/X11/xorg.conf опцией backingstore, для включения поддержки backing store, механизма с помощью которого пиксельные данные закрытого окна запоминаются Х сервером и снимает необходимость посылки сообщений к Х клиенту когда надо обновить изображение


File: /etc/X11/xorg.conf

Section "Device"
...
Option "backingstore" "true"
Option "AllowGLXWithComposite" "true"
...
EndSection


Заключение

Это только начальные разработки которые мы можем использовать в X.org 6.8. По мере развития WM и приложений будет возможность использовать возможности X.org в полную меру без установки дополнительных приложений. Некоторые приложения, kwin к примеру (http://forums.gentoo.org/viewtopic.php?t=221610), уже портируются.

Возможные проблемы

Fluxbox окна не раскрываются

Попробуйте включить

Configure -> Slit -> Layer -> Desktop.

mplayer problem

При затруднениях с mplayer (прозрачность, отображение), попробуйте следующие опции

mplayer -vo x11 my_video
Личные инструменты
advertisement
Другие языки