Spectrwm — минималистичный менеджер окон для X11, ставящий своей целью не мешать пользователю и не занимать ценное пространство экрана. Идейно основан на оконный менеджерах dwm и xmonad, написан хакерами для хакеров, авторы: Marco Peereboom, Ryan Thomas, McBride и Darrin Chandler.
Spectrwm старается быть легким, компактным и быстрым, его настройки "по-умолчанию" разумны и кроме того для работы с конфигурационным файлом не требуется знания языков программирования. Глобальные настройки находятся в файле:
/etc/spectrwm.conf
Личные настройки пользователя находятся в файле:
~/.spectrwm.conf
Когда Spectrwm запускается, он пытается прочитать настройки своего конфигурационного файла в домашнем каталоге (~/.spectrwm.conf), в случае если он недоступен, происходит обращение к глобальному файлу настроек (/etc/spectrwm.conf). Формат файла следующий:
<ключ> = <значение>
Например:
color_focus = red
Однозначное включение и выключение задается значениями 1 и 0.
В конфигурационном файле Spectrwm поддерживаются следующие ключевые слова:
- 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[
]:WIDTHxHEIGHT+X+Y, например screen[1]:1280x800+0+0. term_width -Установить минимальную допустимую ширину эмулятора терминала. Если это значение больше 0, spectrwm попытается отмасштабировать шрифты в терминале, чтобы ширина была больше этого значения (поддерживается только xterm). Также xterm не может быть с setuid или setgid, хотя это так на многих системах. Возможно необходимо задать program[term] чтобы использовалась другая копия xterm без заданного бита 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, а шрифты задаются с использованием XQueryFont.
Spectrwm сделан быть не только быстрым и лёгким, но так же понятным и очевидным. Большинство действий в нём выполняется комбинациями клавиш (клавиатурных комбинаций).
Стандартные клавиатурные привязки:
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
Установленные привязки для мыши:
M1 - Сфокусироваться на окне M-M1 - Переместить окно M-M3 - Изменить размер окна M-S-M3 - Изменить размер окна, удерживая его в центре
Лицензия: ISC (ISC license, Internet Systems Consortium license)