stringtranslate.com

потрясающе (менеджер окон)

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] , чтобы пользователи могли расширять и адаптировать его под свои нужды.

Функции

Конфигурация и настройка

С самого начала awesome задумывался как форк dwm с внешним файлом конфигурации. [5] Поэтому формат его файла конфигурации и сам процесс настройки стали предметом особого внимания автора.

Ранние форматы файлов конфигурации

До третьего основного релиза одной из функций awesome было то, что Danjou назвал «несложной конфигурацией». [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]

API Awesome Lua теперь размещен на домашней странице awesome [9] , а статья в стиле руководства по настройке awesome размещена на вики-сайте awesome. [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-scriptable был анонсирован в августе 2008 года. [15] В сентябре 2008 года первая версия awesome с Lua API была завершена параллельно с реализацией XCB. [7]

Доступность дистрибутивного пакета

awesome распространяется на широкий спектр Unix-подобных операционных систем, включая Arch Linux , [16] Debian , [17] Fedora Linux , Gentoo , [18] Ubuntu , [19] Source Mage , openSUSE , [20] Mageia , NixOS , FreeBSD , NetBSD и OpenBSD .

Названные релизы

Версии awesome с 1.0 по 1.3 (сентябрь–октябрь 2007 г.) не имели названий. Начиная с первого релиз-кандидата 2.0 (ноябрь 2007 г.), awesome использовал именованные релизы. [21] Названия релизов связаны с музыкой. awesome v4.x использует название песни из Daft Punk .

Смотрите также

Ссылки

  1. ^ Тег релиза 1.0
  2. ^ "Выпуск 4.3". 28 января 2019 г. Получено 28 января 2019 г.
  3. ^ "github.com/awesomeWM/awesome". GitHub . 28 апреля 2022 г.
  4. ^ ab Danjou, Julien (20 сентября 2007 г.). "Анонс проекта из списка рассылки dwm". Gmane . Архивировано из оригинала 2009-04-06 . Получено 2008-12-13 .
  5. ^ abcdef Данжу, Жюльен (15 апреля 2009 г.). «В другом направлении». Архивировано из оригинала 13 июля 2011 г. Получено 14 августа 2011 г.
  6. ^ "about - awesome Window Manager". Архивировано из оригинала 2007-10-11 . Получено 2016-09-06 .
  7. ^ abc awesome 3: Интеграция Lua Архивировано 10 февраля 2009 г. на Wayback Machine
  8. ^ ab Новости об awesome-3 и о последних коммитах (20 мая 2008 г.) Архивировано 22 августа 2009 г. на Wayback Machine
  9. ^ потрясающая документация API Архивировано 11 мая 2009 г. на Wayback Machine
  10. ^ Конфигурация Awesome 3 Архивировано 1 июня 2009 г. на Wayback Machine
  11. ^ awesome Wiki: Beautiful Архивировано 30 мая 2009 г. на Wayback Machine
  12. ^ awesome Wiki: Виджеты в awesome Архивировано 30 мая 2009 г. на Wayback Machine
  13. ^ ab Объявление о переходе XCB из списка рассылки XCB Архивировано 27 августа 2009 г. на Wayback Machine
  14. Страница сообщества на главной странице Awesome: в разделе «Разработчики». Архивировано 23 ноября 2007 г. на Wayback Machine.
  15. ^ Объявление о 3.0-rc1 в списке рассылки awesome Архивировано 6 мая 2009 г. на Wayback Machine
  16. ^ "awesome package in the Arch Linux community repository". Архивировано из оригинала 2010-09-11 . Получено 2022-08-31 .
  17. ^ Debian — Подробная информация о пакете awesome в squeeze. Packages.debian.org. Получено 13 июля 2013 г.
  18. ^ Пакеты Gentoo /package/x11-wm/awesome. Packages.gentoo.org (2013-04-10). Получено 2013-07-13.
  19. ^ «Ubuntu – Ошибка».
  20. ^ "круто - software.opensuse.org".
  21. ^ awesome Wiki: Список потрясающих релизов Архивировано 5 июня 2009 г. на Wayback Machine

Внешние ссылки