SCROTWM(1) OpenBSD Reference Manual SCROTWM(1)
НАЗВАНИЕ
scrotwm — Оконный менеджер для X11
ИСПОЛЬЗОВАНИЕ
scrotwm
ОПИСАНИЕ
scrotwm это минималистичный менеджер окон, ставящий своей целью не мешать
вам и не занимать ценное пространство экрана. Его настройки по-умолчанию
разумны и, кроме того, он не требует знания языков программирования для
работы с конфигурационным файлом. Он написан хакерами для хакеров и
старается быть легким, компактным и быстрым.
Когда scrotwm запускается, он читает настройки из своего
конфигурационного файла, scrotwm.conf. Смотрите секцию КОНФИГУРАЦИОННЫЕ
ФАЙЛЫ ниже.
На этой странице используются следующие обозначения:
M Мета-клавиша
S Shift
⟨Name⟩ Имя клавиши
M1 Кнопка мыши 1
M3 Кнопка мыши 3
scrotwm должен быть понятным и очевидным. Большинство действий
выполняется комбинациями клавиш. Смотрите секцию ПРИВЯЗКИ ниже, чтобы
узнать о стандартных настройках.
КОНФИГУРАЦИОННЫЕ ФАЙЛЫ
scrotwm пытается прочитать файл в домашнем каталоге, ~/.scrotwm.conf. В
случае, если он недоступен, происходит обращение к глобальному файлу
настроек, /etc/scrotwm.conf.
Формат файла следующий: <ключ> = <значение>. Например:
color_focus = red
Однозначное включение и выключение задается значениями 1 и 0.
Поддерживаются следующие ключевые слова:
color_focus Цвет рамки окна в фокусе.
color_unfocus Цвет рамки окон не в фокусе.
bar_enabled Включение статусной строки.
bar_border[x] Цвет рамки статусной строки x.
bar_color[x] Цвет статусной строки x.
bar_font_color[x] Цвет шрифта статусной строки x.
bar_font Тип шрифта статусной строки.
bar_action Внешний файл скрипта для статусной строки,
выводящий туда информацию, например,
уровень заряда батарей.
bar_delay Частота выполнения внешнего скрипта
статусной строки, секунды.
stack_enabled Включить отображение способа укладки окон в
статусной строке.
clock_enabled Включить часы в статусной строке. Можно
отключить, установив 0, и Вы сможете
использовать собственные часы из внешнего
скрипта.
dialog_ratio Ряд приложений имеет слишком маленькие
диалоговые окна. Это значение - доля
размера экрана, к которой они будут
приведены. Например, значение 0.6 будет
соответствовать 60% от реального размера
экрана.
region Выделяет область экрана на Ваше усмотрение,
уничтожает все перекрытые области экрана,
определенные автоматически. Формат:
screen[<idx>]:WIDTHxHEIGHT+X+Y, например
screen[1]:1280x800+0+0.
term_width Установить минимальную допустимую ширину
эмулятора терминала. Если это значение
больше 0, scrotwm попытается
отмасштабировать шрифты в терминале, чтобы
ширина была больше этого значения
Поодерживается только xterm(1) Также
xterm(1) не может быть с setuid или setgid,
хотя это так на многих системах. Возможно
необходимо задать program[term] (Смотрите
секцию ПРОГРАММЫ ) чтобы использовалась
другая копия xterm(1) без заданного бита
setgid.
title_class_enabled Отображать класс окна в статусной строке.
Обычно выключено
title_name_enabled Отображать заголовок окна в статусной
строке. Обычно выключено
modkey Назначить Мета-клавишу,
клавишу-модификатор. Mod1 соответствует
клавише ALT, а Mod4 соответствует клавише
WIN на PC.
program[p] Добавить пользовательскую программу для
назначения привязки p. Смотрите секцию
ПРОГРАММЫ ниже.
bind[x] Назначить привязку на действие x. Смотрите
секцию ПРИВЯЗКИ ниже.
quirk[c:n] Добавить костыль для окон с классом c и
именем n. Смотрите секцию КОСТЫЛИ ниже.
Цвета задаются с помощью XQueryColor(3) А шрифты задаются с
использованием XQueryFont(3)
ПРОГРАММЫ
scrotwm позволяет Вам добавлять Ваши собственные действия для запуска
программ и делать к ним привязки как ко всем остальным действиям Смотрите
секцию ПРИВЯЗКИ ниже.
Стандартные программы:
term xterm
screenshot_all screenshot.sh full
screenshot_wind screenshot.sh window
lock xlock
initscr initscreen.sh
menu dmenu_run -fn $bar_font -nb $bar_color -nf
$bar_font_color -sb $bar_border -sf $bar_color
Ваши собственные программы задаются следующим образом:
program[<name>] = <progpath> [<arg> [... <arg>]]
⟨name⟩ это любой идентификатор, не мешающийся с уже существующими,
⟨progpath⟩ это собственно путь к программе, ⟨arg⟩ это список передаваемых
аргументов или оставьте пустым.
Следующие переменные можно получать из scrotwm (Смотрите секцию
КОНФИГУРАЦИОННЫЕ ФАЙЛЫ выше), и их можно использовать как ⟨arg⟩ (в момент
запуска программы будет выполнена подстановка значений):
$bar_border
$bar_color
$bar_font
$bar_font_color
$color_focus
$color_unfocus
Например:
program[ff] = /usr/local/bin/firefox http://scrotwm.org/
bind[ff] = Mod+f # Значит Mod+F запускает firefox
Чтобы отменить назначение:
bind[] = Mod+f
program[ff] =
ПРИВЯЗКИ
scrotwm предоставляет доступ к действиям с помощью клавиатурных
комбинаций.
Установленные привязки для мыши:
M1 Сфокусироваться на окне
M-M1 Переместить окно
M-M3 Изменить размер окна
M-S-M3 Изменить размер окна, удерживая его в центре
Стандартные клавиатурные привязки:
M-S-⟨Return⟩ term
M-p menu
M-S-q quit
M-q restart scrotwm
M-⟨Space⟩ cycle_layout
M-S-⟨Space⟩ reset_layout
M-h master_shrink
M-l master_grow
M-, master_add
M-. master_del
M-S-, stack_inc
M-S-. stack_del
M-⟨Return⟩ swap_main
M-j, M-⟨TAB⟩ focus_next
M-k, M-S-⟨TAB⟩ focus_prev
M-m focus_main
M-S-j swap_next
M-S-k swap_prev
M-b bar_toggle
M-x wind_del
M-S-x wind_kill
M-⟨n⟩ ws_n
M-S-⟨n⟩ mvws_n
M-⟨Right⟩ ws_next
M-⟨Left⟩ ws_prev
M-S-⟨Right⟩ screen_next
M-S-⟨Left⟩ screen_prev
M-s screenshot_all
M-S-s screenshot_wind
M-S-v version
M-t float_toggle
M-S ⟨Delete⟩ lock
M-S-i initscr
Описания действий перечислены ниже:
term Запустить эмулятор терминала (Смотрите секцию
ПРОГРАММЫ выше)
menu Меню (Смотрите секцию ПРОГРАММЫ выше)
quit Выйти scrotwm
restart Перезапустить scrotwm
cycle_layout Менять укладку окон
reset_layout Стандартная укладка
master_shrink Сжать область главного окна
master_grow Расширить область главного окна
master_add Добавить окна в главную область
master_del Убрать окна из главной области
stack_inc Увеличить число столбцов или рядов в текущей
укладке
stack_del Уменьшить число столбцов или рядов в текущей
укладке
swap_main Отправить текущее окно в главную область, сделать
главным
focus_next Фокусироваться на следующем окне
focus_prev Фокусироваться на предыдущем окне
focus_main Фокусироваться на главном окне
swap_next Поменять со следующим окном
swap_prev Поменять со предыдущим окном
bar_toggle Выключить статусную строку на всех рабочих столах
wind_del Закрыть фокусированное окно
wind_kill Грохнуть фокусированное окно
ws_n Переключиться на рабочий стол n, где n от 1 до 10
mvws_n Переместить фокусированное окно в рабочий стол n,
где n от 1 до 10
ws_next Перейти к следующему не пустому рабочему столу
ws_prev Перейти к следующему не пустому рабочему столу
screen_next Переместить указатель в следующую область
screen_prev Переместить указатель в следующую область
screenshot_all Сделать снимок всего экрана (если возможно)
(Смотрите секцию ПРОГРАММЫ выше)
screenshot_wind Сделать снимок окна (если возможно) (Смотрите
секцию ПРОГРАММЫ выше)
version Показать версию в статусной строке
float_toggle Переключить окно в фокусе в плавающий режим, float
lock Заблокировать экран (Смотрите секцию ПРОГРАММЫ
выше)
initscr Инициализировать экран еще раз (Смотрите секцию
ПРОГРАММЫ выше)
Собственные привязки назначаются следующим образом:
bind[<action>] = <keys>
⟨action⟩ это действие из списка программ ⟨keys⟩ это не более одной
клавиши-модификатора (MOD, Mod1, Shift, и.т.п.) и обычные клавиши (b,
space, и.т.п.), разделенные "+". Например:
bind[reset] = Mod4+q # назначить WIN + q на действие reset
bind[] = Mod1+q # снять все действия с Alt + q
На одно действие можно назначить несколько комбинаций.
КОСТЫЛИ
scrotwm позволяет настроить костыли, нужные для специальной работы
scrotwm с рядом приложений, который вы определяете сами. То есть, Вы
можете принудительно установить способ тайлинга для какого-нибудь
приложения
Список стандартных костылей:
Firefox-bin:firefox-bin TRANSSZ
Firefox:Dialog FLOAT
Gimp:gimp FLOAT + ANYWHERE
MPlayer:xv FLOAT + FULLSCREEN
OpenOffice.org 2.4:VCLSalFrame FLOAT
OpenOffice.org 3.1:VCLSalFrame FLOAT
pcb:pcb FLOAT
xine:Xine Window FLOAT + ANYWHERE
xine:xine Panel FLOAT + ANYWHERE
xine:xine Video Fullscreen Window FULLSCREEN + FLOAT
Xitk:Xitk Combo FLOAT + ANYWHERE
Xitk:Xine Window FLOAT + ANYWHERE
XTerm:xterm XTERM_FONTADJ
Описание:
FLOAT Такое окно не нужно тайлить вообще,
разрешить ему float
TRANSSZ Тразиентое окно (Смотрите секцию
КОНФИГУРАЦИОННЫЕ ФАЙЛЫ).
ANYWHERE Позволить окну самостоятельно выбрать
местоположение
XTERM_FONTADJ Изменять шрифты xterm при изменении размеров
окна
FULLSCREEN Позволить окну запускаться в полноэкранном
режиме
Назначать костыли можно следующим образом:
quirk[<class>:<name>] = <quirk> [+ <quirk> ...]
⟨class⟩ и ⟨name⟩ определяют к какому окну будет применяться костыль, а
⟨quirk⟩ один из вышеперечисленных способов. Например:
quirk[MPlayer:xv] = FLOAT + FULLSCREEN # mplayer настроен
quirk[pcb:pcb] = NONE # убрать существующий костыль
Вы можете узнать ⟨class⟩ и ⟨name⟩ запустив xprop и нажав в интересующее
окно. Вот как будет выглядеть вывод для Firefox:
$ xprop | grep WM_CLASS
WM_CLASS(STRING) = "Navigator", "Firefox"
Обратите внимание, класс и имя меняются местами, правильный костыль будет
выглядеть так:
quirk[Firefox:Navigator] = FLOAT
ФАЙЛЫ
~/.scrotwm.conf scrotwm Личные настройки пользователя.
/etc/scrotwm.conf scrotwm Глобавльные настройки.
ИСТОРИЯ
scrotwm идейно основан на dwm и xmonad
АВТОРЫ
scrotwm написан: Marco Peereboom ⟨marco@peereboom.us⟩, Ryan Thomas
McBride ⟨mcbride@countersiege.com⟩ and Darrin Chandler
⟨dwchandler@stilyagin.com⟩.
БАГИ
При вызове меню с помощью M-p, необходима корректная работа dmenu.
OpenBSD 4.6 October 2, 2009 5