Niesamowite (menedżer okien) - Awesome (window manager)

Wspaniały
Niesamowite logo.png
Niesamowity zrzut ekranu.png
niesamowite z wieloma otwartymi terminalami
Pierwotny autor (autorzy) Julien Danjou
Pierwsze wydanie 18 września 2007 ; 13 lat temu ( 18.09.2007 )
Wersja stabilna
4.3 / 28 stycznia 2019 ; 2 lata temu ( 28.01.2019 )
Magazyn Edytuj to na Wikidata
Napisane w C i Lua
System operacyjny Uniksopodobny
Rodzaj Menedżer okien
Licencja GPLv2 +
Stronie internetowej superwm.org

AwesomeWM to dynamiczny menedżer okien dla systemu X Window opracowany w językach programowania C i Lua . Lua służy również do konfigurowania i rozszerzania menedżera okien. Jego rozwój rozpoczął się jako rozwidlenie dwm . Ma być niezwykle mały i szybki, a jednocześnie w dużym stopniu konfigurowalny. Umożliwia użytkownikowi zarządzanie oknami za pomocą klawiatury.

Rozwidlenie początkowo nazywano jdwm , gdzie „jd” oznaczało inicjały głównego programisty, a dwm oznaczało projekt oprogramowania, z którego został rozwidlony. Pierwsze repozytorium git dla tego, co miało stać się niesamowite, zostało utworzone we wrześniu 2007 roku. Nazwa jdwm została zmieniona na awesome, której nazwa pochodzi od tego samego wyrażenia użytego przez Barneya Stinsona, bohatera How I Met Your Mother . Firma awesome została oficjalnie ogłoszona na liście dyskusyjnej dwm 20 września 2007 roku.

Cel projektu

Menedżer okien jest prawdopodobnie jednym z najczęściej używanych programów w codziennych zadaniach, z przeglądarką internetową, czytnikiem poczty i edytorem tekstu. Zaawansowani użytkownicy i programiści mają duży wybór między kilkoma narzędziami do tych codziennych zadań. Niektóre są bardzo rozszerzalne i konfigurowalne.

Firma awesome próbuje uzupełnić te narzędzia o to, czego nam brakuje: rozszerzalny, wysoce konfigurowalny menedżer okien.

Aby osiągnąć ten cel, awesome został zaprojektowany jako menedżer okien frameworka. Jest niezwykle szybki, mały, dynamiczny i bardzo rozszerzalny przy użyciu języka programowania Lua .

Niesamowite pojawiło się jako rozwidlenie dwm z możliwością dostosowywania za pomocą zewnętrznych plików konfiguracyjnych (patrz Konfiguracja i dostosowywanie poniżej). Chociaż bardzo rozszerzalny, domyślna konfiguracja menedżera okien jest celowo uproszczona. W ten sposób autor stworzył coś, co nazywa ramowym menedżerem okien, aby użytkownicy mogli się rozwijać i dostosowywać do własnych potrzeb.

Cechy

  • Skonfigurowany za pomocą pliku konfiguracyjnego Lua .
  • Podobnie jak dwm i wmii , awesome używa tagów zamiast obszarów roboczych . Okna można przypisać do kilku tagów i jednocześnie można wybrać wiele tagów.
  • Jako dynamiczny menedżer okien , awesome może przełączać się między różnymi układami dla każdego tagu, w tym pływającym , kilkoma dynamicznymi układami kafelków , zmaksymalizowanym i powiększającym .
  • Wiele pasków stanu i na każdym ekranie, w tym różne widżety (pola tekstowe i ikony, wykresy, paski postępu itd.).
  • Wszystko da się zrobić za pomocą klawiatury, więc użycie myszki jest opcjonalne.
  • Obsługa wielu głowic ( tryb XRandR , Xinerama lub Zaphod ).
  • Implementuje standardy freedesktop.org, w tym EWMH , XDG Base Directory, XEmbed, Desktop Notification i System Tray.
  • Obsługa kompozycji i prawdziwej przezroczystości za pośrednictwem zewnętrznego kompozytora, takiego jak xcompmgr.
  • Zdalne sterowanie przez D-Bus (niesamowity klient).
  • Obsługuje język znaczników pango .

Konfiguracja i personalizacja

Od samego początku awesome był pomyślany jako rozwidlenie dwm z zewnętrznym plikiem konfiguracyjnym. W związku z tym jego format pliku konfiguracyjnego oraz sam proces konfiguracji były przedmiotem szczególnej uwagi autora.

Wczesne formaty plików konfiguracyjnych

Przed trzecim głównym wydaniem, jedną z cech awesome było to, co Danjou określił jako „nieskomplikowaną konfigurację”. Pierwsze wersje awesome (1.x) były prostą modyfikacją dwm z prostą konfiguracją plików używającą libconfig . W gałęzi 2.x Danjou zmienił bibliotekę konfiguracyjną z libconfig na libconfuse , inną bibliotekę konfiguracyjną plików płaskich, nieco przypominającą libconfig. Podczas opracowywania wydań 2.x do programu awesome dodano wiele funkcji dostosowywania, takich jak paski tytułowe i rysowanie ikon.

Nowy plik konfiguracyjny

20 maja 2008 Danjou ogłosił w e-mailu do niesamowitej listy dyskusyjnej, że nowy format pliku konfiguracyjnego zostanie użyty w wersji 3.0. Nowy format został umieszczony w pliku ~/.awesomerc.lua, a później został przeniesiony do ~/.config/awesome/rc.lua. Jak sugeruje rozszerzenie, plik konfiguracyjny jest napisany w języku programowania Lua . Danjou argumentował, że nowy format i integracja z Lua umożliwiłyby niesamowitym użytkownikom dostosowywanie awesome w sposób, który wcześniej uważał za niemożliwy: użycie języka programowania do konfiguracji umożliwiło dynamiczne określanie opcji konfiguracyjnych.

Niesamowita Lua API jest teraz hostowana na stronie głównej awesome, a artykuł w stylu samouczka o konfigurowaniu awesome jest opublikowany na niesamowitej Wiki.

Motywy i widżety

Możliwe jest stworzenie motywu (lub skórki ) za pomocą biblioteki Beautiful menedżera okien. Zgodnie z plikiem konfiguracyjnym rc.lua , motywy są również wykonywane w Lua , co pozwala na tworzenie dynamicznych motywów.

Chociaż domyślna niesamowita konfiguracja w wersji 3.2.1 nie ma żadnych wskaźników stanu (takich jak stan sieci bezprzewodowej, wskaźniki baterii itp.), użytkownicy mogą dodawać te elementy za pomocą widżetów. Dane dla widżetów są dostarczane za pomocą dowolnego kodu Lua, ponieważ widżety są zdefiniowane w głównym pliku konfiguracyjnym.

Migracja do XCB

Wersja 3.0, wydana 18 września 2008, używa biblioteki XCB do komunikacji z serwerem X, czyniąc awesome pierwszym menedżerem okien, który używa tej biblioteki zamiast Xlib . Prace nad portem XCB rozpoczął Arnaud Fontaine, jeden z obecnych programistów Awesome, w styczniu 2008 roku.

Arnaud Fontaine ogłosił przejście na XCB na listę dyskusyjną XCB 9 kwietnia 2008 r. W swoim przesłaniu do listy podkreślił następujące główne zalety korzystania z XCB: „architektura modułowa; bezpośredni dostęp do protokołów; wielowątkowość; asynchroniczne żądania /odpowiedzi;". Port XCB został ukończony w następnym miesiącu, a Danjou stworzył nowy oddział oparty na XCB.

Integracja Lua

Ze względu na dostrzegane problemy, które ograniczały rozszerzanie i dostosowywanie w wersji awesome przed 3.0, autor zdecydował się zintegrować konfigurację opartą na Lua z awesome. rc1 nowej implementacji skryptowej Lua został ogłoszony w sierpniu 2008. We wrześniu 2008 pierwsza wersja awesome z Lua API została ukończona równolegle z implementacją XCB.

Dostępność pakietu dystrybucyjnego

niesamowite jest rozprowadzana na szeroką gamą uniksopodobnych systemów operacyjnych, w tym Arch Linux , Debian , Fedora Linux , Gentoo , Ubuntu , sourcemage , openSUSE , Mageia , NixOS , FreeBSD , NetBSD i OpenBSD .

Nazwane wydania

Wersje AwesomeWM od 1.0 do 1.3 (wrzesień-październik 2007) nie zostały nazwane. Począwszy od pierwszego kandydata do wydania 2.0 (listopad 2007), firma awesome używała nazwanych wydań. Nazwy wydawnictw są związane z muzyką. AwesomeWM v4.x używa nazwy utworu z Daft Punk .

Zobacz też

Bibliografia

Linki zewnętrzne