ГЛАВА 9 ДИСПЕТЧЕРЫ ОКОН
Диспетчеры окон управляют окнами на экране. Они определяют размер, расположение и вид окон. Кроме того, диспетчер окон управляет значками на экране и отслеживает мышь, позволяя пользователю производить с ее помощью различные действия.
Наиболее популярным диспетчером окон в мире UNIX/X является диспетчер окон Motif, mwm. Коммерческий продукт, распространяемый Open Group, mwm продается как сам по себе, так и в составе основанного на нем диспетчера окон dtwm являющегося главной частью CDE.
В число других популярных диспетчеров окон входят диспетчер окон Open Look (olwm), диспетчер окон Tab (twm) и диспетчер окон fvwm, обычно входящий в состав поставок Linux. Эти диспетчеры окон распространяются бесплатно.
Хотя диспетчер окон dtwm и основан на mwm, он имеет более дружественный интерфейс. Более того, dtwm представляет собой не просто диспетчер окон, а рабочую среду, содержащую специальные приложения, такие как панель задач, панель управления и т. п. Также имеется целый набор программ, специально созданных для работы под управлением dtwm. (Вы можете найти описание таких программ в главе 5; названия этих программ начинаются с букв dt.) Панель задач обеспечивает удобную работу с такими приложениями.
В большинстве случаев диспетчер окон сконфигурирован по умолчанию так, чтобы вам не понадобилось изменять его настройку перед началом работы. Однако если вы хотите изменить внешний вид окон, а также некоторые другие параметры, существует простой способ это сделать.
Мы не будем обсуждать, как использовать диспетчеры окон mwm и dtwm, но мы опишем, как изменить их настройки.
Параметры запуска
Эти параметры должны быть указаны в командной строке при запуске диспетчера окон.
Параметр Назначение
-display Использование Х сервера с задан-система: номер_ сервера ным номером (обычно- 0) на ука занной системе
-хгт ресурсы Указание строки ресурсов
-multiscreen Управление всеми экранами. Ис пользуется по умолчанию при запус ке dtwm и, как правило, при запус ке mwm
-name имя Использование указанного имени для поиска ресурсов (ресурсы ищутся в виде имя*ресурс)
-screens имя [имя [...]] Указание имен ресурсов для экра нов, управляемых dtwm и mwm.
Ресурсы
Ресурсы определяют, как будет работать диспетчер окон и как он будет взаимодействовать с пользователем и с приложениями. Ресурсы хранятся в файле ресурсов. Обычно файлом ресурсов является файл /usr/dt/app-defaults/SLANG/Dtwm или $HOME/Dtwm при использовании диспетчера окон dtwm; и в каталоге /usr/lib/ XII/app-defaults/Mwm или /$HOME/Mwm при использовании mwm. (Эти файлы могут находиться и в других местах; обратитесь к документации по dtwm и mwm.)
Что находится в файлах ресурсов? Как правило, информация о значках и шрифтах, используемых диспетчером окон; ресурсы, определяющие вид меню и поведение диспетчера окон. Ресурсы задаются при помощи имени ресурса (которое пишется со строчной буквы) или имени класса ресурса (которое пишется с прописной буквы). Имя ресурса имеет приоритет над именем класса ресурса.
Ресурсы, используемые mwm и dtwm, делятся на следующие категории:
• Ресурсы компонентов, определяющие внешний вид меню, рамок, значков, окон и других элементов интерфейса. Эти ресурсы перечислены в табл. 9.1.
• Общие ресурсы, определяющие то, как диспетчер окон взаимодействует с другими приложениями, и использующие на всех экранах и на всех рабочих столах. Эти ресурсы перечислены в табл. 9.2.
• Ресурсы экрана, определяющие поведение диспетчера окон на конкретном экране. Эти ресурсы перечислены в табл. 9.3.
• Ресурсы клиентов, определяющие поведение окон конкретного приложения или класса приложений. Эти ресурсы перечислены в табл. 9.4.
• Ресурсы рабочего стола, определяющие поведение диспетчера окон на конкретном рабочем столе. Эти ресурсы перечислены в табл. 9.5, однако они используются только диспетчером окон dtwm.
Перечисленные ниже имена ресурсов используются в сочетании с названием диспетчера окон. Например, чтобы установить ресурс background, используйте имя Dtwm*background. Аналогично, для установки ресурса keyboardFocusPolicy используйте имя Dtwm *keyboardFocusPolicy.
Имя | Класс Тип | Описание |
значения | ||
bakground | Background цвет | Цвет фона; может использоваться любое значение, |
распознаваемое Х-сервером | ||
background-Pixmap | Background- рисунок Pixmap | Рисунок, содержащий текстуру для рамок и заголовков неактивных |
окон | ||
bottom -ShadowColor | Bottom- цвет ShadowColor | Цвет правой фаски рамки окна; может использоваться любое значение, |
распознаваемое Х-сервером | ||
bottom | Bottom рисунок | Рисунок, содержащий текстуру правой фаски рамки окна |
ShadowPixmap ShadowPixmap | ||
fontList | FontList шрифт | Шрифт, используемый в заголовке |
окна; по умолчанию — fixed | ||
foreground | Foreground цвет | Основной цвет может использоваться любое значение, |
распознаваемое Х-сервером | ||
savellnder | SaveUnder T/F | Сохранение содержимого экрана под окном; по умолчанию значение F (False, ложь) —со |
хранения не происходит |
Имя | Класс | Тип | Описание |
значения | |||
topShadow-Color | Background | цвет | Цвет верхней и левой фасок рамки |
окна | |||
topShadow-Pixmap | TopShadow-Pixmap | рисунок | Рисунок,содержащий текстуру левой и верхней фасок |
рамки окна | |||
active-Background | Background | цвет | Дополнительный цвет рамки актив |
ного окна | |||
active-Background-Pixmap | Background-Pixmap | рисунок | Рисунок,содержащий текстуру рамки активного окна |
activeBottom-ShadowColor | Foreground | цвет | Цвет нижней тени активного окна |
activeBottom | Bottom Shadow | рисунок | Рисунок, содержащий текстуру ниж |
ней тени активного | |||
окна | |||
active Foreground | Foreground | цвет | Основной цвет рамки активного |
окна | |||
activeTop-ShadowColor | Background | цвет | Цвет верхней тени активного окна |
activeTop-ShadowPixmap | TopShadow-Pixmap | рисунок | Рисунок, содержащий текстуру верх |
ней тени активного | |||
окна |
Имя Класс Тип Описание значения
autoKey- AutoKey- T/F Если установлено Focus Focus значение Т, то при закрытии или свора- чивании окна,со держащего фокус ввода, фокус ввода перемещается в пре дыдущее окно. которое его содер жало
autoRaise- Auto- милли- Время, через кото-Delay Raise- секунды рое окно, получив-Delay шее фокус ввода, будет выведено на передний план
bitmap Bitmap каталог Каталог, содержа -
Directory Directory щий рисунки
client Client T/F Положение окна, не AutoPlace AutoPlace имеющего положе ния по умолчанию. По умолчанию окна размещаются каска дом
colormap Colormap значение Перемещение фоку-FocusPolicy FocusPolicy ca цветовой палит ры: explicit— по зап росу приложения- клиента; pointer— фокус следует за указателем;
keyboard— фокус цветовой палитры следует за фокусом ввода
Имя | Класс | Тип | Описание |
значения | |||
configFile | ConfigFile | файл | Расположение кон |
фигурационного | |||
файла; по умолча | |||
нию | |||
$HOME/dtwmrc | |||
ДЛЯСПУУПГ! | |||
и .гтлтпгсдля | |||
mwm | |||
deiconify | Deiconify | T/F | Перенос(Т)или |
KeyFocus | KeyFocus | запрет переноса(F) | |
фокуса ввода в раз | |||
ворачиваемое из | |||
значка окно | |||
double | Double | милли | Максимально допу |
ClickTime | ClickTime | секунды | стимое время между |
щелчками двойного | |||
щелчка | |||
enableWarp | EnableWarp | T/F | Перенос (Т) или |
запрет переноса(F) | |||
указателя в центр | |||
перемещаемого | |||
окна или окна, раз | |||
мер которого изме | |||
няется при выпол | |||
нении этих опера | |||
ций с помощью кла | |||
виатуры | |||
enforce- | Enforce | T/F | Фокус ввода |
KeyFocus | KeyFocus | ||
frameStyle | FrameStyle | значение | Стиль рамки окна: |
slab (высота области | |||
приложения совпа | |||
дает с высотой | |||
окна) или recessed |
Имя | Класс | Тип | Описание |
значения | |||
(высота области | |||
приложения меньше высоты окна). Этот | |||
ресурс доступен | |||
только при использовании dtwm | |||
icon AutoPlace | Icon AutoPlace | T/F | Расположение значков, определенное |
ресурсом IconPlacement | |||
iconClick | IconClick | T/F | Этот ресурс указы |
вает, остается ли на | |||
экране системное | |||
меню после щелчка | |||
на значке | |||
interactive Placement | Interactive Placement | T/F | Установка начального положения |
окна пользователем | |||
(Т) или согласно | |||
значению по | |||
keyboard | Keyboard | значение | умолчанию для приложения (F) Фокус ввода: explicit (пользователь дол |
жен щелкнуть в | |||
окне для переноса в него фокуса ввода) или pointer (фокус | |||
ввода следует за указателем мыши) | |||
lower Onlnconify | Lower Onlnconify | T/F | Присворачивании окна значок поме |
щается в нижнюю часть экрана(Т) или | |||
остается на месте | |||
окна (F) |
Имя | Класс Тип | Описание |
значения | ||
marquee Select Granularity | Marquee пикселы Select Granularity | Шаг перемещения бегущей строки |
move | Move пикселы | Максимальное ко |
Treshhold | Treshhold | личество пикселов, |
на которое может быть произведен сдвиг без начала | ||
операции перемещения. По умолчанию—4 | ||
multiscreen | Multiscreen T/F | Диспетчер окон об |
служивает все экраны (Т) или только один(Г) | ||
passButtons | PassButtons T/F | Передавать (Т) или нет (F) щелчок |
мыши приложению | ||
после выполнения | ||
соответствующих | ||
ему операций | ||
диспетчера окон | ||
positionis-Frame | Positionis- T/F Frame | Положением окна считается положение рамки (Т) или области приложения (F) |
position OnScreen | Position T/F OnScreen | Допустимо (F) или нет(Т)начальное |
положение окна, | ||
при котором оно не | ||
помещается цели | ||
ком на экране |
Имя | Класс Тип | Описание |
значения | ||
quitTimeout | QuitTimeout милли | Время, которое дис |
секунды | петчер окон ожида | |
ет обновления | ||
клиентом реквизита | ||
WMCOMMAND | ||
после запроса | ||
raiseKey | RaiseKey T/F | Этот ресурс опреде |
ляет, получает ли | ||
окно, выведенное | ||
на передний план | ||
функцией | ||
f.normalizeand | ||
raise, фокус ввода | ||
refresh | Refresh T/F | Способ обновления |
ByClearing | ByClearing | экрана: выполнение |
XCIearArea (T) или | ||
создание нового | ||
окна и уничтожение | ||
старого | ||
rootButton- | RootButton- T/F | Определяет режим |
Click | Click | вывода системного |
меню при щелчке на | ||
Главном окне | ||
screens | Screens значение | Имена ресурсов, ис |
пользуемых для уп | ||
равляемых окон | ||
show- | Show- значение | Этот ресурс опреде |
Feedback | Feedback | ляет, отображается |
ли окно диалога, | ||
требующее под | ||
тверждения дей | ||
ствий пользователя | ||
startup- | Startup- T/F | Этот ресурс опреде |
KeyFocus | KeyFocus | ляет, получает ли |
окно фокус ввода | ||
при открытии |
Имя | Класс | Тип | Описание |
значения | |||
useFront | Use | T/F | Этот ресурс опреде |
ляет, выводится ли | |||
панель задач | |||
(доступен только | |||
при использовании | |||
dtwm) | |||
wMenu | WMenu | T/F | Этот ресурс опреде |
ляет режим, в кото | |||
ром выводится | |||
меню окна | |||
wMenu | WMenu | T/F | Этот ресурс опреде |
ButtonClick2 | ButtonClick2 | ляет, вызывает ли | |
двойной щелчок на | |||
кнопке открытия | |||
меню окна выполне | |||
ние операции f.kill. |
Имя | Класс Тип | Описание |
значения | ||
button Bindings | Button значение Bindings | Этот ресурс определяет операции, |
соответствующие | ||
кнопкам мыши | ||
cleanText CleanText | ||
T/F | Этот ресурс определяет способ вывода | |
текста в заголовках | ||
окон и информаци | ||
онных окнах диалога: без фона (Т) или | ||
поверх существующего фона (F) | ||
fade-Normallcon | Fade- T/F Normallcon | Этот ресурс определяет, происходит ли |
затемнение значка | ||
после развертыва | ||
ния окна | ||
feedback-Geometry | Feedback- значение Geometry | Положение информационных окон |
при операциях | ||
перемещения и | ||
изменения размера | ||
окна | ||
frame-BorderWidth | Frame- пикселы BorderWidth | Ширина границы окна |
icon Box-Geometry | IconBox- значение Geometry | Начальное расположение и размер |
поля для значков | ||
icon Box-Name | IconBox- имя Name | Имя ресурсов для поля значков |
icon Box SBDIsplay Policy | IconBox строка SBDIsplay Policy | Вывод полос прокрутки: всех (all), вертикальных (vertical) или гори |
зонтальных | ||
(horizontal) |
Имя | Класс | Тип | Описание |
значения | |||
iconBoxTitle | IconBoxTitle | строка | Заголовок поля для |
значков | |||
icon- | Icon- | значение | Общий вид значка |
Decoration | Decoration | ||
iconlmage-Maximum | Iconlmage-Maximum | ширинах высота | Максимальный размер изображения на |
значке | |||
icomlmage Minimum | Iconlmage Minimum | ширинах высота | Минимальный размер изображения на |
значке | |||
icon Placement | Icon Placement | - | Схема размещения значков |
icon-Placement-Margin | Icon-Placement-Margin | пикселы | Расстояние между границей экрана и значками, размеща |
емыми вдоль нее | |||
keyBindings | KeyBindings | строка | Этот ресурс опреде |
ляет операции, | |||
соответствующие | |||
клавишам клавиа | |||
туры | |||
limitResize | LimitResize | T/F | Этот ресурс опреде |
ляет, может ли | |||
пользователь уста | |||
новить размер окна, больший макси | |||
мального размера, | |||
запрошенного при | |||
ложением | |||
maximum Maximum-Size | Maximum Maximum-Size | ширинах высота | Максимальный размер окна (в пикселах) |
Имя | Класс Тип | Описание |
move-Opaque | значения Move- T/F Opaque |
Этот ресурс определяет, передвигается ли все окно (Т) или |
его схематический эскиз(F) во время операции перемещения окна | ||
resize-BorderWidth | Resize- пикселы BorderWidth | Толщина границы рамки |
resize-Cursors | Resize- T/F Cursors | Этот ресурс определяет, постоянно ли отображаются на экране указатели изменения размера |
transient | Transient строка | Этот ресурс определяет количество управляющих элементов, создаваемых |
для временных окон | ||
transient-Functions | Transient- строка Functions | Этот ресурс определяет, какие функции управления окнами доступны для временных окон |
uselconBox | UselconBox T/F | Этот ресурс определяет, помещаются |
ли значки в поле | ||
значков | ||
workspace Count | Workspace число Count | Начальное количество рабочих столов, создаваемых |
диспетчером окон при запуске. Этот ресурс используется только в dtwm |
Имя | Класс | Тип | Описание |
значения | |||
client-Decoration | Client-Decoration | строка | Этот ресурс определяет вид рамки, по |
мещаемой вокруг окна | |||
client-Functions | Client-Functions | строка | Этот ресурс определяет, какие функции dtwm доступны |
приложению | |||
focus AutoRaise | Focus AutoRaise | VF | Этот ресурс определяет, выводится |
окно приложения на передний план (Т) или нет (F) при получении им фокуса | |||
ввода | |||
iconlmage | Iconlmage | файл | Рисунок для значка |
приложения | |||
iconlmage Background | Background | цвет | Цвет фона значка приложения |
iconlmage Bottom Foreground | ShadowColor | цвет | Цвет нижней тени значка приложения |
iconlmage-Bottom-Shadow- | Pixmap | рисунок | Рисунок, содержащий текстуру нижней тени значка |
Pixmap- | приложения | ||
iconlmage Foreground | Foreground | Цвет | Основной цвет значка приложения |
iconlmage TopShadow Color | Background | цвет | Цвет верхней тени значка приложения |
Имя | Класс | Тип | Описание |
значения | |||
iconlmageTop Pixmap | TopShadow Pixmap | рисунок | Рисунок, содержащий текстуру верх |
ней тени значка | |||
приложения | |||
matte Background | Background | Цвет | Фоновый цвет текстуры |
matteBottom ShadowColor | Foreground | цвет | Цвет текстуры в том месте, куда падает |
тень от кнопки | |||
matteBottom Shadow Pixmap | Bottom Shadow Pixmap | рисунок | Рисунок,
содержащий текстуру тени КНОПКИ |
matte Foreground | Foreground | цвет | Цвет текстуры |
matteTop ShadowColor | Background | цвет | Цвет текстуры в области верхней тени |
КНОПКИ | |||
matteTop Shadow | Top Shadow | рисунок | Рисунок текстуры в области верхней |
тени кнопки | |||
matteWidth | MatteWidth | число | Шаг текстуры |
maximum ClientSize | Maximum ClientSize | ширина». высота | Размер или направление, указываю |
щие, как должно | |||
разворачиваться | |||
окно приложения | |||
useClientlcon | UseClientlcon | T/F | Этот ресурс указывает, должен ли ис |
пользоваться зна | |||
чок, определенный приложением (Т) | |||
или пользователем | |||
(F) |
Имя | Класс | Тип | Описание |
значения | |||
usePPosition | UsePPosition | строка | Этот ресурс указы |
вает, должно ли ис | |||
пользоваться поло | |||
жение окна,задан | |||
ное в реквизите | |||
WM NORMAL | |||
HINTS | |||
window | Window | строка | Имя меню |
Menu | Menu |
Имя | Класс | Тип | Описание |
значения | |||
title | Title | строка | Имя рабочего стола |
colorSetId | ColorSetId | число | Набор цветов, ис |
пользуемый для фона рабочего | |||
стола | |||
image | Image | рисунок | Рисунок,используе |
мый в качестве | |||
фона рабочего | |||
стола | |||
image Background | Image Background | цвет | Цвет фона рисунка, используемого в качестве фона рабоче |
го стола | |||
image Foreground | Image Foreground | цвет | Основной цвет рисунка, используемого в качестве фона рабочего стола |