После более года разработки вышла версия DSWM 0.1 — форка StumpWM, оконного менеджера написанного на common lisp. Форк был создан как альтернатива StumpWM с улучшеной юзабельностью, функциональностью и более быстрым развитием. На сегодняшний день DSWM является самостоятельным оконным менеджером, во многом не совместимым со StumpWM, хотя, по возможности, обратная совместимость сохраняется. Список основных изменений, видимых для пользователя:
- Добавлена подсистема REMEMBER-FORGET-RECALL, которая позволяет «запомнить», «забыть» или «вспомнить» размещение любого элемента десктопа (фрейм, группа, окно, весь десктоп), и, таким образом просто и эффективно управлять элеметнами рабочего стола между сессиями (подробности).
- Добавлена комманда gselect-by-number для избежания путаницы при выборе груп с именами в виде цифр
- Добавлена поддержка CLISP и CCL
- Добавлена возможность загрузки DSWM без компиляции бинарника (опции configure
--disable-static --enable-shared
). Пока не поддерживает CCL - Добавлены ключи сборки:
-
--with-lisp-extra-options=''<options>''
— дополнительные опции для lisp'а при сборке. -
--clisp-link
— для выбора ядра CLISP при сборке (для CLISP). -
--dswm-source-dir
— выбор директории с исходными кодами DSWM при сборке без бинарного файла. -
--with-info
— для сборки документации.
-
- Добавлена команда
gmove-scratchpad
(Ctrl+j g s) для быстрого перемещения окна в группу scratchpad и назад в текущую группу. - Добавлена полноценная поддержка переключения окон в «плавающих» группах.
- Добавлена комманда
edit-variable
("edit") для редактирования внутренних переменных. - Добавлена поддержка переменных окружения для комманд "editor", "browser" и "terminal".
- Осуществлен перевод файлов и директорий на размещение, согласно рекоммендациям freedesktop.
- Добавлена комманда
gconvert
.для конвертации тайловой группы в плавающую и наоборот. [*] Добавлены хуки:
иevent-processing-hook
quit-hook
- Добавлена экспериментальная поддержка windows с использованием clisp и cygwin.
- Замены команд:
-
show-window-properties
->window-info
('info' saved). -
list-window-properties
->window-full-info
.
-
- Удалены комманды: 'groups', 'windows'. Вместо них рекоммендуется использовать vgroups или 'grouplist'/'windowlist'
- Исправлена ошибка с ренумерацией scratchpad после перезагрузки ("reload") DSWM.
- Исправлена ошибка с играми в fullscreen.
- Исправлена ошибка в команде
renumber
(устанавливался номер на единицу больше желаемого). - Исправлена ошибка в команде
pull
при количестве окон большем, чем предусмотрено маппингом.
Из полезных расширений — подготовлен модуль «emacs» для работы с одним или несколькими экземплярами emacs в режиме клиент-сервер, просмотр списка буферов из DSWM, вызов emacs-клиента с указанным буфером, базовое управление буфферами, открытие файлов из оконного менеджера и т.п. (подробнее). Также есть версия для stumpwm — stumpmacs (репозиторий).
Также, хотелось бы анонсировать два полезных модуля для DSWM — «QL4DS» и «deeplaunch». Первый — менеджер модулей с возможностью загрузки по сети из репозитория, резолва зависимостей и т.п. с quicklisp в качестве бекенда. Второй — универсальный лаунчер, который будет распознавать разные типы команд, и открывать в нужной программе файлы, запускать внешние программы и внутренние команды DSWM, открывать URL-адреса и т.п. Второй, скорее всего, будет форкнут и под stumpwm (первый, скорее всего, нет). Хотя, если будут желающие заняться форком, буду только рад.
Из планов на ближайшее будущее — уйти от практики использования переменных для конфигурации, сделать что-то с mode-line и сделать возможность установки субкоманд
PS: набор модулей для DSWM оформлен в виде отдельного архива. Просто распаковать в SHARE_PREFIX/dswm/modules, ~/.local/share/dswm/modules, $XDG_DATA_HOME/dswm/modules.
Текущая версия DSWM: 0.1
Скриншоты: здесь.
Скачать: sourceforge,
репозиторий,
зеркало на github.
Также имеется PKGBUILD для Arch Linux в AUR (устанавливается уже с модулями), ожидается ebuild для Gentoo.
>>> Подробности