Login
Newsletter
Werbung

Do, 28. Februar 2013, 15:00

awesome – Ein Tiling-Fenstermanager

Konfiguration

Sobald man mit der Steuerung von awesome zurecht kommt, kann man sich mit den vielen Konfigurationsmöglichkeiten beschäftigen. Man konfiguriert awesome über das Lua-Skript rc.lua. Programmierkenntnisse in Lua sind für kleinere Änderungen nicht nötig.

Die Konfigurationsdatei rc.lua befindet sich im Ordner /etc/xdg/awesome. Damit die Einstellungen nur für den aktuellen Nutzer geändert werden, sollte der Inhalt dieses Ordners zuerst nach ~/.config/awesome kopiert werden.

Die Datei rc.lua wird beim Start von awesome ausgeführt. Im Laufe des Skripts werden die Layouts, Tags, das Menü,das Panel und alle Tastenkombinationen definiert. Die Datei ist gut kommentiert, was das Bearbeiten erleichtert. Kommentare beginnen in Lua mit --.

Tags

In der Standardkonfiguration werden die Tags mit den Ziffern 1 bis 9 benannt. Man kann die Tags beliebig umbenennen. In der Konfigurationsdatei werden die Tags so definiert:

-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
end

Man kann statt den Zahlen auch Wörter verwenden, die man in Anführungszeichen setzen muss:

tags[s] = awful.tag({ "www", "chat", "mail", 4, 5, 6, 7, 8, 9 }, s, layouts[1])

So kann man die Tags beliebig umbenennen. Um die Änderungen zu übernehmen, muss awesome neugestartet werden: Dies kann über das Menü oder mit der Tastenkombinationen Mod4 + Strg + R geschehen. Aber Achtung: Wenn ein Fehler in der Datei rc.lua ist, startet awesome nicht mehr richtig. Es gibt eine Möglichkeit, die Konfiguration auf Fehler zu überprüfen:

awesome -k

Dies bietet allerdings keine Garantie, dass wirklich kein Fehler vorhanden ist. Syntaxfehler kann man so aber immerhin verhindern.

Layouts

Alle verfügbaren Layouts werden in rc.lua in der Variable layouts gespeichert:

layouts =
{
    awful.layout.suit.floating,
    awful.layout.suit.tile,
    ...
}

Um das Standardlayout zu ändern, muss folgende Zeile bearbeitet werden. Die Namen der Tags sind dabei egal.

tags[s] = awful.tag({ "www", "chat", "mail", "work", 5, 6, 7, 8, 9 }, s, layouts[1])

Die Ziffer bei layouts[1] bezeichnet die Position des Layouts in der Liste, beginnend bei 1. Der Standard ist hier also Floating. Damit Tiling verwendet wird, muss die Ziffer z.B. auf 2 geändert werden.

Es ist auch möglich, für jeden Tag ein eigenes Layout zu bestimmen, oder sogar, auf jedem Bildschirm die Tags unterschiedlich zu konfigurieren. Wie dies geht, wird im FAQ beschrieben.

Rules

awesome ermöglicht es, Regeln für Programmfenster zu erstellen und einem Programm immer die gleichen Eigenschaften zuzuweisen. So kann man z.B. erreichen, dass der Browser stets den Tag www bekommt.

In der Konfigurationsdatei steht fast am Ende:

-- {{{ Rules
awful.rules.rules = {
    ...
    { rule = { class = "MPlayer" },
    properties = { floating = true } },
    ...

Hier wird bestimmt, dass MPlayer im Floating-Modus startet. Durch Hinzufügen folgender Regel startet Firefox immer auf Tag 1. Auch wenn dieser www heißt, wird er dennoch mit der Nummer 1 angesprochen.

{ rule = { class = "Firefox" },
    properties = { tag = tags[1][1] } },

Bei tags[1][1] steht die erste Ziffer für den Bildschirm, also Bildschirm 1, die zweite für den Tag, also Tag 1. Möchte man, dass Firefox auf Tag 3 auf dem zweiten Bildschirm startet, müsste es tags[2][3] heißen.

Nun stellt sich noch die Frage, wie man an den Klassennamen für eine Regel kommt. Dies ist mit dem Programm xprop aus dem Paket x11-utils möglich:

xprop WM_CLASS

Nach dem Klick auf ein Fenster wird der Klassenname ausgegeben. Für xterm sieht die Ausgabe so aus:

WM_CLASS(STRING) = "xterm", "UXTerm"

Der Klassenname ist der zweite Name, hier also UXTerm. Der erste Name, hier xterm, kann mit der Variable instance abgefragt werden. Wichtig ist, dass die neuen Regeln zwischen den äußeren Klammern stehen.

awful.rules.rules = {
    -- Hier müssen alle neuen Regeln hin
}
-- Und nicht hier

Weitere Informationen über die Regeln findet man in der Referenz von awesome.

Kommentare (Insgesamt: 18 || Alle anzeigen )
Re: Namensproblem (Anonymous, Do, 7. März 2013)
Namensproblem (Donald, Do, 7. März 2013)
(pce, Fr, 1. März 2013)
Re[3]: tiling wm mit tint2 als panel (zephes, Fr, 1. März 2013)
Ein Knopf (malaria, Do, 28. Februar 2013)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung