круто (оконный менеджер)
![]() | |
![]() круто, несколько открытых терминалов | |
Оригинальный автор(ы) | Жюльен Данжу |
---|---|
Первоначальный выпуск | 18 сентября 2007 г [1] |
Стабильная версия | 4.3 [2] ![]() |
Репозиторий | |
Написано в | Си и Луа |
Операционная система | Unix-подобный |
Тип | Оконный менеджер |
Лицензия | GPL-2.0 или новее [3] |
Веб-сайт | awesomewm.org |
Awesome — динамический оконный менеджер для X Window System, разработанный на языках программирования C и Lua . Lua также используется для настройки и расширения оконного менеджера. Его разработка началась как ответвление dwm , но с тех пор значительно изменилась. [4] Он стремится быть чрезвычайно маленьким и быстрым, но при этом широко настраиваемым. Это позволяет пользователю управлять окнами с помощью клавиатуры.
Первоначально форк назывался jdwm , где «jd» обозначал инициалы главного программиста, а dwm обозначал программный проект, из которого он был создан. Первый репозиторий git для того, что должно было стать Awesome, был создан в сентябре 2007 года. jdwm был переименован в Awesome, названный в честь той же фразы, которую использовал фильма «Как я встретил вашу маму» персонаж Барни Стинсон . [5] Awesome был официально анонсирован в списке рассылки dwm 20 сентября 2007 года. [4]
Цель
[ редактировать ]Оконный менеджер, вероятно, является одним из наиболее часто используемых программ в повседневных задачах вместе с веб-браузером, программой чтения почты и текстовым редактором. Опытные пользователи и программисты имеют широкий выбор между несколькими инструментами для решения повседневных задач. Некоторые из них хорошо расширяемы и настраиваемы.
Awesome пытается дополнить эти инструменты тем, чего нам не хватает: расширяемым, легко настраиваемым оконным менеджером.
Для достижения этой цели Awesome был разработан как оконный менеджер фреймворка. Он чрезвычайно быстрый, небольшой, динамичный и легко расширяемый с помощью языка программирования Lua . [6]
Awesome появился как ответвление dwm с возможностью настройки с помощью внешних файлов конфигурации (см. Конфигурация и настройка ниже). Несмотря на широкие возможности расширения, настройка оконного менеджера по умолчанию намеренно упрощена. При этом автор создал то, что он называет оконным менеджером фреймворка. [5] чтобы пользователи могли расширяться и адаптироваться к своим потребностям.
Функции
[ редактировать ]- Настраивается через файл конфигурации Lua .
- Подобно dwm и wmii , Awesome использует теги вместо рабочих пространств . Окну можно назначить несколько тегов, и одновременно можно выбрать несколько тегов.
- Как динамический оконный менеджер , Awesome может переключаться между различными макетами для каждого тега, включая плавающий , несколько динамических плитки макетов , развернутый и увеличительный .
- Несколько строк состояния на каждом экране, включая различные виджеты (текстовые поля и поля со значками, графики, индикаторы выполнения и т. д.).
- Все можно делать с помощью клавиатуры, поэтому использование мыши необязательно.
- Поддержка нескольких головок ( XRandR , Xinerama или режим Zaphod ).
- Реализует freedesktop.org, стандарты включая EWMH , XDG Base Directory, XEmbed, Desktop Notification и System Tray.
- Поддержка композитинга и истинной прозрачности через внешний наборщик, такой как xcompmgr.
- Дистанционное управление через D-Bus (офигенный-клиент).
- Поддерживает язык разметки Pango .
Конфигурация и настройка
[ редактировать ]С самого начала Awesome задумывался как dwm форк с внешним файлом конфигурации. [5] Таким образом, формат файла конфигурации и сам процесс настройки были предметом особого внимания автора.
Ранние форматы файлов конфигурации
[ редактировать ]До третьего основного выпуска одной из особенностей Awesome было то, что Данжу назвал «несложной конфигурацией». [7] Первые версии Awesome (1.x) представляли собой простую модификацию dwm с плоской конфигурацией файла , в которой использовалась libconfig . В ветке 2.x Danjou изменил библиотеку конфигурации с libconfig на libconfuse , другую библиотеку конфигурации с плоскими файлами, чем-то напоминающую libconfig. Во время разработки выпусков 2.x в Awesome было добавлено множество функций настройки, таких как заголовки и отрисовка значков. [5]
Новый файл конфигурации
[ редактировать ]20 мая 2008 года Данжу объявил в электронном письме в список рассылки Awesome. [8] что в версии 3.0 будет использоваться новый формат файла конфигурации. Новый формат был помещен в файл ~/.awesomerc.lua, а позже был перенесен в ~/.config/awesome/rc.lua. Как следует из расширения, файл конфигурации написан на языке программирования Lua . Данжу утверждал, что новый формат и интеграция с Lua позволят Awesome пользователям настраивать Awesome способами, которые он ранее считал невозможными: использование языка программирования для настройки позволило динамически указывать параметры конфигурации. [8]
Потрясающий Lua API теперь размещен на домашней странице Awesome. [9] а статья в виде учебного пособия о настройке Awesome размещена на Awesome Wiki. [10]
Темы и виджеты
[ редактировать ]Можно создать тему (или скин ) Awesome, используя библиотеку Beautiful оконного менеджера. [11] В соответствии с файлом конфигурации rc.lua, темирование также выполняется в Lua , что позволяет создавать динамические темы.
Хотя конфигурация Awesome по умолчанию, начиная с версии 3.2.1, не имеет каких-либо индикаторов состояния (например, состояния беспроводной сети, индикаторов заряда батареи и т. д.), пользователи могут добавлять эти элементы с помощью виджетов. [12] Данные для виджетов передаются с использованием произвольного кода Lua , поскольку виджеты определены в основном файле конфигурации.
Миграция на XCB
[ редактировать ]Версия 3.0, выпущенная 18 сентября 2008 г., использует библиотеку XCB для связи с X-сервером. [13] сделать Awesome первым оконным менеджером, использующим эту библиотеку вместо Xlib . Работу над портом XCB начал Арно Фонтен, один из нынешних разработчиков Awesome. [14] в январе 2008 года. [5]
Арно Фонтен объявил о переходе в XCB в списке рассылки XCB 9 апреля 2008 года. [13] В своем сообщении списку он выделил следующие основные преимущества использования XCB: «модульная архитектура; прямой доступ к протоколам; многопоточность; асинхронные запросы/ответы;». Порт XCB был завершен в следующем месяце, и Данжу создал новую ветку на базе XCB. [5]
Lua-интеграция
[ редактировать ]Из-за очевидных проблем, которые ограничивали расширение и настройку в версии Awesome до 3.0, автор решил интегрировать конфигурацию на основе Lua в Awesome. [7] Версия rc1 новой реализации сценариев Lua была анонсирована в августе 2008 года. [15] В сентябре 2008 года первая версия Awesome с Lua API была завершена параллельно с реализацией XCB. [7]
Наличие дистрибутива
[ редактировать ]Awesome распространяется на широком спектре Unix-подобных операционных систем, включая Arch Linux , [16] Дебиан , [17] Федора Линукс , Генту , [18] Убунту , [19] Исходный маг , openSUSE , [20] Mageia , NixOS , FreeBSD , NetBSD и OpenBSD .
Именованные релизы
[ редактировать ]Awesome версии с 1.0 по 1.3 (сентябрь – октябрь 2007 г.) не были названы. Начиная с первого кандидата на выпуск 2.0 (ноябрь 2007 г.), Awesome использует именованные выпуски. [21] Названия релизов связаны с музыкой. Awesome v4.x использует название песни из Daft Punk .
См. также
[ редактировать ]- Сравнение оконных менеджеров X
- ДВМ
- ух ты
- i3 (оконный менеджер)
- Ион (оконный менеджер)
- Стекирование оконного менеджера
- СтампWM
- Тайлинговый оконный менеджер
- хмонада
Ссылки
[ редактировать ]- ^ Тег выпуска 1.0
- ^ «Релиз 4.3» . 28 января 2019 года . Проверено 28 января 2019 г.
- ^ «github.com/awesomeWM/awesome» . Гитхаб . 28 апреля 2022 г.
- ^ Jump up to: а б Данжу, Жюльен (20 сентября 2007 г.). «Анонс проекта из списка рассылки dwm» . Гмане . Архивировано из оригинала 6 апреля 2009 г. Проверено 13 декабря 2008 г.
- ^ Jump up to: а б с д и ж Данжу, Жюльен (15 апреля 2009 г.). «Идём в другую сторону» . Архивировано из оригинала 13 июля 2011 года . Проверено 14 августа 2011 г.
- ^ «о — потрясающий оконный менеджер» . Архивировано из оригинала 11 октября 2007 г. Проверено 6 сентября 2016 г.
- ^ Jump up to: а б с Awesome 3: Интеграция Lua. Архивировано 10 февраля 2009 г. на Wayback Machine.
- ^ Jump up to: а б Новости о Awesome-3 и последних коммитах (20 мая 2008 г.). Архивировано 22 августа 2009 г. на Wayback Machine.
- ^ потрясающая документация по API. Архивировано 11 мая 2009 г. на Wayback Machine.
- ^ Конфигурация Awesome 3. Архивировано 1 июня 2009 г. на Wayback Machine.
- ^ Awesome Wiki: Beautiful. Архивировано 30 мая 2009 г. в Wayback Machine.
- ^ Awesome Wiki: Виджеты в Awesome. Архивировано 30 мая 2009 г. на Wayback Machine.
- ^ Jump up to: а б Объявление о переходе XCB из списка рассылки XCB. Архивировано 27 августа 2009 г. на Wayback Machine.
- ^ Страница сообщества на домашней странице Awesome: в разделе «Разработчики». Архивировано 23 ноября 2007 г. на Wayback Machine.
- ^ Анонс 3.0-rc1 в замечательном списке рассылки. Архивировано 6 мая 2009 г. на Wayback Machine.
- ^ «потрясающий пакет в репозитории сообщества Arch Linux» . Архивировано из оригинала 11 сентября 2010 г. Проверено 31 августа 2022 г.
- ^ Debian — Подробная информация о пакете Awesome in Squeeze . Пакеты.debian.org. Проверено 13 июля 2013 г.
- ^ Пакеты Gentoo /package/x11-wm/awesome . Packages.gentoo.org (10 апреля 2013 г.). Проверено 13 июля 2013 г.
- ^ «Убунту — Ошибка» .
- ^ «потрясающе — Software.opensuse.org» .
- ^ Awesome Wiki: Список потрясающих релизов. Архивировано 5 июня 2009 г. на Wayback Machine.
Внешние ссылки
[ редактировать ]
- Официальный сайт
- Неделя
- Мой первый классный урок
- Скриншоты
- Фалько Бентин (01 декабря 2008 г.). «Герр дер Фенстер. Шланкер Оконный менеджер потрясающий» [Повелитель окон. Slim Awesome Window Manager]. Пользователь Linux (на немецком языке) (12/2008). ISSN 1615-4444 . Проверено 16 марта 2010 г.
- Потрясающий оконный менеджер: как ваша среда может работать на вас? - обзорная статья вики (в разработке)
- Потрясающий оконный менеджер — краткий обзор в блоге
- Сравнение расширяемых оконных менеджеров — Сравнение Sawfish , Awesome , Xmonad , StumpWM и Qtile .
- Бесплатные оконные менеджеры X
- Программное обеспечение, поддерживающее сценарии Lua (язык программирования)
- Программное обеспечение на основе сценариев Lua (язык программирования)
- Тайлинговые оконные менеджеры
- Программное обеспечение, связанное с оконной системой Unix
- X оконные менеджеры, расширяемые с помощью сценариев