fluxbox(1)

НАЗВАНИЕ
fluxbox - менеджер окон для системы X11

СИНТАКСИС
fluxbox -help | -version
fluxbox [ -rc rcfile ] [ -display display ]

ОПИСАНИЕ
Fluxbox -- это оконный менеджер для X Window System версии 11R6 и новее. Он написан на C++ и основан на исходных кодах Blackbox 0.61.0. Это быстрый оконный менеджер.

Fluxbox поддерживает настраиваемое оформление окон, главное меню для запуска приложений и панель инструментов, на которой отображается имя рабочего стола, название активного приложения и текущее время. Из меню рабочего стола вы можете добавлять новые или удалять существующие рабочие столы. `Докер' (slit) используется как контейнер для небольших приложений (dock-apps); например, большинство утилит bbtools без проблем используют докер.

При минимизации окна Fluxbox помещает его на панель инструментов, а также в подменю `Icons' меню рабочего стола. Один щелчок мышью -- и окно снова на экране. Если дважды щелкнуть на заголовке окна, то оно будет свернуто в заголовок.

Для генерации изображений fluxbox использует свой собственный класс. Файлы стилей позволяют вам настроить вид десктопа по своему вкусу. Стили Fluxbox и Blackbox совместимы, поэтому пользователи Blackbox легко могут использовать свои любимые темы в Fluxbox.

Пока wmhints оконного менеджера KDE не поддерживаются, но Fluxbox уже подготовлен для поддержки новой спецификации оконных менеджеров, разрабатываемой для Gnome и KDE2.0.

ПАРАМЕТРЫ
При запуске Fluxbox из командной строки вам доступны следующие параметры:

-help
    Отобразить список ключей командной строки и завершить Fluxbox.

-version
    Отобразить информацию о версии и завершить Fluxbox.

-rc rcfile
    Использовать файл ресурсов, отличный от стандартного ~/.fluxbox/init.

-display дисплей
    Запустить Fluxbox на указанном дисплее. Это же значение будет использовано в качестве переменной окружения DISPLAY для всех программ, запускаемых из Fluxbox.

-info
    Показать информацию о программе (параметры по умолчанию и подключенные возможности) и завершить Fluxbox.

-log  filename
    Журналировать вывод в указанный файл.

ЗАПУСК FLUXBOX
Обычно Fluxbox запускается стартовым скриптом пользователя, который в большинстве случаев хранится в файле ~/.xinitrc. Чтобы запустить fluxbox, добавьте в конец скрипта строчку
    exec fluxbox
Закрытие Fluxbox повлечет завершение сеанса X.

При запуске Fluxbox сначала ищет файл общесистемного меню @pkgdatadir@/menu. В этом файле вы можете задать общее меню для всех пользователей системы.

При завершении и перезапуске Fluxbox локальные настройки сохраняются в файле ~/.fluxbox/init в домашнем каталоге пользователя. Некоторые ресурсы из этого файла вы можете отредактировать вручную.

ИСПОЛЬЗОВАНИЕ FLUXBOX
Fluxbox включает возможности управления с клавиатуры. Привязки сочетаний клавиш хранятся в файле ~/.fluxbox/keys. Дополнительную информацию можно найти в разделе ФАЙЛ СОЧЕТАНИЙ КЛАВИШ.

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

Щелчок левой кнопкой мыши на имени приложения в меню рабочего стола сделает этот рабочий стол и приложение активными; щелчок средней кнопкой мыши перенесет приложение на текущий рабочий стол.

  Панель инструментов:
Панель инструментов состоит из поля имя рабочего стола, области свернутых окон и часов. Щелчок правой кнопкой мыши на поле имени рабочего стола вызывает меню панели инструментов. Вращение скроллера мыши на имени рабочего стола или часах переключает рабочие столы. Из меню Fluxbox такое поведение можно установить и для всего рабочего стола.

Меню панели инструментов позволяет вам переименовать текущий рабочий стол (после ввода нового названия нажмите Enter), настроить позицию панели инструментов, слой, в котором она будет находиться (см. раздел СЛОИ), а также установить автоскрытие панели (панель будет исчезать с экрана, когда курсор мыши выходит за ее пределы). В этом же меню можно установить режим панели: None -- отключить область свернутых окон, Icons -- показывать свернутые окна со всех рабочих столов, Workspace Icons -- свернутые окна текущего рабочего стола, Workspace -- все окна текущего рабочего стола, All Windows -- окна со всех рабочих столов.

  Слой:
Под слоем понимается некоторый "уровень", на котором могут быть расположены окна. Слои расположены один под другим в следующем порядке (сверху вниз): Above Dock, Dock, Top, Normal, Bottom, Desktop. Чтобы переместить докер или панель инструментов в другой слой, воспользуйтесь контекстным меню. Для обычных приложений слой может быть указан в файле apps.

  Строка заголовка и границы окна:
Щелчок левой кнопкой мыши в любой точке границы окна помещает его на передний план. Последующее перемещение мыши перемещает окно. Изменение размера окон производится посредством элементов управления размером окна, расположенных в левом нижнем и правом нижнем углах окна. Щелчок средней кнопкой мыши на границе или заголовке окна приводит к помещению данного окна на задний план. Щелчок правой кнопкой вызывает контекстное меню окна, которое содержит следующие команды:

Send To... (нет в 0.9.6)
    Перемещает окно на другой рабочий стол. Если при выборе щелкнуть не левой кнопкой мыши, а средней, то выбранный рабочий стол станет текущим.

Send Group To... (нет в 0.9.6)
    Позволяет переместить всю группу окон на другой рабочий стол. Поведение при щелчке средней кнопкой мыши такое же, как у предыдущей команды.

Shade
    Скрыть окно (отображается только строка заголовка).

Iconify
    Минимизировать окно. После минимизации данное окно добавляется на панель инструментов и в подменю 'Icons' меню рабочего стола.

Maximize
    Распахнуть/восстановить окно. При развертывании окна на весь экран оно может покрывать докер и панель инструментов, в зависимости от настроек последних.

Maximize Vertical
    Распахнуть/восстановить окно только по вертикали.

Maximize Horizontal
    Распахнуть/восстановить окно только по горизонтали.

Raise
    Поместить окно на передний план.

Lower
    Поместить окно на задний план.

Stick
    Прикрепить/отклеить окно. Прикрепленное окно всегда находится на текущем рабочем столе.

Next Client
    Передать фокус следующему окну в группе.

Prev Client
    Передать фокус предыдущему окну в группе.

Layer ...
    Изменить слой окна.

Remember ...
    Запомнить настройки окна в файле apps. В подменю нужно выбрать, какие именно настройки нужно сохранить.

Close
    Завершить работу приложения

Двойной щелчок по заголовку окна эквивалентен команде Shade -- окно будет свернуто в заголовок; при следующем двойном щелчке окно будет восстановлено.

  Кнопки в заголовке окна:
Установки для этих кнопок хранятся в файле init. Стандартные настройки:
    session.titlebar.left:  Stick
    session.titlebar.right: Minimize Maximize Close
Щелчок мышью на кнопке Minimize сворачивает окно. Щелчок на кнопке Close позволяет закрыть приложение. Кнопка Maximize (если присутствует) позволяет развернуть окно тремя способами: щелчок левой кнопкой мыши вызывает развертывание окна на весь экран, средней кнопкой -- только по вертикали, правой -- только по горизонтали. Действие кнопки Stick аналогично действию команды (Un)Stick window.

  Все меню:
Щелчок правой кнопкой мыши в пределах меню закрывает его. Перетаскивание меню при помощи левой кнопки мыши за заголовок позволяет сделать меню постоянно видимым (оно не исчезает после выбора команды).

  Дополнительные возможности:
Левый щелчок мыши в любом месте окна при нажатой клавише Alt также позволяет перемещать окно по экрану, при этом окно сразу же переносится на передний план. Это может быть полезно, если заголовок или границы окна скрыты другими окнами или выходят за пределы экрана. Щелчок правой кнопкой мыши при нажатой клавише Alt переносит окно на задний план, и, наконец, щелчок средней кнопкой позволяет изменять размеры окна.

ФАЙЛ МЕНЮ
По умолчанию файл меню расположен в @pkgdatadir@/menu. Это файл общесистемного меню, и его изменение влияет на структуру меню всех пользователей сразу. Но можно создавать и персональные меню. По традиции файл меню создается в подкаталоге ~/.fluxbox/ (или ~/fluxbox/) в домашнем каталоге пользователя, и имеет имя menu. Вы можете просто скопировать сюда общее меню. После этого нужно указать Fluxbox использовать персональное меню вместо общесистемного. Это достигается добавлением (или изменением) значения ресурса session.menuFile в файле ~/.fluxbox/init , например:
    session.menuFile:       ~/.fluxbox/menu
Чтобы изменения вступили в силу, нужно перезапустить Fluxbox. Настройте меню по своему усмотрению, а затем выполните команду 'Restart' из главного меню Fluxbox. Если вы меняли только содержание файла меню, можно просто перезагрузить настройки вызовом команды 'Reload config'.

  Синтаксис файла меню
Синтаксис файла меню достаточно прост, но в тоже время он довольно гибкий. В каждой строке меню может располагаться до трех аттрибутов, записанных в следующей форме:
    [тэг] (надпись или имя файла) {команда или имя файла}
Допустимы следующие тэги:

[begin] (надпись в заголовке главного меню)
    Этот тэг идентифицирует начало меню. Если его не будет, Fluxbox просто проигнорирует файл и загрузит общесистемное меню.

[end]
    Используется для указания конца меню (либо подчиненного, либо главного меню). В файле должен присутствовать по крайней мере один такой тэг, соответствующий необходимому тэгу [begin].

[exec] (надпись) {команда оболочки}
    Добавляет в меню команду. При выборе такого пункта меню Fluxbox будет выполнять `команду оболочки'.

[exit] (надпись)
    Добавляет команду завершения Fluxbox. В качестве родителя всех открытых окон устанавливается главное окно.

[include] (имя файла)
    Анализирует содержание файла имя файла и добавляет полученные в результате анализа пункты меню в текущую позицию. Имени файла может предшествовать либо полный путь, либо путь с сокращением ~/, которое развертывается в путь к домашнему каталогу пользователя (например,
        [include] (~/fluxbox/stylesmenu)
    добавляет файл /home/yourusername/fluxbox/stylesmenu в моё меню).

[nop] (надпись - необязательно)
    Добавить в текущее меню элемент, с которым не связаны какие-либо действия. Это может быть полезно при формировании в меню блоков или секций. [nop] дополнительно может иметь метку; если она не будет указана, будет добавлен пустой пункт.

[style] (надпись) {имя файла}
    Этот тэг позволяет добавить элемент меню, который при выборе будет загружать стиль имя файла.

[stylesdir] (имя каталога)
    Считывает имена всех файлов в указанном каталоге, предполагая, что все эти файлы содержат стили (подкаталоги игнорируются), и добавляет пункты меню, соответствующие всем найденным файлам, которые при выборе будут устанавливать соответствующий стиль для текущего сеанса. Надписи к пунктам меню соответствуют именам файлов.

[stylesmenu] (надпись) {имя каталога}
    Создает подменю с надписью (которая является также и заголовком нового подменю), и добавляет в него пункты, соответствующие файлам в указанном каталоге, подразумевая, что все они являются файлами стилей (подкаталоги игнорируются), аналогично тэгу [stylesdir].

    Тэги [stylesdir] и [stylesmenu] позволяют устанавливать новые стили, не редактируя файл меню.

[submenu] (надпись) {заголовок меню - необязательно}
    Добавляет вложенное меню. Такого рода меню анализируются рекурсивно, а, значит, нет ограничений на количество подобных `вложений'. Заголовок для нового меню указывать необязательно; если он не указан, в качестве заголовка будет использоваться указанная надпись. Для завершения описания меню используется тэг [end].

    Если в качестве аттрибута 'надпись' указать 'Startup', то приложения, расположенные в этом подменю, будут запускаться при запуске Fluxbox.

[reconfig] (надпись)
    При выборе данной команды Fluxbox будет перечитывать текущие файлы стиля и меню. Эта возможность полезна при создании нового стиля или темы, поскольку вам не придется перезапускать Fluxbox после каждого сохранения вашего файла стиля. Тем не менее, при каждом изменении файла меню Fluxbox автоматически перечитывает этот файл.

[restart] (надпись) {команда оболочки - необязательно}
    Перезапускает Fluxbox. Если задана команда оболочки, Fluxbox завершает свою работу и запускает указанную команду (обычно это команда запуска другого оконного менеджера). Если команда не указана, снова запускается Fluxbox.

[config] (надпись)
    Добавляет встроенное подменю Fluxbox, содержащее различные настройки расположения окон, способов фокусировки, перемещения окон и т.д.

[workspaces] (надпись)
    Добавляет подменю рабочих столов. Это удобно для тех, кто не может получить доступ к меню рабочих столов непосредственно (например, если у вас двухкнопочная мышь и щелчок средней кнопкой мыши для вас затруднен).

Если строка начинается с символа `#', она считается комментарием и игнорируется парсером. В полях надписей, команд или имен файлов можно использовать бэк-слеши для вставки зарезервированных символов:
    [exec] (\(my cool\) \{XTERM {xterm -T \"cool XTERM\"}
Вставка символа бэк-слеша осуществляется простым дублированием (`\\').

  Пример меню
Подводя итоги вышесказанному, приведем небольшой пример файла меню:

# файл меню Fluxbox
[begin] (Fluxbox)
  [exec] (rxvt) {rxvt -ls}
  [exec] (netscape) {netscape -install}
  [exec] (The GIMP) {gimp}
  [exec] (XV) {xv}
  [exec] (Vim) {rxvt -geometry 132x60 -name VIM -e screen vim}
  [exec] (Mutt) {rxvt -name mutt -e mutt}
  [submenu] (mozilla)
    [exec] (browser) {mozilla -browser}
    [exec] (news) {mozilla -news}
    [exec] (mail) {mozilla -mail}
    [exec] (edit) {mozilla -edit}
    [exec] (compose) {mozilla -compose}
  [end]
  [submenu] (Startup)
    [exec] (gkrellm) {gkrellm -w}
    [exec] (xmms) {xmms -p}
    [exec] (galeon) {galeon -s}
    [exec] (kdeinit) {kdeinit}
  [end]
  [submenu] (Window Manager)
    [exec] (Edit Menus) {nedit ~/.fluxbox/menu}
    [submenu] (Style) {Which Style?}
      [stylesdir] (~/.fluxbox/styles)
      [stylesmenu] (Fluxbox Styles) {@pkgdatadir@/styles}
    [end]
    [config] (Config Options)
    [reconfig] (Reconfigure)
    [restart] (Restart)
  [end]
  [exit] (Log Out)
[end]
# конец файла меню
FROM HERE ON UNREVISITED

СТИЛИ
Для отображения декораций окон, меню и других элементов оконного интерфейса Fluxbox использует специальные файлы, в которых в виде последовательности X(1)-ресурсов хранятся описания цветов, текстур, изображений и шрифтов.

Стандартная установка Fluxbox содержит несколько таких стилевых файлов. Обычно они расположены в каталоге @pkgdatadir@/styles. Изучая и изменяя эти файлы, вы поймете, как устроен механизм стилей Fluxbox. Добавив в свой файл меню команды [style], [stylesdir] или [stylesmenu], вы сможете менять текущий стиль простым выбором нужного пункта из меню.

Также можно создать в своем домашнем каталоге подкаталог ~/.fluxbox/styles и размещать там свои собственные стилевые файлы. Безусловно, вы можете выбрать любое другое имя для данного каталога, но многие темы, доступные в Интернет, помещают стили именно в подкаталог styles (согласно схеме именования, принятой на bb.themes.org).

Чтобы понять, как работает механизм стилей, вы должны уяснить, как работают X-ресурсы.

X-ресурс состоит из ключа и значения. Ключ строится из нескольких меньших ключей (т.н. "дети"), разделенных точкой (`.'). Ключи могут содержать символ звездочки (`*'), который позволяет задавать шаблоны (с данной строкой текста могут совпасть сразу несколько ключей). Это полезно в стилях, содержащих один или два цвета.

Fluxbox позволяет настроить три компонента: панель инструментов, меню и оформление окон.

Маленькое окно, которое показывает позицию при перемещении или изменении размеров окна, копирует стиль заголовка обычного окна.

Приведем несколько небольших примеров:
    toolbar.clock.color:	green
Эта строка устанавливает цвет часов на панели инструментов в значение 'green' (зеленый). Другой пример:
    menu*color:	rgb:3/4/5
Устанавливает цвет меню и всех его `детей' в значение `rgb:3/4/5' (схемы именования цветов описаны на странице руководства X(1).) Таким образом, эта же строка описывает ключи menu.title.color и menu.frame.color. Указав ключ
    *font:	-b&h-lucida-medium-r-normal-*-*-140-*,
вы устанавливаете шрифт сразу для всех ключей. (информацию об установленных шрифтах можно узнать при помощи утилит xfontsel(1), gtkfontsel, или xlsfonts(1).)

Одно из самых выдающихся преимуществ Fluxbox -- возможность генерировать текстуры "на лету". Текстуры задаются непосредственно в ключах, например:
    toolbar.clock:	Raised Gradient Diagonal Bevel1
    toolbar.clock.color:	rgb:8/6/4
    toolbar.clock.colorTo:	rgb:4/3/2
Сейчас мы подробно разберем каждый аргумент, описывающий текстуру. Описание текстуры может содержать до пяти полей:

Flat / Raised / Sunken
    компонент отображается плоским (Flat), выпуклым (Raised) или утопленным (Sunken).

Gradient / Solid
    компомнент заполняется либо сплошным цветом (Solid), либо градиентной заливкой (Gradient).

Horizontal / Vertical / Diagonal / Crossdiagonal / Pipecross / Elliptic / Rectangle / Pyramid
    различные типы градиентной заливки (предыдущее поле должно иметь значение Gradient !)

Interlaced
    выполнять заливку в черезстрочном режиме (каждая вторая линия темнее). Обычно эта опция используется в градиентных текстурах, но, начиная с версии 0.60.3, работает и для однотонных.

Bevel1 / Bevel2
    указывает тип используемой рамки. По умолчанию используется Bevel1. Эта рамка располагается непосредственно на границе изображения. Bevel2 позволяет указать рамку, которая смещена на один пиксель внутрь изображения.

Вместо описания текстуры можно указать значение ParentRelative, которое делает компонент полностью прозрачным.

Все градиентные текстуры генерируются на основе значений двух цветовых ресурсов color и colorTo . При использовании режима Interlaced в одноцветной текстуре ( Solid ) значение ресурса colorTo используется в качестве альтернативного цвета (этим цветом будет отображаться каждая вторая линия).

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

! Панель инструментов
toolbar:	Текстура
toolbar.color:	Цвет
toolbar.colorTo:	Цвет
! Кнопка на панели инструментов
toolbar.button:	Текстура или ParentRelative
toolbar.button.color:	Цвет
toolbar.button.colorTo:	Цвет
! Цвет стрелок на кнопках
toolbar.button.picColor:	Цвет
! Кнопка в нажатом состоянии
toolbar.button.pressed:	Текстура (например, Sunken) или ParentRelative
toolbar.button.pressed.color:	Цвет
toolbar.button.pressed.colorTo:	Цвет
! Цвет стрелок на кнопках в нажатом состоянии
toolbar.button.pressed.picColor:	Цвет
! Метка рабочего стола на панели инструментов
toolbar.label:	Текстура или ParentRelative
toolbar.label.color:	Цвет
toolbar.label.colorTo:	Цвет
toolbar.label.textColor:	Цвет
! Метка окна на панели инструментов
toolbar.windowLabel:	Текстура или ParentRelative
toolbar.windowLabel.color:	Цвет
toolbar.windowLabel.colorTo:	Цвет
toolbar.windowLabel.textColor:	Цвет
! Часы на панели инструментов
toolbar.clock:	Текстура или ParentRelative
toolbar.clock.color:	Цвет
toolbar.clock.colorTo:	Цвет
toolbar.clock.textColor:	Цвет
! Выравнивание текста на панели инструментов
toolbar.justify:	center, left, или right
! Шрифт, используемый во всех элементах панели инструментов
toolbar.font:	Шрифт (например, -*-helvetica-medium-r-normal-*-*-100-*)
! Заголовок меню
menu.title:	Текстура
menu.title.color:	Цвет
menu.title.colorTo:	Цвет
menu.title.textColor:	Цвет
menu.title.font:	Шрифт
menu.title.justify:	center, left, или right
! Фрейм меню
menu.frame:	Текстура
menu.frame.color:	Цвет
menu.frame.colorTo:	Цвет
menu.frame.textColor:	Цвет
menu.frame.disableColor:	Цвет
menu.frame.font:	Шрифт
menu.frame.justify:	center, left, или right
! Значки входа в подменю
menu.bullet:	empty, triangle, square, или diamond
menu.bullet.position:	right или left
! Выбранный пункт меню
menu.hilite:	Текстура (например, Raised)
menu.hilite.color:	Цвет
menu.hilite.colorTo:	Цвет
menu.hilite.textColor:	Цвет
! Активное окно
window.title.focus:	Текстура
window.title.focus.color:	Цвет
window.title.focus.colorTo:	Цвет
! Неактивное окно
window.title.unfocus:	Текстура
window.title.unfocus.color:	Цвет
window.title.unfocus.colorTo:	Цвет
! Название окна (в заголовке)
window.label.focus:	Текстура или ParentRelative
window.label.focus.color:	Цвет
window.label.focus.colorTo:	Цвет
window.label.focus.textColor:	Цвет
window.label.unfocus:	Текстура или ParentRelative
window.label.unfocus.color:	Цвет
window.label.unfocus.colorTo:	Цвет
window.label.unfocus.textColor:	Цвет
! Полоска внизу окна
window.handle.focus:	Текстура
window.handle.focus.color:	Цвет
window.handle.focus.colorTo:	Цвет
window.handle.unfocus:	Текстура
window.handle.unfocus.color:	Цвет
window.handle.unfocus.colorTo:	Цвет
! Элементы управления размером окна
window.grip.focus:	Текстура
window.grip.focus.color:	Цвет
window.grip.focus.colorTo:	Цвет
window.grip.unfocus:	Текстура
window.grip.unfocus.color:	Цвет
window.grip.unfocus.colorTo:	Цвет
! Кнопки окна
window.button.focus:	Текстура или ParentRelative
window.button.focus.color:	Цвет
window.button.focus.colorTo:	Цвет
window.button.focus.picColor:	Цвет
window.button.unfocus:	Текстура или ParentRelative
window.button.unfocus.color:	Цвет
window.button.unfocus.colorTo:	Цвет
window.button.unfocus.picColor:	Цвет
window.button.pressed:	Текстура (например, Sunken)
window.button.pressed.color:	Цвет
window.button.pressed.colorTo:	Цвет
! Обрамление окна
window.frame.focusColor:	Цвет
window.frame.unfocusColor:	Цвет
! Шрифт и выравнивание заголовка окна
window.font:	Шрифт
window.justify:	center, left или right
! Настройки докера
slit:
slit.color:			Цвет
slit.colorTo:			Цвет
! Другие ресурсы
! вокруг любого компонента может отображаться рамка
borderWidth:	Число пикселей, например, 1
borderColor:	Цвет
bevelWidth:	Число пикселей > 0
handleWidth:	Число пикселей > 0
! Ширина рамки вокруг окна.
! Если не указана, используется значение bevelWidth
frameWidth:	a number of pixels >= 0
! Эта команда выполняется каждый раз при выборе данного стиля.
! Обычно используется для установки каких-нибудь красивых обоев.
rootCommand:	Shell command, e.g. bsetroot -mod 4 4 -fg rgb:	5/6/6 -bg grey20
! Некоторые программы из пакета bbtools используют эти устаревшие настройки
menuFont:	Шрифт
titleFont:	Шрифт

Как видите, список более чем велик. При создании собственных стилей не забывайте о такой возможности, как подстановка ресурсов, этим вы сэкономите себе и время, и количество набранных строк. Приведем небольшой пример:
    *color:	slategrey
    *colorTo:	darkslategrey
    *unfocus.color:	darkslategrey
    *unfocus.colorTo:	black
    *textColor:	white
    *unfocus.textColor:	lightgrey
    *font:	lucidasans-10
Этого вполне достаточно, чтобы почти все компоненты выглядели хорошо.

ФАЙЛ СОЧЕТАНИЙ КЛАВИШ
Управление привязками клавиш в Fluxbox производится посредством файла ~/.fluxbox/keys. Формат файла прост:
    <модификатор> <клавиша> [...] :<действие>
В следующем примере Mod1 соответствует клавише 'Alt' на клавиатурах PC, а Mod4 -- одной из трех дополнительных клавиш на pc104 с логотипом известной мелкомягкой корпорации.
    # Файл сочетаний клавиш Fluxbox.
    # Строка, которая начинается с # есть комментарий.
    Mod1 Tab :NextWindow
    Mod1 F1 :Workspace1
    Mod1 F2 :Workspace2
    Mod1 F3 :Workspace3
    Mod1 F4 :Workspace4
    Mod1 F5 :Workspace5
    Mod1 F6 :Workspace6
    Mod1 F7 :Workspace7
    Mod1 F8 :Workspace8
    Mod1 F9 :Workspace9
    Mod1 F10 :Workspace10
    Mod1 F11 :Workspace11
    Mod1 F12 :Workspace12
    Mod4 b :PrevWorkspace
    Mod4 c :Minimize
    Mod4 r :ExecCommand rxvt
    Mod4 v :NextWorkspace
    Mod4 x :Close
    Mod4 m :RootMenu
    Control n Mod1 n :NextTab
В последней строке вы видите цепочку сочетаний клавиш; подобные цепочки используются в Emacs. Приведем список возможных действий:
    Minimize
    Raise
    Lower
    RaiseLayer
    LowerLayer
    TopLayer
    BottomLayer
    AlwaysOnTop (это алиас для TopLayer)
    AlwaysOnBottom (аналогично)
    Close
    Quit
    RootMenu
    Workspace N (N -- положительное целое число)
    Workspace1
    Workspace2
    Workspace3
    Workspace4
    Workspace5
    Workspace6
    Workspace7
    Workspace8
    Workspace9
    Workspace10
    Workspace11
    Workspace12
    NextWorkspace
    PrevWorkspace
    LeftWorkspace
    RightWorkspace
    KillWindow
    NextWindow
    PrevWindow
    NextTab
    PrevTab
    ShadeWindow
    MaximizeWindow
    StickWindow
    ExecCommand
    MaximizeVertical
    MaximizeHorizontal
    NudgeRight
    NudgeLeft
    NudgeUp
    NudgeDown
    BigNudgeRight
    BigNudgeLeft
    BigNudgeUp
    BigNudgeDown
    HorizontalIncrement
    VerticalIncrement
    HorizontalDecrement
    VerticalDecrement
    ToggleDecor

ФАЙЛ ГРУПП
Начиная с версии 0.1.11, Fluxbox поддерживает автогруппировку, что означает возможность автоматически группировать приложения, принадлежащие одной и той же группе. Чтобы добавить или удалить группу, просто отредактируйте файл ~/.fluxbox/groups. Формат файла такой:
    <app1> <app2> <app3> ... <appN>
где каждый из элементов может быть определен при помощи следующей команды:
    xprop WM_CLASS
Просто запустите эту команду в терминале и кликните мышкой по окну нужного приложения. Элементом будет появившееся в консоли название. Каждая строка файла групп формирует отдельную группу, например:
    Navigator nedit
    xterm
Этот пример создает две группы: одну для netscape и nedit, и вторую для xterm. Новое окно будет группироваться к другим окнам только на текущем рабочем столе к последнему активному окну.

ДОКЕР
Докер -- это обрамление специального вида, в которое будут помещаться все окна, поддерживающие пристыковку (docking), например, 'bbtools'. Когда приложение запускается в докере, оно не имеет собственного обрамления; вместо обрамления используется докер. Такие приложения видимы на всех рабочих столах. Щелкнув правой кнопкой мыши на границе докера, вы получите доступ к меню, позволяющему настроить порядок приложений в нем, направление докера (вертикальное или горизонтальное), а также автоскрытие докера.

Большинство док-приложений для запуска в докере должны быть запущены с ключом -w. Например, вы можете добавить в ~/.xinitrc следующие строки:
    bbmail -w &
    bbpager -w &
    exec fluxbox
Естественно, докер доступен только тогда, когда Fluxbox скомпилирован с поддержкой докера.

ФАЙЛ SLITLIST
Начиная с версии 0.1.10, Fluxbox поддерживает запуск док-приложений в порядке, определенном файлом ~/.fluxbox/slitlist.

Простая процедура получения нужной последовательности такова:
    1) Запускаем Fluxbox без запущенных док-приложений.
    2) По очереди запускаем док-приложения в нужном порядке.
    3) Добавляем эти док-приложения в загрузочный скрипт (например, .xinitrc или .xsession).
    Здесь порядок указания уже не играет роли!
Полученная последовательность по умолчанию будет сохранена в файл ~/.fluxbox/slitlist и будет использоваться в последующих сеансах работы Fluxbox.

Файл slitlist можно модифицировать вручную. Это просто список названий окон, по приложению на строчку. Аналогично файлу init, файл slitlist нужно редактировать при незапущенном Fluxbox; иначе изменения будут переписаны менеджером.

Файл списка док-приложений может располагаться в любом каталоге и иметь произвольное имя. Для этого нужно отредактировать файл init так, как показано в следующем примере:
    session.slitlistFile: /home/me/etc/slitsort

МЕНЮ НАСТРОЙКИ
Некоторые параметры Fluxbox можно настроить непосредственно из главного меню в подменю настройки. Большинство из них понятны без лишних комментариев, но кое-какие все же требуют разъяснений:

Sloppy Window Grouping
    Если эта опция включена, то при группировке двух окон заголовок первого можно отпустить на любой части второго окна; если же выключена, то "область попадания" несколько сужается -- вы должны будете отпустить заголовок первого окна точно на заголовке второго.

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

ФАЙЛ РЕСУРСОВ
Обычно файл ~/.fluxbox/init создается и модифицируется менеджером автоматически. В этом файле хранятся настройки всех параметров из меню конфигурации ( [config] ), используемый файл стиля, названия рабочих столов и т.д. Тем не менее, некоторые ресурсы вы можете изменять вручную:

session.menuFile:
    Определяет расположение файла меню.
        session.menuFile: /home/myself/.fluxbox/menu

session.keyFile:
    Определяет расположение файла сочетаний клавиш.
        session.keyFile: /home/myself/.fluxbox/keys

session.styleFile:
    Определяет расположение файла стиля (темы) для текущего сеанса.
        session.styleFile: @pkgdatadir@/styles/Flux

session.groupFile:
    Определяет расположение файла групп.
        session.groupFile: /home/myself/.fluxbox/groups

session.slitlistFile:
    Определяет расположение файла, задающего порядок расположения док-приложений в докере.
        session.slitlistFile: /home/myself/.fluxbox/slitlist

session.screen0.toolbar.widthPercent:
    Определяет ширину панели инструментов (в процентах от общей ширины экрана). По умолчанию имеет значение 66.

session.screen0.strftimeFormat:
    Позволяет настроить вид часов на панели инструментов. Для данного ресурса используется формат strftime(3). По умолчанию имеет значение %I:%M %p.

session.screen0.rootCommand:
    Этот ресурс перекрывает одноименный в файле стиля. Если он установлен, фоновое изображение не будет меняться при смене текущего стиля.

session.autoRaiseDelay:
    При использовании режима автовсплытия позволяет настроить задержку (в миллисекундах) перед тем как активное окно будет помещено на передний план. По умолчанию имеет значение 250.

session.doubleClickInterval:
    Позволяет настроить максимальный временной интервал (в миллисекундах) между кликами, при котором Fluxbox распознает их как двойной клик. По умолчанию имеет значение 250.

session.screen0.edgeSnapThreshold:
    Наверняка вы заметили, что при перемещении окон по экрану они как-бы прилипают к его краям. Вышеуказанный параметр позволяет задать расстояние (в пикселях), при котором окно будет прилипать к границе. По умолчанию имеет значение 0.

session.cacheMax:
    Определяет количество памяти (в КБ), используемое Fluxbox для кэширования растров на стороне X-сервера. Если на вашем компьютере не очень много памяти, можете уменьшить это значение. По умолчанию имеет значение 200.

session.cacheLife:
    Определяет время (в минутах), после истечения которого неиспользуемые растры будут выгружены из памяти X-сервера. По умолчанию имеет значение 5.

session.opaqueMove:
    Этот параметр влияет на отрисовку окна при перемещении: если он равен True, то по мере перемещения будет перерисовываться все окно (не очень приятное зрелище на медленных машинах), если же он равен False, то при перемещении будет отображаться только контур окна.

session.imageDither:
    True или False чтобы, соответственно, разрешить или запретить генерацию полутонов для изображений. Необходимо только на системах с небольшой глубиной цвета (8bpp и менее).

session.colorsPerChannel:
    Определяет количество цветов, получаемых от X-сервера, на псевдоцветных дисплеях. Канал может быть красным, синим или зеленым; соответсвенно, Fluxbox резервирует colorsPerChannel^3 цветов. Значение должно быть между 2 и 6. Если вы используете восьмибитный дисплей, установите это значение в 4. По умолчанию имеет значение 4.

session.iconbar:
    True или False, чтобы разрешить или запретить использование панели инструментов для отображения свернутых окон.

session.tabs:
    True или False, чтобы разрешить/запретить оконные вкладки в стиле PWM. Вкладки позволяют вам группировать окна. Последние после группировки занимают одинаковое пространство на рабочем столе (размер окна изменяется автоматически) и перемещаются одновременно с группой. По умолчанию имеет значение True.

session.screen0.tab.placement:
    Указывает, с какой стороны окна располагать вкладки. Этот параметр также можно настроить из меню настройки Fluxbox, подменю Tab Placement. Возможны значения Top Bottom Left Right.

session.screen0.tab.alignment:
    Определяет, каким образом выравнивать вкладки. Допустимы значения Top Bottom Left Right Center Relative. Этот параметр также можно настроить через меню Tab Placement.

session.screen0.tab.rotatevertical:
    Если установлен в True, текст на вертикально-расположенных вкладках будет повернут таким образом, чтоб его можно было прочитать. Опять же, используйте меню Tab Placement.

session.screen0.tab.width:
    Ширина вкладки окна в пикселях.

session.screen0.tab.height:
    Высота вкладки окна в пикселях.

При запуске Fluxbox на системе с несколькими десктопами ключ screen0 может быть заменен на screen1, 2 и т.д., соответственно имеющимся десктопам. Это позволяет настроить каждый десктоп по отдельности. Автор данной страницы, владеющий картой Matrox G450 с двумя выходами, предпочитает следующую конфигурацию: screen0 -- докер и панель инструментов автоматически убираются с экрана (установлено автоскрытие), screen1 -- докер и панель всегда на экране и всегда на верху (установлен параметр OnTop), в часах установлен расширенный формат времени.
    session.screen0.toolbar.onTop: False
    session.screen0.toolbar.autoHide: True
    session.screen0.toolbar.placement: BottomCenter
    session.screen0.toolbar.widthPercent: 42
    session.screen0.slit.onTop: False
    session.screen0.slit.autoHide: True
    session.screen0.slit.placement: TopLeft
    session.screen0.slit.direction: Vertical
    session.screen0.strftimeFormat: %I:%M %p
    session.screen1.toolbar.onTop: True
    session.screen1.toolbar.autoHide: False
    session.screen1.toolbar.placement: BottomCenter
    session.screen1.toolbar.widthPercent: 69
    session.screen1.slit.onTop: True
    session.screen1.slit.autoHide: False
    session.screen1.slit.placement: CenterRight
    session.screen1.slit.direction: Vertical
    session.screen1.strftimeFormat: %a %d %R [%s]
Таким образом, рабочие приложения максимально используют свободное пространство экрана на screen0, а на screen1 можно посмотреть время или запустить докапы.

ПАРАМЕТРЫ ЗАПУСКА ПРИЛОЖЕНИЙ
Иногда бывает очень удобно, чтобы некоторое приложение всегда запускалось с одной и той же геометрией, на одном и том же рабочем столе и т.п. Теперь это стало возможным благодаря подменю 'Remember...' в меню окна. Настройки, сохраненные посредством этого меню, записываются в файл ~/.fluxbox/apps. Редактировать этот файл вручную зачастую лишено смысла, поскольку все настройки можно установить при помощи меню 'Remember...'.

Workspace [0-N]
    Принудительно запускает приложение на указанном рабочем столе, даже если оно было запущено с другого рабочего стола.

Dimensions [Width Height]
    Запомнить размеры окна.

Position [X Y]
    Запомнить позицию окна.

Shaded state [yes|no]
    Запомнить, свернуто ли окно в заголовок.

Tab state [yes|no]
    Запомнить текущее состояние группировки.

Decoration state [NONE|NORMAL|TOOL|TINY]
    Запомнить декорации окна.

Sticky state [yes|no]
    Если окно в данный момент "приклеено", то при каждом следующем запуске оно будет изначально в этом состоянии.

Jump to workspace [yes|no]
    Эта опция полезна в паре с параметром 'Workspace'. При запуске приложения текущий рабочий стол будет сменяться на тот, на котором запущено приложение.

Save settings on close [yes|no]
    По умолчанию, параметры запуска приложений не сохраняются при закрытии окна. Если вы хотите обратного, установите эту опцию.

  Пример файла apps
Приведем небольшой пример:

[app] (kate)
  [Dimensions]  {1022 747}
  [Position]    {0 0}
  [Close]       {yes}
[end]
[app] (konqueror)
  [Workspace]   {1}
  [Dimensions]  {1006 749}
  [Position]    {16 0}
  [Jump]        {yes}
[end]
[app] (xterm)
  [Deco]        {NONE}
[end]
Параметры в этом файле чувствительны к смене регистра. Имя приложения берется по первому атрибуту WM_CLASS. Чтобы получить это значение, запустите программу xprop и щелкните на нужном окне. Параметры приложений не влияют на временные окна.

ПЕРЕМЕННЫЕ ОКРУЖЕНИЯ

HOME
    Fluxbox использует $HOME для определения местоположения файла .fluxbox/init, а также для разрешения имен каталогов и файла стиля.

DISPLAY
    Fluxbox будет запущен на экране, указанном в этой переменной, если иное не указано в командной строке.

АВТОРЫ и БЛАГОДАРНОСТИ
Blackbox был написан Брэдом Хьюисом (Brad Hughes, blackbox@alug.org) и Джефом Рэйвеном (Jeff Raven, jraven@psu.edu), сопровождался ими же. Fluxbox был написан и сопровождался Хенриком Киннаненом (Henrik Kinnunen, fluxgen@linuxmail.org), много людей со всего мира помогали ему в этой работе.

Официальный сайт Fluxbox: http://fluxbox.org/
Много совместимых тем можно найти здесь: http://themes.freshmeat.net/

Эта страница была собрана Мэттью Хокинсом (Matthew Hawkins, matt@mh.dropbear.id.au) из страницы руководства Blackbox, написанного Вилбертом Берендсеном (Wilbert Berendsen, wbsoft@xs4all.nl), после чего эта страница была значительно переработана Тобиасом Клаусманом (Tobias Klausmann, klausman@users.sourceforge.net). Данный перевод осуществлен Андреем Балагутой (uj2@mail.ru).

СМ. ТАКЖЕ
bsetroot(1)