Niesamowite (menedżer okien) - Awesome (window manager)
Pierwotny autor (autorzy) | Julien Danjou |
---|---|
Pierwsze wydanie | 18 września 2007 |
Wersja stabilna | 4.3 / 28 stycznia 2019
|
Magazyn | |
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ż
- Porównanie menedżerów okien X
- dwm
- wmiu
- i3 (menedżer okien)
- Ion (menedżer okien)
- Menedżer okien układania
- KikutWM
- Menedżer okien kafelkowych
- xmonada
Bibliografia
Linki zewnętrzne
- Oficjalna strona internetowa
- Wiki
- Moje pierwsze niesamowite - samouczek
- Zrzuty ekranu
- Falko Benthin (2008-12-01). „Herr der Fenster. Schlanker Windowmanager Niesamowite” [Władca okna. Slim Awesome Window Manager]. Użytkownik Linuksa (w języku niemieckim) (12/2008). ISSN 1615-4444 . Pobrano 16.03.2010 .
- Awesome Window Manager: jak Twoje środowisko może pracować dla Ciebie? - artykuł przeglądowy wiki (w toku)
- Niesamowity menedżer okien - krótka recenzja bloga
- Porównanie rozszerzalnych menedżerów okien — Porównanie Sawfish , Awesome , Xmonad , StumpWM i Qtile .