Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Графические оболочки Линукс
Оконный менеджер fvwm
====================================================================

                         С О Д Е Р Ж А Н И Е

1. ОПИСАНИЕ                                                          2
2. СПЕЦИАЛЬНОЕ ЗАМЕЧАНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ XFREE86                   2
3. АВТОРСКИЕ ПРАВА                                                   3
4. АНАТОМИЯ ОКОН                                                     3
5. ВИРТУАЛЬНЫЙ ДЕСКТОП                                               4
6. ИНИЦИАЛИЗАЦИЯ                                                     6
7. ФОРМА ОКОН                                                        6
8. ИКОНКИ                                                            6
9. МОДУЛИ                                                            7
10. СОВМЕСТИМОСТЬ С ICCCM                                            8
11. M4 ПРЕПРОЦЕССИНГ                                                 8
12. ОПЦИИ                                                           12
13. ВСТРОЕННЫЕ ФУНКЦИИ                                              39



     1. ОПИСАНИЕ

     Fvwm является оконным менеджером для X11. По сути, зто
производная от twm, настроенная на минимальное использование памяти,
рисующая объемные рамки для окон и обеспечивающая простой виртуальный
десктоп. Объем расходуемой памяти оценивается от половины до трети
объема памяти, расходуемой в twm, что достигается в основном
переопределением twm-овского метода работы с мышью. Кроме того,
удалено много настраеваемых параметров из twm.

     Имя "FVWM" должно было что-то символизировать (Feeble - слабый,
Famous - знаменитый, Foobar - тупое окно?). На самом деле не важно -
основан этот ахроним на общности с чем-либо - или нет.

     2. СПЕЦИАЛЬНОЕ ЗАМЕЧАНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ XFREE86

     XFree86 обеспечивает виртуальный зкран, операции которого могут
испытать некоторые трудности при работе совместно с fvwm. В XFree86
все окна, размещенные на виртуальном экране, в действительности
находятся в видеопамяти (не зависимо от того - видно ли их на
физическом зкране - или нет), так что размер виртуального экрана
ограничен объемом свободной видеопамяти.

     В десктопе же fvwm окна не отображаемые на экране - не расходуют
видеопамять. Виртуальный десктоп занимает область 32.000 на 32.000
точек, но использование десктопа в 5 раз больше чем экран наверное не
практично. Следует отметить что объем используемой памяти зависит от
числа открытых окон и не зависит от размера десктопа.

     При запуске вместе с fvwm рекомендуется отключить XFree86
виртуальный экран посредством установки размера виртуального экрана
равного размеру физического экрана. После работы с fvwm Вы можете
вновь включить виртуальный экран XFree86.


     3. АВТОРСКИЕ ПРАВА

     С тех пор как fvwm использует код twm, он разделяет авторские
права twm.

     Авторское право на fvwm 1988 года имеет Evans и Sutherland
Computer Corporation, Salt Like City, Utah.

     Авторское право 1989 года имеет Massachusetts Institute of
Technology, Cambridge, Massachusetts.

     Авторское право 1993 и 1994 годов имеет Robert Nation.

     Все права защищены.

     Разрешается использование, копирование, изменение и
распространение этого программного продукта и этой документации с
любыми целями и без оплаты, если во всех копиях в сопровождающей
документации будут находиться как приведенные выше предупреждения об
авторских правах так и это объявление о разрешении, и при условии что
имена Evans & Sutherland и M.I.T. не используются в рекламных целях
при распространении программного обеспечения без предшествующего
письменного разрешения.

     4. АНАТОМИЯ ОКОН

     Fvwm помещает декоративную границу вокруг большинства окон. Она
состоит из линий с каждой стороны и из маленьких секций в виде "L" в
каждом углу. Сверху находится дополнительная линия заголовка,
содержащая название окна. Кроме того, в линии заголовка имеется 10
кнопок. Верхняя, нижняя и боковые линии все вместе известны как линии
рамки.Угловые участки называются каркасом.

     Если размеры по умолчанию не менялись, нажатие кнопки мыши 1 на
линии заголовка или рамке начинает операцию по перемещения окна.
Нажатие кнопки 1 в любом углу каркаса начинает операцию по изменения
размеров. Нажатие кнопки 2 в любом месте рамки вызывает обширный
список оконных операций.

     На линии заголовка может находиться до десяти кнопок. Их
назначение полностью определяется пользователем. По умолчанию линия
заголовка имеет кнопки с каждой стороны. Левая используется для вызова
списка опций окна, в котором кнопки мыши тоже используются. Правая
используется для иконизации окна. Число используемых кнопок в линии
заголовка зависит от действий мыши связанных с ними. См. ниже главу
/Параметры конфигурации мыши/.

     5. ВИРТУАЛЬНЫЙ ДЕСКТОП

     Fvwm обеспечивает множество виртуальных десктопов для
пользователей, желающих их использовать. Экран является видимым окном
в десктоп, который может быть больше экрана.

     Одновременно может быть доступно несколько различных десктопов
(по принципу: каждому проекту - свой десктоп, или, каждому приложению
- свой десктоп, причем приложения различны по внешнему виду). Так как
каждый десктоп может быть больше физического экрана, то окна большие
чем экран или большие группы связянных окон могут легко
просматриваться.

     Размер виртуального десктопа может задаваться в start-up - е. Все
десктопы должны быть одного размера. Общее количество различных
десктопов не определено, но ограничено примерно в 4 биллиона единиц.
Все окна на текущем десктопе могут быть показаны в Pager - е, в
миниатюрном виде. Окна не принадлежащие текущему десктопу могут быть
просмотрены вместе с их конфигурациями в списке окнон, доступном как a
"всплывающее" меню.

     "Липкие" окна - окна которые больше чем десктоп "прилипают к
стеклу экрана". Они всегда остаются на экране. Это удобно для объектов
типа часов и xbiff - ов, которымы Вы только должны управлять только в
одном экземпляре и он должен быть всегда доступен Вам.

     Конфигурация окна задаёт связь с текущим графическим устройством.
Это :

     xterm -geometry +0+0

будет всегда видно слева-вверху в углу видимой части экрана.
Разрешается определять конфигурации окон находящихся на десктопе но
вне экрана. Например, если видимый экран 1000 на 1000 точек, а размер
десктопа 3 на 3, и текущее графическое устройство в левом верхнем углу
десктопа, тогда вызов :

     xterm -geometry +1000+1000

разместит окно точно за нижним правым углом экрана. Оно может быть
найдено если переместить мышь за нижний правый угол зкрана, вызвав тем
самым скроллинг последнего. В данный момент невозможно вызвать окно на
карту десктопа иным образом.

     Спецификация типа :

     xterm -geometry -5-5

разместит окно на 5 точек левее и выше правого нижнего угла видимой
части экрана. Не все приложения поддерживают конфигурации с
отрицательными смещениями.

     Некоторые приложения, подобно xterm -у и xfontsel -у, позволяют
задавать начальные спецификации десктопа в командной строке:

     xterm -xrm "*Desk:1"

- будет запускать xterm на десктопе номер 1. Тем не менее, не все
приложения поддерживают такую опцию.


     6. ИНИЦИАЛИЗАЦИЯ

     При инициализации, fvwm ищет в файле конфигурации описания
клавиш, назначения кнопок мыши и т.п. Формат этого файла будет
приведен ниже. Сперва fvwm ищет фаил .fvwmrc в домашнем каталоге
польдователя. В случае неудачи, fvwm попытается найти и просмотреть
файл /usr/lib/X11/fvwm/system.fvwmrc с различной системной
информацией. Если же и такой файл не будет найден, fvwm закончит
работу.

     Fvwm устанавливает две переменные окружения, которые в дальнейшем
наследуются его потомками. Это переменная $DISPLAY - описывающая
дисплей с которым fvwm работает. $DISPLAY может иметь значение unix:
0.0 или :0.0, который работает хуже при доступе через rsh с другой
машины. Переменная $HOTDISPLAY содержит сетевое описание дисплея.
$HOTDISPLAY всегда используется TCP/IP протоколом доступа, так как это
позволяет применять Unix-domain сокеты, которые вообще-то быстрее.

     7. ФОРМА ОКОН

     Если Вы обычно пользуетесь окнами типа xeyes или oclock, Вам
доступно несколько опций. Вы можете сделать окна совсем неоформленными
(NoBorder и NoTitle, например) или Вы можете использовать конфигурацию
по умолчанию и оставить её оформление, при котором видны декоративная
рамка и сплошной цветной фон. Или, Вы можете скомпилировать SHAPE
расширение с изменённым флагом в Makefile, в этом случае Вы получите
окно без фона и с линией заголовка над окном. Расширения оконных форм
увеличивают потребление памяти оконным менеджером примерно на 60K при
всех неоформленных окнах, и еще немного больше при оформленных.

     8. ИКОНКИ

     При основная конфигурации fvwm, аналогично twm, использует
черно-белые графические иконки в формате bitmap. Если скомпилированы
XPM расширения, то могут использоваться цветные иконки как в ctwm,
MS-Windows, или Macintosh. Для этого Вам необходимо воспользоваться
XPM пакетом, как это описано в Makefile.noImake и Imakefile. Если и
ФОРМА и XPM выборы скомпилированы, Вы получите цветные иконки весьма
специфической формы.

     9. МОДУЛИ

     Модуль - отдельная программа выполняемая как отдельный
Unix-процесс но передающая в fvwm команды на выполнение. В последующих
реализациях ожидаются средства к модулям, позволяющие выделять оконную
информацию из fvwm. Пользователи смогут создавать свои собственные
модули с любыми жуткими или эксцентричными манипуляциями без
непосредственного воздействия на целостность fvwm.

     Модули ДОЛЖНЫ разделяться fvwm, поэтому возможна установка двух
каналов для связи fvwm с модулями. Каналы для модуля всегда могут быть
открыты при его запуске, причем файл описаний каналов указывается как
аргумент командной строки.

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

     Перед окончанием работы, fvwm закрывает каналы связи с активными
модулями и ожидает от модулей подтверждающего сообщения SIGCHLD,
означающего что модуль обнаружил закрытие канала, после чего fvwm
заканчивает работу. Если какой-либо модуль не может определить
закрытие канала, fvwm ожидает подтверждения примерно 30 секунд и в
любом случае заканчивает свою работу.

     Число одновременно выполняемых модулей ограничено максимальным
числом одновременно открытых файлов, что зависит от операционной
системы и обычно составляет 60 - 256 файлов.

     Модули просто передают текстовые команды на встроенный в fvwm
интерпретатор команд. Команды имеют такой же формат как и команды
работы с мышью в файле начальных установок .fvwmrc. Так же передается
вспомогательная информация, что продемонстрировано в модуле-примере
GoodStaff. Модуль GoodStaff имеет собственную документацию для man
page.

     10. СОВМЕСТИМОСТЬ С ICCCM

     Fvwm пытается быть совместимым с ICCCM 1.1. Что касается данного
fvwm (1.20l), то обработка цветов в нем не полностью совместима с
ICCCM. Кроме того, ICCCM требует предоставления приложениям
возможности получать ЛЮБЫЕ строки символов, что не приемлемо при
используемом подходе клавиатурных сокращений в fvwm и большинстве
других оконных менеджеров.

     11. M4 ПРЕПРОЦЕССИНГ

     При компиляции с опцией M4 fvwm использует m4(1) для
преобразования своих начальных данных перед грамматическим анализом.
Поэтому Вы можете пользоваться макросами m4 во время своей работы. Это
весьма облегчает работу на дисплеях с различными характеристиками.

     Например, Вы можете задавать цвета под стать Вашему настроению.
Этого можно добиться используя -m4opt. При светлом настроении
используйте -m4opt -DSunny; а при темном -m4opt -DDark. Ваш файл
.fvwmrc должен для этого содержать:

ifdef(`Sunny',`
StdForeColor     Black
StdBackColor     LightSkyBlue
HiForeColor      yellow
HiBackColor      PeachPuff1
PagerBackColor   BlanchedAlmond ')

ifdef(`Dark',`
StdForeColor     Black
StdBackColor     #60a0c0
HiForeColor      black
HiBackColor      #c06077
PagerBackColor   #5c54c0
PagerForeColor   orchid
StickyForeColor  Black
StickyBackColor  #60c0a0 ')

     В fvwm предопределены следующие символы для m4:

     BITS_PER_RGB

     Число значащих бит в RGB цвете.(Равно двоичному логарифму от
числа всех возможных цветов. Которое, вообще-то, отличется от числа
цветов которые можно одновременно показать на экране.)

     CLASS

     Класс Вашего изображения. Может возвращать одино из значений:
StaticGray, GrayScale, StaticColor, PseudoColor, TrueColor,
DirectColor, или, при невозможности определить, NonStandard.

     CLIENTHOST

     Машина на которой выполняются клиенты.

     COLOR

     Это просто сокращение от определения CLASS-а. Возвращает 'Yes'
для *Color и 'No' для StaticGray и GrayScale.

     FVWMDIR

     Устанавливает путь где хранятся конфигурации для инсталяции
модулей.

     FVWM_VERSION

     Строка с версией fvwm.

     HEIGHT

     Высота Вашего дисплея в точках.

     HOME

     Пользовательский домашний каталог. Получается из переменной
окружения.

     HOSTNAME

     Канонизированное имя хоста для выполнения приложений-клиентов
(т.е. CLIENTHOST с полной квалификацией).

     OPTIONS

     Строка опций используемых при компиляции. Опции разделены
пробелами.

     PLANES
     Число битовых плоскостей Вашего дисплея поддерживаемое
стандартным главным окном.

     RELEASE

     Номер выпуска Вашего X-сервера. Для MIT X11R5 оно равно 5.

     REVISION

     Проверка X-протокола низкого уровня. См. так же
ProtocolRevision(3).

     SERVERHOST

     Переменная с именем машины на которой работает X-сервер.

     TWM_TYPE

     Сообщает какой потомок twm работает. Для этой программы всегда
должна быть равна строке "fvwm". Используется для защиты частей Вашего
.twmrc файла которые fvwm не может правильно интерпретировать (типа
WorkSpace) и которые используются другими twm программами.

     USER

     Имя пользователя, запустившего программу. Получается из
переменной окружения.

     VENDOR

     Поставщик вашего X-сервера. Например: MIT X Consortium.

     VERSION

     Версия X-протокола высокого уровня. Смю так же
ProtocolVersion(3).

     WIDTH

     Ширина Вашего дисплея в точках.

     X_RESOLUTION

     Разрешение Вашего дисплея по оси X в точках на метр.

     Y_RESOLUTION

     Разрешение Вашего дисплея по оси Y в точках на метр.

     Хорошо изучив руководство по m4(1), Вы поймете что это весьма
мощное и полезное средство. Но если Вы используете хотя бы один из
предопределенных символов m4 - Вы находитесь в серьезной опасности!

     Например, Sun-овский m4 предопределяет имя include, и если Вы
используете это имя в Вашем .fvwmrc файле - Вам не повезло. Правильное
решение этой проблемы состоит в установке кавычек вокруг слова
'include'.

     Для иной интерпретации кавычек в m4 применяются опции -m4-squote
и -m4-equote. Во избежание недоразумений должны быть заданы обе опции.
При их задании, поправка в интерпретации макросов произойдет до
обработки пользовательского .fvwmrc фаила.

     ВНИМАНИЕ:

     Некоторые версии m4 по разному интерпретируют кавычки при
включении файлов.

     В SunOS 4.1.3, например, в строке "include(<file>>)" кавычки
выглядят как "<" и ">>" вокруг имени включаемого файла. Fvwm этого не
понимает.

     В GNU m4 есть дополнительные опции. При запуске fvwm со
спецификацией -m4-prefix, m4 добавляет префикс m4_ ко всем встроенным
макросам m4. Таким образом, например, include превращается в
m4_include.

     Возможности при препроцессировании m4 зависят от компиляции
определений M4.

     12. ОПЦИИ

     Fvwm распознает в командной строке следующие опции:

     -f config_file

     Задает config_file файл конфигурации оконного менеджера в
пользовательском домашнем каталоге. По умолчинию используется .fvwmrc
файл.

     -debug

     Назначает синхронный режим X-транзакций. Весьма замедляет работу,
но гарантирует что все сообщения об ошибках внутри fvwm будут
корректны.

     -d displayname

     Назначает работу с дисплеем с именем "displayname" вместо дисплея
с именем полученным из переменной окружения $DISPLAY.

     -s

     В многоэкранном дисплее, fvwm запустится только на экране с
именем полученном из переменной среды $DISPLAY или из опции -d. По
умолчанию, fvwm пытается запуститься на всех экранах многоэкранного
дисплея.

     -version

     Выдает версию fvwm на устройство stderr.

     Следующие опции доступны только если fvwm компилировался с M4
опциями.

     -no-m4

     Не использовать препроцессирование m4 файла .fvwmrc. По умолчанию
используется препроцесс m4(1) файла настроек.

     -m4-prefix

     Если доступен GNU m4, всем встроенным командам m4 добавляется
префикс m4_.

     -m4opt option

     Передает опции option в m4. Опцией может быть строка из любых
символов без пробелов. Могут попадаться одинаковые опции. При
использовании GNU m4 НЕ ПЕРЕДАВАЙТЕ здесь -P опции. Вместо этого
используйте -m4-prefix.

     -m4-squote string

     Использует полученную строку string как символ открывающих
кавычек. Употребляется в паре с опцией -m4-equote.

     -m4-equote string

     Использует полученную строку string как символ закрывающих
кавычек. Употребляется в паре с опцией -m4-squote.

     -m4prog path

     Задает через путь path место нахождения желаемого m4
препроцессора. По умолчанию, m4prog установлен в "m4" который должен
находиться в пользовательских путях. Позволяет явно задавать m4
необходимой версии.

     Файлы конфигурации

     Файл конфигурации используется для описяния работы с мышью,
цветов, размера виртуального экрана, и связанных объектов. В этой
части описываются опции конфигурации. Fvwm игнорирует линии
начинающиеся с '#'. В линиях начинающихся с '*' скорее ожидаются
команды для конфигурации модуля чем для самого fvwm непосредственно.

     AppsBackingStore

     Заставляет сохраняться окна приложения. Эта опция ставит под
угрозу ICCCM-соглашения в оконном менеджере. Хотя скорость на
X-терминале (где весьма накладно перерисовывать окна) может
увеличиться, эта опция не помогает на регулярной рабочей станции.

     AutoRaise delay

     Разрешает авто-активизацию окон и задает время задержки между
получением фокуса ввода и авто-активизацией. Эта опция работает в
режиме последовательной фокусировки мышью, и в режиме перключения
фокуса ввода с помощью внутреннего декоративного окошка. Вы можете
запретить активизацию окна для режима переключения фокуса, если
зададите отрицательное время задержки.

     BackingStore

     Заставляет сохраняться fvwm-оформление. См. так же
AppsBackingStore.

     BoundaryWidth Width

     Задает ширину линий в оформлении окон. По умолчанию равно 6
точек. Команда Style обеспечивает другой (более общий) метод
определения BoundaryWidth.

     ButtonStyle button# WidthxHeight

     Определяет прямоугольную декоративную форму, используемую
кнопками линии заголовка. button# - номер кнопки линии заголовка - от
0 до 9. Описание номеров кнопок линии заголовка дается за "секцией
мыши". Ширина и высота задаются, соответственно, в процентах от полной
используемой ширины и полной используемой высоты кнопки. Отрицательные
числа приводят к инвертированию тени.

     Кроме того, в линии типа:

     ButtonStyle : 2 4 50x30@1 70x70@0 30x70@0 50x30@1

- оформление кнопки 2 будет происходить по образцу из 4-х пунктов,
состоящему из линий от (x=50,y=30) до (70,70) с теневым цветом (@0),
далее до (30,70) с теневым цветом, и до (50,30) с основным цветом
(@1). Не очень пышно? См. пример system.fvwmrc.

     CenterOnCirculate

     При смене окон, страница десктопа содержащая окно, на которое
перемещается указатель, выбирается автоматически. Если
CenterOnCirculate выбран, fvwm наилучшим способом сосредотачивается на
окне viewport-а десктопа, а не просто подымает ближайшую страницу.

     CirculateSkip windowname

     Заставляет функции circulate-up или circulate-down пропускать
окна с обозначенным именем. Windowname может быть именем окна или
класса.

     Команда Style обеспечивает другой (более общий) метод определение
CirculateSkip.

     CirculateSkipIcons

     Заставляет операции смены и изменения пропускать иконизированные
окна.

     ClickTime delay

     Определяет максимальную задержку delay ( в миллисекундах ) между
нажатием и отжатием кнопки для встроеной функции работы мышью.
Задержка по умолчанию состовляет 150 милисекунд.

     ClickToFocus

     Обычно ввод с клавиатуры направлен в окно, на котором находится
указатель мыши. Если эта опция установлена, ввод с клавиатуры остается
в окне пока не случится щелчек мыши при указателя, находящемся в ином
окне.

     Cursor cursor_num cursor_type

     Эта опция весьма неуклюже изменяет стиль курсора.

     Параметр cursor_num сообщает, который курсор Вы изменяете. Он
является одним из ниже-перечисленных номеров от 0 до 16:

0 POSITION      - используется при начальном размещении окон.
1 TITLE         - используется в линии заголовка окна.
2 DEFAULT       - используется в окнах, не устанавливающих свой
                  собственный курсор.
3 SYS           - используется в одной из кнопок линии заголовка.
4 MOVE          - используется при операциях перемещения или изменения
                  размера окон.
5 WAIT          - используется во время выполнения какой-либо
                  внутренней команды.
6 MENU          - используется в меню.
7 SELECT        - используется для различных встроенных комманд типа
                  иконизации.
8 DESTROY       - используется для уничтожения и удаления встроенных
                  обьектов.
9 TOP           - используется в линии верхней стороны окон.
10 RIGHT        - используется в линии правой стороны окна.
11 BOTTOM       - используется в линии нижней стороны окна.
12 LEFT         - используется в линии левой стороны окна.
13 TOP_LEFT     - используется в верхнем левом углу окна.
14 TOP_RIGHT    - используется в верхнем правом углу окна.
15 BOTTOM_LEFT  - используется в нижнем левом углу окна.
16 BOTTOM_RIGHT - используется в нижнем правом углу окна.

     Параметр cursor_type сообщает номер используемой форма курсора.
Возможные номера могут быть найдены в файле
/usr/include/X11/cursorfont.h. В настоящее время возможны следующие
типы курсора с номерами между 0 и 152:

0   X_cursor                    2 arrow
4   based_arrow_down            6 based_arrow_up
8   boat                       10 bogosity
12  bottom_left_corner         14 bottom_right_corner
16  bottom_side                18 bottom_tee
20  box_spiral                 22 center_ptr
24  circle                     26 clock
28  coffee_mug                 30 cross
32  cross_reverse              34 crosshair
36  diamond_cross              38 dot
40  dotbox                     42 double_arrow
44  draft_large                46 draft_small
48  draped_box                 50 exchange
52  fleur                      54 gobbler
56  gumby                      58 hand1
60  hand2                      62 heart
64  icon                       66 iron_cross
68  left_ptr                   70 left_side
72  left_tee                   74 leftbutton
76  ll_angle                   78 lr_angle
80  man                        82 middlebutton
84  mouse                      86 pencil
88  pirate                     90 plus
92  question_arrow             94 right_ptr
96  right_side                 98 right_tee
100 rightbutton               102 rtl_logo
104 sailboat                  106 sb_down_arrow
108 sb_h_double_arrow         110 sb_left_arrow
112 sb_right_arrow            114 sb_up_arrow
116 sb_v_double_arrow         118 shuttle
120 sizing                    122 spider
124 spraycan                  126 star
128 target                    130 tcross
132 top_left_arrow            134 top_left_corner
136 top_right_corner          138 top_side
140 top_tee                   142 trek
144 ul_angle                  146 umbrella
148 ur_angle                  150 watch
152 xterm

     DecorateTransients

     Заставляет временные окна, которые обычно остаются не
оформленными, принимать стандартное оформление окон в fvwm. Обратите
внимание что некоторые всплывающие окна, типа xterm меню, не
управляются оконным менеджером и не изменяют своего оформления.

     DeskTopScale Scale

     Определяет масштаб виртуального десктопа относительно экрана.

     DeskTopSize HorizontalxVertical

     Определяет размер виртуального десктопа в единицах физического
размера экрана.

     DontMoveOff

     Запрещает окнам перемещаться или исчезать на десктопе. Некоторые
программы будут некорректно работать с этой опцией. Она только
сохраняет окна от полной потери за краем десктопа. Опция настаивает на
сохранении на десктопе хотя бы 16 точек окна но не заботится о
хранении окна в целом. См. EdgeResistance если Вы не хототе видеть на
экране куски окон.

     EdgeResistance scrolling moving

     Сообщает, как быстро должен скроллироваться экран десктопа при
перемещении указателя мыши за край экрана, и как быстро должны
перемещаться окна за край экрана.

     Первый параметер сообщает время задержки в миллисекундах между
достижением указателем мыши края экрана и началом скроллинга экрана
посредством fvwm. Это предназначено для людей, использующих
"EdgeScroll 100 100" но, тем не менее, не желающих, чтобы их окно
случайно перелистывалось.

     Второй параметр сообщает сколько точек должно попасть за край
экрана при движении окна, прежде чем оно фактически переместится
частично за экран.

     Обратите внимание что с "EdgeScroll 0 0 " все еще возможно
перемещать окна или менять их размер поперек края текущего экрана.

     При создании первого параметра EdgeResistance 10000 этот тип
перемещения невозможен. При EdgeResistance меньше чем 10000 но больше
чем 0 перемещение по страницам становится просто трудным но возможным.

     EdgeScroll horizontal vertical

     Определяет величину скроллинга страницы в процентах от её размера
при достижении курсором края страницы. Если Вы не хотите использовать
подобный эффект - включите "EdgeScroll 0 0" в Ваш .fvwmrc файл. Если
же Вы хотите листать постранично - используйте "EdgeScroll 100 100". И
horisontal и vertical должны быть положительными числами.

     Если horisontal и vertical проценты умножены 1000 тогда скроллинг
будет закрывать край десктопа. Если используется "EdgeScroll 100000
100000", fvwm будет скроллировать целые страницы, закрывающие край
десктопа.

     Font fontname

     Устанавливает для fvwm шрифт fontname вместо шрифта "fixed" в
меню, индикаторах изменения размера, и метках иконок (если IconFont не
задан).

     Function FunctionName

     Начинает определение сложной функции, состоящей из встроеных
функций fvwm, которая позже будет обрабатывать кнопку мыши или клавишу
клавиатуры. Имя FunctionName должно быть заключено в кавычки.
Составляющие функции содержатся на строках, следующих после строки с
ключевым словом Function. Определение заканчивается ключевым словом
EndFunction. Составляющие функции определяются как показано в
следующем примере. В каждой строке первым словом является имя
встроенной функции, которая будет выполняться, за ней следует
(заключенный в кавычки) тип события активирующего данную встроенную
функцию, и далее записываются любые аргументы необходимые этой
функции.

     Меню могут быть определены посредством встроенного Popup так же
как было определено ранее в файле конфигурации.

     Распознаются следующие действия: Immediate - немедленное, Motion
- перемещение мыши, Click - однократный и DoubleClick - двукратный
щелчек кнопкой мыши. Для немедленного действия fvwm активирует
функцию, даже если окно не было выделено. Если же действе не
немедленное,fvwm будет ожидать от пользователя либо щелчка, либо
двойного щелчка кнопкой мыши, либо перемещения мыши.


     Так, например, если была организована обработка кнопки 1 в линии
заголовка окна, то при нажатии кнопки 1, fvwm будет ожидать отжатия
кнопки в течение 150 миллисекунд. Если кнопка не будет отжата, fvwm
начнет операцию перемещения. Вызванная операция будет завершена по
окончании перемещения. Если будет замечено отжатие кнопки, fvwm
подождет еще 150 миллисекунд до следующего щелчка. Если окажется
замеченным только один щелчек, окно будет активировано.

     Если замечены два щелчка, окно будет поочередно активировано и
дезактивировано. 150 миллисекундная продолжительность задержки может
быть изменена с помощью опции ClickTime.

     Function "Move-or-Raise"
      Move       "Motion"
      Raise      "Motion"
      Raise      "Click"
      RaiseLower "DoubleClick"
     EndFunction

     Концепция одинарного и двойного щелчков не использует комбинаций
клавиш клавиатуры.

     Существуют две специальные функции: InitFunction и
RestartFunction. InitFunction вызывается при запуске fvwm в начале
любой X-сессии и может использоваться при запуске модулей, установке
образцов фона, и в начале программ. RestartFunction вызывается при
перезапуске fvwm. Она может использоваться при запуске модулей и
установке образцов фона, но, вероятно, не может применяться в начале
программ.

     HiBackColor colorname

     Устанавливает цвет фона colorname для активного окна. При работе
с монохромным монитором эта опция игнорируется и используется белый
цвет фона.


     HiForeColor colorname

     Устанавливает цвет colorname для элементов активного окна. При
работе с монохромным монитором эта опция игнорируется и используется
черный цвет.

     Icon windowname bitmap-file

     Определяет картинку в формате bitmap используемую при иконизации
данного окна. Имя windowname может быть именем окна приложения или
именем класса и должно быть заключено в кавычки. Имя bitmap-file
должно быть именем файла в стандартном X11 bitmap формате либо с
указанием полного пути доступа к нему, либо находящегося в путях
IconPath или PixmapPath. Определенные bitmap/pixmap предпочтительно
используются для разного рода иконок поставляемых самим окном.

     Если fvwm компилируется с поддержкой XPM для цветных иконок то
bitmap может быть XPM pixmap файлом.

     Имя windowname - должно быть заключено в двойные кавычки, но
bitmap-file - не должно. Переменные среды не длжны использовать
bitmap-file спецификацию.

     Если widowname пустая строка то определяемый файл является
иконкой по умолчанию и может быть использован если не найдется других
bitmap или pixmap иконок:

     Icon "" my-favorite-icon

     Команда Style предоставляет другой (более общий) способ
определения иконок.

     IconBox left top right bottom

     Определяет область экрана в которой распологается иконка. Может
быть определено до четырех мест. При заданном IconBox иконка, если это
возможно, автоматически располагается в нем. При иконизации окна
каждый раз ищется новое место.

     Свободное место для иконки ищется сперва слева направо, затем
сверху вниз. Иконки не могут автоматически размещаться на других
иконках, но они могут быть помещены под окнами приложений. Если слева
и справа места нет, fvwm увеличит ширину экрана. Если нет места сверху
и снизу, fvwm увеличит высоту экрана.

     ВНИМАНИЕ: -0 не различается как правая нижняя точка экрана.
Вместо него Вы должны использовать -1.

     Если IconBox не определен или все места заняты, fvwm разместит
иконку рядом с текущим положением указателя.

     IconFont fontname

     Определяет шрифт fontname для меток икон. Если fontname опущено,
вместо него будет использован фонт меню, заданный при определении
параметров Font конфигурации.

     IconPath path

     Задает список path разделенных двоеточием полных путей к
директориям, в которых могут быть найдены bitmap иконки. Каждый путь
должен начинаться со слэша.

     ВНИМАНИЕ: если при построении fvwm включены пути для M4, то M4
будет искажать слово "include" которое будет часто обнаруживаться в
командах IconPath или PixmapPath. Для устранения этого добавьте
undefine(`include') до команды IconPath.

     Key keyname Context Modifiers Function

     Связывает клавишу клавиатуры с заданной встроенной fvwm функцией.
Определение такое же как и при работе с мышью, но здесь номер кнопки
мыши заменяется на именем клавишы. Имя keyname - одно из входящих в
/usr/include/X11/keysymdef.h, с опущенным предшествующим XK_. Поля
Context и Modifiers определяются так же как и при работе с мышью.

     Связь клавиши с кнопкой линии заголовка не заставит эту кнопку
появиться если нет работы с мышью.

     Снисходительность к ICCCM

     ICCCM заявляет что если приложение установит значение поля ввода
в структуре wm_hints равное False, то оконный менеджер никогда не
сможет получить его фокус ввода. Единственное приложение которое Я
знаю и которое требует этого - sxpm, но это просто глупая ошибка с
тривиальным способом её устранения и она не оказывает ни какого
эффекта на какую бы то ни было программу. Ходят слухи, что некоторые
более старые приложения страдают аналогичными проблемами.

     Если этот параметр установлен, fvwm будет игнорировать данное
ICCCM соглашение.

     MenuBackColor colorname

     Устанавливает цвет фона меню. При использовании monochrome эта
опция игнорируется. Опция доступна только если fvwm компилируется с
определенным MENUCOLOR.

     MenuForeColor colorname

     Устанавливает цвет элементов меню. При использовании monochrome
эта опция игнорируется. Опция доступна только если fvwm компилируется
с определенным MENUCOLOR.

     MenuStippleColor colorname

     Устанавливает цвет для затененных участков меню (для функций,
недоступных в текущем активном меню).При использовании monochrome эта
опция игнорируется и используется stipple образец. Опция доступна
только если fvwm компилируется с определенным MENUCOLOR.

     Module ModuleName

     Определяет модуль который должен быть выделен во время
инициализации. В настоящее время доступными являются модули:
FvwmAudio, FvwmBacker, FvwmBanner, FvwmClean, FvwmDebug, FvwmIconBox,
FvwmIdent, FvwmPager, FvwmSave, FvwmSaveDesk, FvwmScroll, FvwmWinList
и GoodStuff. Эти модули имеют свой собственный man page. Модуль также
может использоваться как встроенный.

     Модули могут быть коротко-живущими временными программы или,
подобно GoodStuff, могут оставаться на всё время X-сессии. Оконный
менеджер будет, по возможности, завершать работу модулей при своих
собственных перезапуске и завершении. См. секцию введения о модулях.

     ModulePath

     Задает список разделенных двоеточием полных путей к директориям,
в которых fvwm ищет предназначенные для загрузки модули. Отдельные
директории не нуждаются в последнем закрывающем слэше.

     Mouse Button Context Modifiers Function

     Определяет работу с мышью. Button - номер кнопки мыши. При Button
равном нулю указанная функция будет вызываться по любой кнопке мыши.
Context описывает куда устанавливается связь. Разрешены следующие
значения для Context: R для корневого окна, W для окна приложения, T
для линии заголовка окна, S для боковой, верхней или нижней линии
окна, F для a оконной рамки (углы), I для иконки, или от 0 до 9 для
кнопок линии заголовка, или любая комбинация этих символов. Значение A
- для любого контекста кроме кнопок линии заголовка. Например,
контекст FST может применяться когда мышь гне-нибудь на границе окна
кроме кнопок линии заголовка.

     Модификаторы - любая комбинация из следующих символов: N -
никаких модификаторов, C - для клавиши Control, S - для клавиши Shift,
M - для клавиши Meta, или A - для любого модификатора. Например, a
модификатор SM будет применяться когда нажаты и Meta и Shift.
Модификаторы X11 от mod1 до mod5 представлены как цифры от 1 до 5.

     Функция - одна из внутренних функций fvwm.

     Кнопки линии заголовка занумерованы нечетными номерами с левой
стороны линии заголовка и четными номерами - с правой. Кнопки с
меньшими номерами находятся ближе к краю окна, а кнопки с большими
номерами находятся ближе к центру окна. В итоге кнопки перечисляются
так:

     1 3 5 7 9        0 8 6 4 2

     Обрабатываемая кнопка с наибольшим нечетным номером - определяет
число кнопок показываемых с левой стороны линии заголовка.
Обрабатываемая кнопка с наибольшим четным номером - определяет число
кнопок показываемых с правой стороны линии заголовка. Разного рода
действия могут быть привязаны к кнопкам мыши либо к клавишам
клавиатуры.

     MWMBorders

     Подменяет MWM стиль 1-точечных широких рельефных линий на
fvwm-овские 2-х точечные границами.

     MWMButtons

     Отменяет, как в MWM, обратную связь на нажатие кнопки для всех
декораций кроме линии заголовка и её кнопок.

     MWMDecorHints

     Заставляет fvwm читать MOTIF_WM_HINTS атом окна приложения, и,
разобравшись в нем пытаться оформлять окна так как это делает Motif.
Обратите Внимание что mwm позволяет функции намекать на действия
связянные с оформлением окна но этот эффект не воспроизводится этой
опцией.

     MWMFunctionHints

     Заставляет fvwm читать MOTIF_WM_HINTS атом окна приложения, и,
разобравшись в нем пытаться выполнять доступные функции окна так как
это делает Motif. В отличие от mwm, который удаляет запрещенные
функции из меню окна, fvwm просто затеняет такие функции. Также,
потому что fvwm так выполняет некоторые функции в определенных
пользователем макросах как mwm выполняет свои внутренние функции,
добавление запрещенных функций частично основано на метке пункта меню.

     MWMHintOverride

     При использовании MWMFunctionHints максимизация и иконифизация
для временных процессов запрещены. Также, окна могут указывать
менеджеру окон что он не должен уничтожать или удалять их. Так как эти
MWM правила по детски глупы, особенно в отношении временных окон, Я
ввел MWMHintOverride опцию. При её использовании те пункты меню,
которые MWM запретил бы использовать, будут только затенены, и
пользователь может и далее выбирать эти пункты и всё будет работать
как и ожидается.

     Override должен использоваться осторожно так как некоторые
приложения будут прерываться если Вы игнорируете их mwm намеки.

     MWMMenus

     Заменяет MWM вид и нитерфейс меню на стандартную fvwm версию. Эта
опция также переключает несколько других mwm-подобных опций, типа
сосредоточения size/resize окна на экране, вместо ухода его в влево
вверх, и переключателей resize-on-initial-placement переключающих на
действие shift-button-1 вместо twm-овского pressbutton-2.

     NoBorder windowname

     Предохраняет fvwm от наложения декоративный рамки на окна с
именами windowname. Команда не оказывает никакого никакой эффекта на
линию заголовка. Это удобно для часов и подобных им приспособлений
которым Вы не хотите отводить много места. Windowname может быть
именем окна или класса.

     Если Вы определяете и NoBorder windowname и NoTitle windowname
для того же самого окна в вашем .fvwmrc файле, окно будет совсем не
оформлено.

     Windowname может содержать шаблоны "*" и "?" с которыми имена
окон будут интерпретироваться подобно именам файлов в операционной
системе Unix. Фактически, символы "*", "?", и "\" в именах окон могут
быть введены с предшествующим символом "\".

     Команда Style предоставляет другой (более общий) способ
определения NoBorder.

     NoBoundaryWidth Width

     Изменяет ширинeу оформлений для окон без заглавий границ. По
умолчанию равна 1 Приемлемо любое неотрицательное значение.

     Оформление таких неукрашенных окон имеет такой же контекст как
линии сторон нормального оформленного окна.

     Команда Style предоставляет другой (более общий) способ
определения NoBoundaryWidth.

     NoPPosition

     Заставляет fvwm игнорировать поле PPosition при добавлении новых
окон. Приверженность к полю PPosition требуется в некоторых
приложениях, и если Вы не имеете ни одного из них то зто, наверное,
действительно тихий ужас.

     NoTitle windowname

     Предохраняет fvwm от размещения линии заголовка в окнах с именами
windowname. Это удобно для часов и подобных им приспособлений которым
Вы не хотите отводить много места. Windowname может быть именем окна
или класса.

     Windowname может содержать шаблоны "*" и "?" с которыми имена
окон будут интерпретироваться подобно именам файлов в операционной
системе Unix. Фактически, символы "*", "?", и "\" в именах окон могут
быть введены с предшествующим символом "\".

     Команда Style предоставляет другой (более общий) способ
определения NoTitle.

     OpaqueMove percentage

     Сообщает fvwm максимальный размера окна с которым возможно
перемещение всего окна целиком. Percentage - процент от общего площади
экрана. С "OpaqueMove 0" все окна будут перемещаться традиционным
способом: сперва перемещается только рамка, затем на выбранном месте
окно перерисовывается заново. С "OpaqueMove 100" все окна будут
перемещаться как твердые окна, целиком. По умолчанию установлено
"OpaqueMove 5", которое позволяет маленьким окнам перемещаться
целиком, а большим окнам - способом, описаным выше.

     OpaqueResize

     Заставляет операции изменения работать непосредственно с самим
окном вместо его схемы.

     Pager X_Location Y_Location

     Включает постраничный способ перемещения по десктопу. Окно Pager
(не всплывающее) будет появляться в (X_Location, Y_Location). Pager
показывает миниатюрные модели всех окон на десктопе. Цвет этих моделей
такой же как и цвет границ у полно-размерных окон.

     В окне Pager, по нажатию кнопки 1 мыши становится возможным
перемещение графического окна десктопа в выбранную страницу (в режиме
click-to-focus; так же возможно перемещение с помощью клавиатуры
миниатюры выбранного Вами окна).

     Нажатием кнопки 2 окне Pager начинается перемещение окна,
используя миниатюру можно быстро переместить окно в любое место
десктопа. Нажатие кнопки 3 перемещает левый верхний угол графического
окна десктопа к местоположению нажатия кнопки, даже если оно не
выравнивается со страницей. Перемещением кнопки 3 можно двигать
выбранное графическое окно десктопа так же как Вы двигаете указатель
мыши. Pager - автоматически закрепляется но совсем не автоматически
остается наверху.

     PagerForeColor colorname

     Устанавливает основной цвет окна pager в colorname вместо
черного. Этот цвет используется для выделения яркостью текущего
графического окна десктопа в окне pager. На монохромном экране эта
опция игнорируется. Если при создании fvwm была установлена опция
NO_PAGER то опция PagerForeColor недоступна.

     PagerBackColor colorname

     Устанавливает цвет фона окна pager в colorname вместо белого. На
монохромном экране эта опция игнорируется. Если при создании fvwm была
установлена опция NO_PAGER то опция PagerForeColor недоступна.

     PagerFont fontname

     Делает используемый fvwm фонт fontname для записи имен иконок в
представлени окна pager. Если эта опция опущена, названия окон в окне
pager не выводятся.

     PagingDefault pagingdefaultvalue

     Сообщает fvwm должен ли он запускаться с включенным или
выключенным режимом paging. При "PagingDefault 0" режим paging будет
отключен; при "PagingDefault 1" - режим paging будет включен. Это
значение установлено по умолчанию.

     PixmapPath path

     Задает список path разделенных двоеточием полных путей к
директориям, в которых могут быть найдены pixmap (цветные) иконки.
Каждый путь должен начинаться со слэша.


     Popup PopupName

     Начинает определение a всплывающего меню которое позже будет
связано с кнопкой мыши или клавишей клавиатуры. Имя PopupName должно
быть заключено в кавычки. Элементы меню содержатся в строках,
следующих за строкой с ключевым словом Popup. Определение меню
заканчивается ключевым словом EndPopup. Элементы меню определены как
показано в следующий пример. В каждой строке первым словом является
имя встроенной функции, которая будет выполнена, за ней следует
(заключенный в кавычки) заголовок, которай будет показан в меню, за
ним записываются любые аргументы необходимые этой функции.

     Под-меню может быть определено как с использованием встроенного
Popup так и с помощью определения ранее в файле конфигурации.

     Popup "Window Ops"
      Title   "Window Ops"
      Move    "Move"
      Resize  "Resize"
      Raise   "Raise"
      Lower   "Lower"
      Iconify "(De)Iconify"
      Nop     " "
      Destroy "Destroy"
      Title   "HARDCOPY"
      Exec    "Hardcopy"  exec xdpr &
      Exec    "Hardcopy RV"  exec xdpr -rv &
     EndMenu

     Обратите внимание что если символ табуляции вложен в заголовок
начала меню, текст в меню после символа табуляции будет выведен со
следующего столбца и все меню будет выравнено влево. Это предназначено
для кратких пометок. Символ табуляции действительно должен быть
табуляцией. Если его заменить на пробелы то это не сработает!
Например:

     Popup "Window Ops"
      Title   "Window Ops  Alt-F1"
      .
      .
      .

     Зто начало выравненого влево меню. Alt-F1 будет размещено у
правой стороны меню.

     Горячие клавиши могут быть заданы в определении меню через
предшествующий символу амперсенд (&).

     Символ & будет не виден но символ после него будет изображен
подчеркнутым, и если пользователь нажимает соответствующую клавишу -
данный пункт меню будет активирован так же как и при выборе его
щелчком мыши. Как горячие клавиши могут использоваться только буквы
алфавита и цифры. Состояние клавиши shift игнорируется при
использовании горячих клавиш. Например:

     Popup "Window Ops"
      Maximize "Ma&ximise" 100 100
     EndMenu

     При активации этого меню 'x' будет подчеркнуто и нажатие на
клавишу 'x' заставит текущее окно максимизироваться.

     Горячие клавиши не действуют если MENU_HOTKEYS не был определен
при создании fvwm. Если к тому же был определен WINDOWLIST_HOTKEYS
тогда горячие клавиши автоматически добавляются в WindowList при его
показе.

     RandomPlacement

     Заставляет окна, которые обычно требуют своего размещения у
пользователя, размещаться автоматически в случайно-выбранных местах.
Лучше всего использовать RandomPlacement и SmartPlacement.

     SaveUnders

     Заставляет fvwm сохранять в памяти старое изображение под
графическими объектами при их создании и перемещении. Это может
значительно улучшить цельное перемещение окон и др. объектов но
черевато существенным увеличением расходуемой памяти.

     SloppyFocus

     Этот режим фокусировки подобен focus-follows-mouse (по умолчанию)
за исключением того, что фокус не будет удален из окна пока ваша мышь
не войдет в новое окно. Покидание окна и переход в главное окно будет
оставлять фокус ввода неизменным.

     SmartPlacement

     Заставляет окна, которые обычно требуют своего размещения у
пользователя, размещаться автоматически в наилучших местах - там где
они не накладываются на другие окна. Если такого места нет - окна
будут размещаться случайно используя метод отступления (fall-back).
Лучше всего использовать RandomPlacement и SmartPlacement.

     StartsOnDesk windowname desk-number

     Эта команда заставляет окна или класс с именем windowname сперва
помещать на десктоп свой desk-номер. Windowname должен быть заключен в
двойные кавычки. Если окно требует диалогового размещения, схема будет
показана на текущем месте но окно будет появляться в указанном месте.

     Windowname может содержать шаблоны "*" и "?" с которыми имена
окон будут интерпретироваться подобно именам файлов в операционной
системе Unix. Фактически, символы "*", "?", и "\" в именах окон могут
быть введены с предшествующим символом "\".

     Команда Style предоставляет другой (более общий) способ
определения StartsOnDesk.


     StaysOnTop windowname

     Эти окна всегда пытаются остаться над другими окнами. Это могло
бы быть удобно для часов или почтовых ящиков, которые Вы хотели бы
видеть всегда. Если окно понижено явным способом то оно не будет
пробиваться наверх пока его не поднимут опять же явным способом.

     Windowname может быть именем a окна или класса.

     Windowname может содержать шаблоны "*" и "?" с которыми имена
окон будут интерпретироваться подобно именам файлов в операционной
системе Unix. Фактически, символы "*", "?", и "\" в именах окон могут
быть введены с предшествующим символом "\".

     Команда Style предоставляет другой (более общий) способ
определения StaysOnTop.

     StdBackColor colorname

     Устанавливает цвет фона colorname для меню и невыбираемых пунктов
меню. При использовании монохромного экрана эта опция игнорируется и
используется белый цвет.

     Команда Style предоставляет другой (более общий) способ
определения StdBackColor.

     StdForeColor colorname

     Устанавливает основной цвет colorname для меню и невыбираемых
пунктов меню. При использовании монохромного экрана эта опция
игнорируется и используется черный цвет.

     Команда Style предоставляет другой (более общий) способ
определения StdForeColor.

     StickyBackColor colorname

     Устанавливает цвет фона colorname для меню и невыбираемых пунктов
sticky меню. При использовании монохромного экрана эта опция
игнорируется и используется белый цвет. Доступна только если
-DMORE_COLORS использовался при компиляции.

     Команда Style предоставляет другой (более общий) способ
определения StickyBackColor.

     StickyForeColor colorname

     Устанавливает основной цвет colorname для меню и невыбираемых
пунктов sticky меню. При использовании монохромного экрана эта опция
игнорируется и используется черный цвет. Доступна только если
-DMORE_COLORS использовался при компиляции.

     Команда Style предоставляет другой (более общий) способ
определения StickyForeColor.

     Sticky windowname

     Sticky окна "приклеиваются к стеклу экрана." Т.е. они не
перемещаются вместе с графическим окном виртуального десктопа.
Windowname может быть именем окна или класса.

     Windowname может содержать шаблоны "*" и "?" с которыми имена
окон будут интерпретироваться подобно именам файлов в операционной
системе Unix. Фактически, символы "*", "?", и "\" в именах окон могут
быть введены с предшествующим символом "\".

     Команда Style предоставляет другой (более общий) способ
определения Sticky.

     StickyIcons

     Заставляет изображения всегда придерживаться стекла экрана. Т.е.
изображения всегда следуют за Вами по десктопу. Пока окно не
иконифизировано, оно не придерживается стекла экрана.

     StubbornIcons

     Изменяет поведение картинок при деиконифизации. Вместо наличия
окон всегда деиконифизирующихся непосредственно на текущей страница
они деиконифизируются в их первоначальном положении.

     StubbornIconPlacement

     Когда используется с IconBoxes, заставляет иконки избегать
занимать место ниже существующих окон.

     StubbornPlacement

     При использовании SmartPlacement, заставляет новые окна избегать
занимать место поверх иконок.

     Style windowname options

     Эта команда предназначена чтобы заменить команды NoBorder,
NoTitle, StartsOnDesk, Sticky, StaysOnTop, Icon, WindowListSkip,
CirculateSkip, SuppressIcons, BoundaryWidth, NoBoundaryWidth,
StdForeColor и StdBackColor единой гибкой и разносторонней командой.
Она используется для установки значений атрибутов окон отличных от
значений по умолчанию либо для установки умолчаний оконного менеджера.

     Windowname может быть a именем окна, класса или строкой ресурсов.

     Оно может содержать символы шаблонов "*" и "?", которые
интерпретируются аналогично соглашениям принятым для имен файлов в
операционной системе Unix.

     Options - список опций, разделяемых запятыми. В списке могут быть
некоторые либо все из следующих ключевых слов: BorderWidth,
HandleWidth, NoIcon/Icon, NoTitle/Title, NoHandles/Handles,
WindowListSkip/WindowListHit, CirculateSkip/CirculateHit,
StaysOnTop/StaysPut, Sticky/Slippery, StartIconic/StartNormal, Color,
ForeColor, BackColor, StartsOnDesk/StartsAnyWhere,
IconTitle/NoIconTitle и NoButton/Button.

     В вышеупомянутом списке некоторые опции записаны как прямая опция
/ обратная опция. Обратные опции позволяют изменить значение настроек
fvwm установленных по умолчанию.

     Icon принимает (необязательно) строку аргументов без кавычек -
имя используемого файла с иконкой bitmap либо pixmap.

     StartsOnDesk принимает числовой аргумент - номер десктопа на
котором окно должно размещается при инициализации.

     BorderWidth принимает числовой аргумент - ширину границы для
размещения окна не имеющего изменяющего размер заголовка.

     HandleWidth принимает числовой аргумент - ширину границы для
размещения окна имеющего изменяющий размер заголовок.

     Button и NoButton принимают числовой аргумент - номер кнопки
линии заголовка которая будет включена / пропущена.

     Color принимает два аргумента. Первый - цвет текста меток окна,
второй - обычный цвет фона в оформлении окна. Оба цвета разделяются
слэшем. Если использование слэша вызывает проблемы, можно
воспользоваться отдельными опциями ForeColor и BackColor.

     Пример:

# Ввести в fvwm по умолчание окона без линий заголовков!
# Аналогично определить иконки по умолчанию.
Style "*" NoTitle,Icon unknown1.xpm, BorderWidth 4,HandleWidth 5

# далее, изменения определениий окон:
Style "Fvwm*"       NoHandles, Sticky, WindowListSkip, BorderWidth 0
Style "Fvwm Pager"  StaysOnTop, BorderWidth 0
Style "*lock"       NoHandles, Sticky, StaysOnTop, WindowListSkip
Style "xbiff"       Sticky, WindowListSkip
Style "GoodStuff"   NoHandles, Sticky, WindowListSkip
Style "sxpm"        NoHandles
Style "makerkit"

# Размещение линии заголовка поддерживать только на X-терминалах!
Style "xterm"     Title, Color black/grey
Style "rxvt"      Icon term.xpm
Style "xterm"     Icon rterm.xpm
Style "xcalc"     Icon xcalc.xpm
Style "xbiff"     Icon mail1.xpm
Style "xmh"       Icon mail1.xpm, StartsOnDesk 2
Style "xman"      Icon xman.xpm
Style "matlab"    Icon math4.xpm, StartsOnDesk 3
Style "xmag"      Icon magnifying_glass2.xpm
Style "xgraph"    Icon graphs.xpm
Style "GoodStuff" Icon toolbox.xpm
Style "Maker"     StartsOnDesk 1
Style "signal"    StartsOnDesk 3

     Обратите внимание что все свойства для окон будут объединены
вместе. В вышеупомянутом примере "FvwmPager" получает свойства через
StaysOnTop - точное имя соответствующего окна но также получает
NoHandles, Sticky и WindowListSkip из-за соввпадения с "Fvwm*". Будет
получено NoTitle из-за совпадения с "*". Если для окна определены
противоречащие стили, то будет использоваться последний указанный
стиль.

     Если выставлен атрибут NoIcon, указанное окно при иконизации
будет просто исчезать. Окно может быть восстановлено через список
окон. Если Icon задано без аргумента, атрибут NoIcon сбрасывается но
никакая иконка не задается. Пример позволяющий существовать только
иконкам модулля FvwmPager:

Style "*" NoIcon
Style "Fvwm Pager" Icon

     SuppressIcons

     Подавляет создание и отображение иконок окон.

     При использовании со списком окон представлляет из себя
своеобразный менеджера иконок.

     Команда Style обеспечивает другой (более общий) метод определения
SuppressIcons.

     WindowFont fontname

     Устанавливает используемый fvwm фонт fontname вместо "fixed" для
линии заголовка в окне.

     WindowListSkip windowname

     Исключает окна с обозначенным именем из оконного списка.

     Windowname может содержать шаблоны "*" и "?" с которыми имена
окон будут интерпретироваться подобно именам файлов в операционной
системе Unix. Фактически, символы "*", "?", и "\" в именах окон могут
быть введены с предшествующим символом "\".

     Команда Style предоставляет другой (более общий) способ
определения WindowListSkip.

     XORvalue number

     Изменяет значение с которым биты XOR-ятся при выполнении
перемещения или изменения размера окна по принципу "рамка - потом
содержимое". Установка этого значения - эмпирический процесс.

     13. ВСТРОЕННЫЕ ФУНКЦИИ

     Fvwm поддерживает множество встроенных функций которые могут быть
связаны с кнопками мыши или клавшами клавиатуры:

     Beep

     Создает звуковой сигнал на компьютере.

     CirculateDown [ name window_name ]

     Заставляет указатель двигаться в следующее окно в списке окон для
которых CirculateSkip не не был определен.

     Если представлены необязательные аргументы, фокус будет двигаться
в первое окно чьё имя (или имя иконки или класс ) соответствует имени
window_name. Необязательный аргумент name требуется если window_name
представлен и заключен в кавычки. Этот аргумент является именем
которое появляется в меню если Функция вызывается из меню, но не несет
смысла, если функция вызывается не из меню.

     CirculateUp [ name window_name ]

     Заставляет указатель двигаться в предыдущее окно в списке окон
для которых CirculateSkip не не был определен.

     Если представлены необязательные аргументы, фокус будет двигаться
в первое окно чьё имя (или имя иконки или класс ) соответствует имени
window_name. Необязательный аргумент name требуется если window_name
представлен и заключен в кавычки. Этот аргумент является именем
которое появляется в меню если Функция вызывается из меню, но не несет
смысла, если функция вызывается не из меню.

     Вот пример в котором фокус перемещается окно X-терминала при
нажатии Alt-F1:

     Key F1 A M CirculateUp "whatever" xterm

     Close

     Если окно понимает протокол удаления окна то это сообщение -
посылаемый окну запрос о корректном удалении самого себя. Если окно не
понимает протокол удаления окна - окно будет уничтожено.

     CursorMove horizonal vertical

     Передвигает указатель мыши в горизонтальных страницах в
направлении оси X и в вертикальных страницах в направлении оси Y.
Каждый из параметров или оба сразу могут быть отрицательными. И
горизонтальное и вертикальное значение выражается в процентах от
страницы, так "CursorMove 100 100" означает перемещение вниз и влево
на одну полную страницу. "CursorMove 50 25" означает перемещение влево
на половину страницы и вниз на четверть страницы. Функция CursorMove
не должна вызываться во всплывающих меню.

     Delete

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

     Desk arg1 arg2

     Меняет десктоп на другой.

     Если arg1 не ноль то следующим номером десктопа будет текущий
номер десктопа плюс arg1. Номера десктопов могут быть отрицательные.

     Если arg1 - ноль тогда новым номером десктопа будет arg2.

     Число активных десктопов определяется динамически. Активным
является только десктоп который содержит окна или виден в данный
момент. Номера десктопов должны лежать между 2147483647 и -2147483648
(достаточно?).

     Destroy

     Уничтожает окно. Гарантированное избавление от окна, весьма
насильственный способ оборвать приложениие.

     Exec name command

     Выполняет команду command. Command - без кавычек, name - в
кавычках. Name - имя, появляющееся в меню, если функция вызывается из
него. Name требуется даже если функция вызывается не из меню.

     Следующий пример связывает функциональную клавишу F1 в главном
окне, без модификаторов, с исполняемой функцией. Программа rxvt Будет
начата с набором опций.

Key F1 R N Exec "rxvt" exec rxvt -fg yellow -bg blue -e /bin/tcsh &

     Focus

     Перемещает viewport или окно как этого требуется для созданиия
видимости выбранного окна. Устанавливает фокус ввода клавиатуры на
выбранное окно. При необходимости поднимает окно чтобы делать его
видимым. Устанавливает указатель в выбранном окне в режим
focus-follows-mouse. Не может деиконифизировать. Эта функция в
основном для использование с модулем типа FvwmWinList.

     Function

     Используеncz для связи предварительно определенной функции с
клавишей клавиатуры или кнопкой мыши.

     Следующий пример связывает кнопку мыши 1 с функцией названнаой
"Move-or-Raise", чьё определение было дано в примере ранее в этом же
man page. После установления этой связи fvwm будет выполнять функции
move-or-raise всякий раз, когда кнопка 1 нажимается в линии заголовка
окна.

     Mouse 1 T A Function "Move-or-Raise"