wmii (wmii)
wmii | |
---|---|
![]() | |
![]() Скриншот рабочего стола с wmii | |
Тип | Менеджер окон |
Разработчик | Сообщество suckless.org |
Написана на | Си |
Операционная система | UNIX-подобные |
Первый выпуск | 2003 |
Последняя версия | 3.9.2 (10 июня 2010) |
Репозиторий | code.google.com/archive/… |
Лицензия | Лицензия MIT |
Сайт | code.google.com/p/wmii/ |
![]() |
wmii, window manager improved 2 — фреймовый оконный менеджер для X11, поддерживающий динамическое расположение окон, метки окон и управление с помощью клавиатуры, мыши или протокола 9P с использованием виртуальной файловой системы.
Особенности wmii
[править | править код]Динамическое расположение окон
[править | править код]В wmii все окна автоматически распределяются и изменяются в размерах при создании так, чтобы заполнить всё видимое пространство. Видимая область разделена на виртуальные колонки нефиксированного размера, в которых по столбцам размещаются окна, причём в любой колонке можно включить, например, показ одного окна из столбца одновременно. Так реализуется фреймовая концепция оконного менеджера. Кроме того, можно использовать лишь клавиатуру для управления окнами, хотя мышь также полностью поддерживается во всех операциях. Любое окно можно переместить на «плавающий» слой, в котором используется традиционное (ручное, с использованием мыши) позиционирование, что бывает удобно для диалоговых окон и приложений, не приспособленных под фреймовую модель.
Метки для окон
[править | править код]Любому окну в wmii можно назначить одну или несколько меток, для каждой из которых будет создано своё рабочее пространство (сходное с виртуальным рабочим столом из более традиционных оконных менеджеров). Все окна с определённой меткой автоматически размещаются на соответствующем рабочем пространстве, причём одно окно может присутствовать в нескольких пространствах сразу. Средствами wmii можно также назначать правила для автоматического присваивания окнам с определёнными заголовками своих меток, чтобы окна сами распределялись по рабочим зонам.
Файловый интерфейс управления
[править | править код]На дизайн wmii оказали влияние идеи операционной системы Plan 9, что выразилось в использовании для управления менеджером простого интерфейса, основанного на файлах. Поставляемая с wmii утилита wmiir позволяет получить доступ к виртуальной файловой системе, изменением данных в которой и реализуется всё управление wmii. Вот пример использования wmiir:
Получить список окон на текущем рабочем пространстве:
$ wmiir read /tag/sel/index
Получить список всех окон:
$ wmiir read /client/
Переместить текущее окно на активном пространстве в колонку левее и выше по столбцу:
$ echo "send sel left" | wmiir write /tag/sel/ctl $ echo "send sel up" | wmiir write /tag/sel/ctl
Перенести текущее окно на плавающий слой:
$ echo "send sel toggle" | wmiir write /tag/sel/ctl
Присвоить окну с кодом 0x1000004 (полученным из списка окон) новый набор меток:
$ echo "test+terms" | wmiir write /client/0x1000004/tags
Закрыть окно с кодом 0xc00004 (оно исчезнет со всех рабочих пространств):
$ echo "kill" | wmiir write /client/0xc00004/ctl
Таким образом, оконный менеджер wmii предоставляет обобщённый механизм для управления окнами, реализация определённой политики на основе которого может быть выполнена с использованием любого средства, поддерживающего вызов команд. В комплекте с wmii поставляется сценарий оболочки, реализующий доступ со стороны пользователя к операциям над окнами посредством мыши и клавиатуры, однако существуют и альтернативные решения.[1]
Можно также по-настоящему монтировать файловую систему wmii, чтобы работать с ней напрямую, а не посредством wmiir.[2]
Дополнительные средства
[править | править код]Оконный менеджер wmii также предоставляет статусную строку в нижней части экрана, на которую можно вывести список созданных рабочих пространств и любую другую информацию (например, текущее время, данные о погоде), так как к строке также обеспечивается файловый интерфейс.
В комплекте с wmii поставляются две программы для формирования меню: wimenu — программа, заменившая ранее используемый dmenu из dwm, для вывода элементов меню в строку, и wmii9menu для вывода в столбец.
Десять тысяч строк
[править | править код]Автор wmii стремится к элегантности и простоте дизайна программы, не превышая предела в десять тысяч строк для всего исходного кода.
Лицензия
[править | править код]wmii выходит под лицензией MIT, совместимой с GNU GPL.[3] Однако в используемой оконным менеджером библиотеке libixp есть участки кода, заимствованные из Plan 9, которые попадают под действие лицензии LPL[4], несовместимой с GPL2.
Примечания
[править | править код]- ↑ Конфигурирование wmii с использованием сценария на Ruby . Дата обращения: 3 апреля 2007. Архивировано из оригинала 2 марта 2007 года.
- ↑ Использования модуля ядра для монтирования файловой системы wmii Архивировано 9 июня 2007 года.
- ↑ Список лицензий на свободное ПО, рассмотренный с точки зрения совместимости с GPL . Дата обращения: 3 апреля 2007. Архивировано 17 марта 2012 года.
- ↑ libixp Архивировано 4 марта 2007 года.