НАЗВАНИЕ¶
spectrwm —
Оконный
менеджер для
X11
ИСПОЛЬЗОВАНИЕ¶
spectrwm
ОПИСАНИЕ¶
spectrwm это
минималистичный
менеджер
окон,
ставящий
своей целью
не мешать
вам и не
занимать
ценное
пространство
экрана. Его
настройки
по-умолчанию
разумны и,
кроме того,
он не
требует
знания
языков
программирования
для работы с
конфигурационным
файлом. Он
написан
хакерами для
хакеров и
старается
быть легким,
компактным и
быстрым.
Когда
spectrwm
запускается,
он читает
настройки из
своего
конфигурационного
файла,
spectrwm.conf.
Смотрите
секцию
КОНФИГУРАЦИОННЫЕ
ФАЙЛЫ ниже.
На этой
странице
используются
следующие
обозначения:
- M
- Мета-клавиша
- S
- Shift
- ⟨Name⟩
- Имя
клавиши
- M1
- Кнопка
мыши 1
- M3
- Кнопка
мыши 3
spectrwm должен
быть
понятным и
очевидным.
Большинство
действий
выполняется
комбинациями
клавиш.
Смотрите
секцию
ПРИВЯЗКИ
ниже, чтобы
узнать о
стандартных
настройках.
КОНФИГУРАЦИОННЫЕ
ФАЙЛЫ¶
spectrwm
пытается
прочитать
файл в
домашнем
каталоге,
~/.spectrwm.conf. В
случае, если
он
недоступен,
происходит
обращение к
глобальному
файлу
настроек,
/etc/spectrwm.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, spectrwm
попытается
отмасштабировать
шрифты в
терминале,
чтобы
ширина была
больше
этого
значения
Поодерживается
только 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)
ПРОГРАММЫ¶
spectrwm
позволяет
Вам
добавлять
Ваши
собственные
действия для
запуска
программ и
делать к ним
привязки как
ко всем
остальным
действиям
Смотрите
секцию
ПРИВЯЗКИ
ниже.
Стандартные
программы:
- 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⟩ это
список
передаваемых
аргументов
или оставьте
пустым.
Следующие
переменные
можно
получать из
spectrwm
(Смотрите
секцию
КОНФИГУРАЦИОННЫЕ
ФАЙЛЫ выше), и
их можно
использовать
как ⟨arg⟩ (в
момент
запуска
программы
будет
выполнена
подстановка
значений):
- $bar_border
-
- $bar_color
-
- $bar_font
-
- $bar_font_color
-
- $color_focus
-
- $color_unfocus
-
Например:
program[ff] = /usr/local/bin/firefox http://spectrwm.org/
bind[ff] = Mod+f # Значит Mod+F запускает firefox
Чтобы
отменить
назначение:
bind[] = Mod+f
program[ff] =
ПРИВЯЗКИ¶
spectrwm
предоставляет
доступ к
действиям с
помощью
клавиатурных
комбинаций.
Установленные
привязки для
мыши:
- M1
- Сфокусироваться
на окне
- M-M1
- Переместить
окно
- M-M3
- Изменить
размер
окна
- M-S-M3
- Изменить
размер окна,
удерживая
его в
центре
Стандартные
клавиатурные
привязки:
- M-S-⟨Return⟩
- term
- M-p
- menu
- M-S-q
- quit
- M-q
- restart spectrwm
- 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
- Выйти
spectrwm
- restart
- Перезапустить
spectrwm
- 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
На одно
действие
можно
назначить
несколько
комбинаций.
КОСТЫЛИ¶
spectrwm
позволяет
настроить
костыли,
нужные для
специальной
работы spectrwm с
рядом
приложений,
который вы
определяете
сами. То есть,
Вы можете
принудительно
установить
способ
тайлинга для
какого-нибудь
приложения
Список
стандартных
костылей:
- 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
ФАЙЛЫ¶
- ~/.spectrwm.conf
- spectrwm
Личные
настройки
пользователя.
- /etc/spectrwm.conf
- spectrwm
Глобавльные
настройки.
ИСТОРИЯ¶
spectrwm идейно
основан на dwm и
xmonad
АВТОРЫ¶
spectrwm написан:
Marco Peereboom ⟨marco@peereboom.us⟩,
Ryan Thomas McBride
⟨mcbride@countersiege.com⟩ and
Darrin
Chandler ⟨dwchandler@stilyagin.com⟩.
БАГИ¶
При вызове
меню с
помощью
M-p,
необходима
корректная
работа dmenu.