Awesome

Kategorie: X - správci oken

Dynamický správce oken pro X napsaný v Lua kódu.

Obsah:

  1. Úvodem
  2. Organizace oken
  3. Možnosti příkazu
  4. Nastavení
  5. Moje nastavení
  6. Závěrem

Úvodem

Awesome je správce oken pro X. Spravuje okna v rozdílných rozloženích jako dlaždice a plovoucí obsah. Každé rozložení může být dynamicky změneno a optimalizovat tak prostředí pro aplikace k zahájení činnosti.

V dlaždicovém rozložení jsou okna organizována v hlavním a stohovatelném prostoru. Hlavní prostor obsahuje okna, která vyžadují nejvíce pozornosti, zatímco stohovatelný prostor chytá všechna ostatní okna. V plovoucím rozložení lze libovolně zvětšovat, rozahovat a rozmisťovat okna. Dialogová okna jsou vždy organizována jako plovoucí. Spirálové a ubývající rozložení jsou speciální případy dlaždicového rozložení.

Okna jsou seskupena podle cedulek, každé okno může být označeno s jednou nebo více cedulkami. Vybráním některých cedulek se zobrazí pouze okna s těmito cedulkami.

Je velmi rychlý a je založen na Lua kódu. Dovede automaticky organizovat okna na ploše podle předvoleb a uživatelem definovaných kritérií. Funguje na principu hlavního okna, které vyžaduje nejvíce pozornosti a stohování ostatních oken. Nastavení se provádí editací textového souboru, je přizpůsobitelný ze všech směrů. Více informací najdete na oficiálních stránkách Awesome.

Organizace oken

Lze vybírat asi z dvanácti druhů řazení oken, níže je popsáno několik charakteristických podob.

Dlaždice Dlaždice

Automaticky přizpůsobuje okna do dlaždic po obrazovce a lze měnit velikost, první okno je na celou obrazovku.

Roh Roh

V rohu se nachází větší hlavní okno a kolem něj se řadí zbývající.

Lupa Lupa

Uprostřed je hlavní okno a kolem něho jsou v pozadí další okna.

Férový Férový

Okna se dělí specifickým směrem „férově“.

Celá obrazovka Celá obrazovka

Hlavní okno se zobrazí na celou obrazovku.

Plovoucí

Okna plavou po obrazovce jak již známe z Windows a klasických desktopů. Lze libovolně měnit velikost.

Možnosti příkazu

  • -v, –version Vypíše verzi, informace a ukončí.
  • -h, –help Vypíše nápovědu a ukončí.
  • -c, –config soubor Použije alternativní soubor s nastavením
  • -k, –check Zkontroluje syntaxi konfiguračního souboru.
  • search Přidá adresář do knihovny hledání.
  • -a, –no-argb Zakáže používání ARGB.
  • -r, –replace Nahradí aktuálního manažera oken.

Nastavení

Nastavení Awesome se provádí změnou konfiguračního souboru rc.lua, který se pro uživatele nachází ve složce .config/awesome v domovském adresáři. Systémové nastavení se nachází v /etc/xdg/awesome/.

/home/franta/.config/awesome/rc.lua
/etc/xdg/awesome
rc.lua

Témata

Témata se nachází v adresáři ~/.config/awesome/themes, v konfiguračním souboru jej například volám pomocí:

beautiful.init("~/.config/awesome/themes/mv/theme.lua")

Chování oken

Chování oken lze nastavit v hlavním konfiguračním souboru a nachází se ke konci v sekci „Rules„. Lze nastavit parametry okna, chování, tag, obrazovku a další vlastnosti.

Dekorace okna

Líbí se mi horní lišta okna obsahující název a základní ovládací prvky. Pro její aktivaci musí konfigurační soubor obsahovat v části „Rules“ následující kód:

{ rule_any = {type = { "normal", "dialog" }
  }, properties = { titlebars_enabled = true } 
},

Jestliže nastavíme hodnotu z true na false, budou okna bez dekorace a klasický terminál Xterm pak může vypadat následovně:

Awesome - bez dekorace okna
Awesome – bez dekorace okna

Pravidla programů

Pro nastavení chování okna programu Firefox používám níže uvedené pravidlo, znamená otevření programu na monitoru 2 a záložce WEB.

{ rule = { class = "Firefox" }, 
  properties = { screen = 2, tag = "WEB" } },

Autostart aplikací po startu

Pro start aplikací xterm a pcmanfm s režimem správy plochy do souboru rc.lua stačí na konec zadat:

do 
   local cmds = 
   { 
      "pcmanfm --desktop", 
      "xterm" 
   } 
   for _,i in pairs(cmds) do 
      awful.util.spawn(i) 
   end 
end

Moje nastavení

Mé nastavení používané pro Awesome 4.2. Jedná se o trochu upravené základní nastavení takovým způsobem, aby plocha stroze zobrazovala widgety, aplikace, okna a důležité prvky. Barevné odstíny jsou laděné do modré a panely s nabídkou mají prvky průhlednosti. Výchozí barvy jsou modrá a průhledná tmavá, pozadí je krajina.

Software se automaticky spouští v příslušném tagu nebo také pracovní ploše, které jsou pojmenovány: Plocha, Úpravy, WEB, Kancelář, Média, Programování, Grafika a Hry.

Screenshoty

Widgety

  • Cmus – nyní hraje
  • Hlasitost
  • Kalendář
  • RAM

Cmus – nyní hraje

Tento widget jsem napsal, jelikož se mi hodí vidět aktuálně přehrávanou skladbu v programu cmus.

Zadání widgetu v konfiguračním souboru zní:

-- cmus nyni se prehrava
local cmus, cmus_timer = awful.widget.watch(
    "cmus-remote -Q",
    2,
    function(widget, stdout)
        local cmus_now = {
            state   = "N/A",
            artist  = "N/A",
            title   = "N/A",
            album   = "N/A"
        }

        for w in string.gmatch(stdout, "(.-)tag") do
            a, b = w:match("(%w+) (.-)\n")
            cmus_now[a] = b
        end

        -- customize here
        widget:set_text( " ‣ " .. cmus_now.artist .. " - " .. cmus_now.title)
    end
)

Pak jen stačí zavolat proměnou cmus při vytváření wiboxu opět v souboru rc.lua, stačí najít řádek s.mywibox:setup { a pod ním pak vložic řádek cmus:

{ -- Right widgets
    mykeyboardlayout, 
    wibox.widget.systray(), 
    mytextclock, 
    s.mylayoutbox,
    cmus

Požadavky

Stačí nakopírovat adresář awesome do složky .config domovského adresáře.
Vyžaduje také změnu cest k souborům v souboru rc.lua. Ikony se extrahují do /opt/icons.

/home/franta/.config/awesome

Příklad změny cesty z:

{ "Awesome", "leafpad /home/martin/.config/awesome/rc.lua", "/opt/icons/awesome32.png" },

Na:

{ "Awesome", "leafpad /home/UŽIVATEL/.config/awesome/rc.lua", "/opt/icons/awesome32.png" },

Závěrem

Na automatické uspořádání oken v režimu dlaždic se rychle zvyká a skvěle se s ním pracuje, ovládání umocněné klávesovými zkratkami je zcela předvídatelné a efektivní. Awesome je velmi rychlý a lehký správce oken.