awesome wm und die Tastatur

Wie ich bereits angekündigt habe, wollte ich mich bezüglich der Desktop-Umschaltung mittels Tastatur noch schlau machen. Bei Mate, was ich auf meinem Desktop-PC benutze, schalte ich die virtuellen Desktops mit STRG+ALT+1(-6) um. Das wollte ich so auch bei Awesome haben, auch wenn Awesome von Beginn an gleich 9 virtuelle Desktops zur Verfügung stellt.

Nachdem ich mit also eingelesen hatte, wollte ich loslegen. Zu meiner Überraschung, in der Konfig fanden sich schon Einträge dieser Art. Ein Test sollte es zeigen. Anstelle von STRG+ALT ist die mod4 Taste angegeben. Nur, was ist die mod4 Taste? Kurze Kontrolle, es handelt sich um die Windows-Taste auf der Tastatur. Also die Taste zwischen STRG und ALT (NICHT Alt Gr!!!). Ich habe es ausprobiert und schau an. Ohne irgendwelche Modifikationen kann ich mit Windows+1(-9) durch alle Desktops klicken. Da das genauso einfach geht, wie ich es beim Desktop-PC gewohnt bin, habe ich nichts gross verändert.

Entsprechend muss ich hier auch nichts beschreiben, wie ich das geregelt habe. Ich denke mal, damit sollte jeder auch von alleine zurecht kommen.

Problem gelöst!

awesome wm auf meinem NetBook

Während die Nutzung von awesome unter vnc keine besonderen Anforderungen gestellt hat, schliesslich habe ich mich bislang mit dem NetBook immer auf diesem Weg mit meinem Desktop verbunden, sollte bei der nativen Nutzung, ich nenne es jetzt einfach mal so, schon ein bisschen mehr an Komfort bereitgestellt werden. Da wäre zum Beispiel der Network-Manager. Der verbindet sich zwar auch ohne die Verwendung von nm-applet problemlos mit dem Netz, aber man will ja auch Kontrolle darüber haben, womit man sich da verbindet. Besonders wenn ich unterwegs bin muss ich dem NetBook ja auch irgendwie sagen, dass er sich mit dem mobilen Internet verbinden soll. Das geht zwar auch über den Terminal mittels wvdial, aber wenn man schon einen Windows Manager benutzt, dann möchte man das auch gerne mit der Mouse erledigen.

Hier kommt wieder die Datei

/etc/X11/Sessions/awesome

ins Spiel. Dort muss lediglich diese Zeile hinzugefügt werden:

exec /usr/bin/nm-applet &

Meldet man sich nun über LightDM an, erscheint in der Task-Leiste, links neben der Uhr, das bekannte Symbol von nm-applet und kann voll verwendet werden! Der erste Schritt wäre also getan. Ich muss aber dazu sagen, es gibt noch andere Methoden, wie man das Netzwerk steuern kann. Da ich aber sowieso den NetworkManager und nm-applet installiert habe, benutze ich gleich das. So muss ich mich auch nicht an eine neue Bedienung gewöhnen.

Gut. Natürlich will ich auch die Lautstärke kontrollieren können. Dafür benutze ich einfach “mate-volume-control-applet”. Natürlich gibt es auch da genug Alternativen, da ich mate aber installiert habe, benutze ich wieder einfach das. Der entsprechende Eintrag in /etc/X11/Sesseions/awesome sieht dann so aus:

exec /usr/bin/mate-volume-control-applet &

Nach der nächsten Anmeldung erscheint das entsprechende Symbol oben in der Task-Leiste und kann gewohnt verwendet werden.

Für die Nutzung von mobilen Geräten wie eben dem NetBook ist es auch schon fast zwingend erforderlich, dass man über den Akkuzustand informiert wird. Auch hier setze ich wieder mate ein und füge folgende Zeile für den Start hinzu:

exec /usr/bin/mate-power-manager &

Schon hat man nach dem nächsten Starten die Batterie in der Task-Leiste und wird bequem über den Akku informiert.

Natürlich habe ich auch das Start-Menü angepasst und das sieht nun folgendermassen bei mir aus:

— {{{ Menu
— Create a launcher widget and a main menu
myawesomemenu = {
{ “hotkeys”, function() return false, hotkeys_popup.show_help end},
{ “manual”, terminal .. ” -e man awesome” },
{ “edit config”, editor_cmd .. ” ” .. awesome.conffile },
{ “restart”, awesome.restart },
{ “quit”, function() awesome.quit() end}
}

internetmenu = {
{ “Vivaldi”, “vivaldi”},
{ “Evolution”, “evolution”},
{ “Line”, “/home/diabolus/line.sh”}
}

toolsmenu = {
{ “Terminator”, “terminator” }
}

officemenu = {
{ “WPS Writer”, “/usr/bin/wps” },
{ “WPS Spreadsheets”, “/usr/bin/et” }
}

mymainmenu = awful.menu({ items = {
{ “Büro”, officemenu, beautiful.awesome_icon },
{ “Internet”, internetmenu, beautiful.awesome_icon },
{ “Tools”, toolsmenu, beautiful.awesome_icon },
{ “awesome”, myawesomemenu, beautiful.awesome_icon },
{ “Terminal”, terminal }
}
})

Wie man im “internetmenu” sehen kann, starte ich dort ein Skript, um Line, den Messenger zu starten. Line gibt es allerdings nur für Windows, so dass ich ihn natürlich mit wine starten muss. Das ist überhaupt kein Problem und das Icon von Line, obwohl es ein Windows-Programm ist, wird ebenfalls oben in der Task-Leiste angezeigt und kann komplett verwendet werden! Find ich gut!

Nun wollte ich jedoch einen anderen Hintergrund. Da gibt es auch einige Möglichkeiten, wie man es geregelt bekommt. Ich bin den einfachsten Weg gegangen. In dem Verzeichnis:

/usr/share/awesome/

finden sich die Themes, welche awesome verwenden kann. Zu Beginn ist “default” eingestellt, wer hätte das gedacht. Ich bin also einfach in das Verzeichnis:

/usr/share/awesome/themes/default

und habe dort die Datei:

theme.lua

editiert. Natürlich bedarf das Root-Rechten.

Hat man diese Datei offen sieht man, im Vergleich zu anderen Window-Manager ist es bei awesome ein richtiges Programm, welches das Thema steuert. Ich kann mir gar nicht ausmalen, wie dynamisch man das alles gestalten kann, wenn man sich die Zeit dafür nimmt. Ich bin mir aber auch nicht ganz sicher, wie diese Datei abgerufen wird. Wahrscheinlich nur einmal beim Start, aber trotzdem wird man jede Menge Spielereien damit machen können.

Gut. In dieser Datei findet sich nun die Zeile:

theme.wallpaper = themes_path..”default/background.png”

Wenn man sich ein bisschen mit Lua auskennt sieht man, hier wird eine Variable gesetzt. Diese heisst “theme.wallpater” und ist in Wahrheit ein Table. Das Table heisst “theme” und das entsprechende Item “wallpaper”. Es wird aber nicht einfach mit einer Zeichenkette gefüllt. Zuerst wird “themes_path” übergeben.  Darin gespeichert ist der Pfad zu den verfügbaren Themen. Also “/usr/share/awesome/themes/”. Durch die beiden Punkte wird angegeben, dass noch eine Zeichenkette folgt. Diese fügt nun das Verzeichnis “default/” hinzu und danach das entsprechende Bild. Standardmässig steht dort “background.png”. Ich habe eine andere Datei in das Verzeichnis eingefügt und in dieser Zeile angegeben. Dann sieht es so aus:

theme.wallpaper = themes_path..”default/37815.jpg”

Nachdem awesome neu geladen wurde erscheint auch sofort das angegebene Hintergrundbild. Super, wie ich finde. So will ich es haben!

Damit bin ich mit meiner Einrichtung erst einmal fertig und so sieht das Ergebnis aus:

Was mir jetzt noch fehlt ist ein Applet, um die Helligkeit zu regeln und ich muss mich noch darum kümmern, dass ich die Desktops mit der Tastatur umschalten kann. Keine grossen Sachen, aber bislang habe ich die noch nicht im Griff. Habe mich aber auch noch nicht wirklich damit befasst. Das kommt in einem späteren Artikel.

Nachtrag zu iDesk

Nachdem ich den ersten Artikel über iDesk geschrieben hatte, habe ich dann doch mal »idesktool« ausprobiert!

Dieses Tool macht es tatsächlich um einiges einfacher, ein Icon auf den Desktop zu zaubern! Es wird einfach zur Laufzeit gestartet und man wird Schritt für Schritt an die Hand genommen. Interessant dabei ist, dieses Tool legt auch noch eine Aktion für das Rechts-Klicken auf das Icon an. Standard steht dort, dass idesktool für dieses Icon gestartet werden soll, wodurch man es einfach ändern kann. Interessant!

Schön ist dabei auch, man bekommt ein Auswahlmenü gezeigt, in welchem man zum gewünschten Ordner eines Icons navigieren und dieses auswählen kann. SVG-Dateien, also Grafiken, die verlustfrei skaliert werden können, schluckt iDesk im Übrigen nicht. Sollte ein Programm, zum Beispiel Minetest, nur ein solches Icon bereitstellen, so muss dieses erst in PNG umgewandelt werden. Mit Programmen wie Gimp ist das allerdings kein Problem.

Mir ist dabei auch aufgefallen, wenn man ein Icon nach dem Erstellen auf dem Desktop verschiebt, so speichert iDesk dessen Position. Es ist also gar nicht so dramatisch, wenn man sich beim Erstellen eines Icons in den Koordinaten vertan hat. Man kann das Icon hinterher einfach verschieben und hat Ruhe.

awesome wm und Icons auf dem Desktop

Allgemein bin ich kein Freund davon, seinen Desktop mit Icons zu tapezieren. Das hat zum einen irgendwie Windows-Style und zum anderen finde ich es einfach nicht schön. Wozu gibt es denn Startmenüs, Schnellstartleisten und Shortcuts? Okay. Das Startmenü ist ja auch so eine Windows Erfindung. Aber, eine gute. Trotzdem. Ich mag es einfach nicht, wenn der Desktop voll ist.

Es gibt allerdings auch Dinge, die ich schon ganz gerne auf dem Desktop liegen habe. Zum Beispiel der Zugriff auf meine persönlichen Dateien, oder meine Bücher. Das ist für mich recht angenehm.

Nun habe ich in awesome keine Möglichkeit gefunden, Icons auf dem Desktop zu platzieren. Das ist aber nicht besonders schlimm. Linux bietet ja genügen Tools, die das übernehmen. Von fluxbox her kenne ich iDesk und das lässt sich auch problemlos bei awesome verwenden! Es ist allerdings nicht besonders komfortabel. Man muss die Icons mittels einer Datei anlegen, die Position festlegen, den Startbefehl kennen und auch noch wissen, wo man die Bilddatei findet, die man gerne sehen möchte.

Prinzipiell ist es aber nicht schwierig. Schauen wir uns zuerst mal so einen Eintrag an, den iDesk später auf den Desktop zaubert. Diese finden sich in aller Regel im Verzeichnis:

~/.idesktop/

Für mein Beispiel nehme ich die Datei »home.lnk«. Dabei ist es aber eigentlich egal, wie man die benennt. Lediglich das ».lnk« ist für iDesk wichtig. Die Datei sieht nun so aus:

table Icon
Caption: Persönlicher Ordner
Command: thunar /home/umarov
Icon: /home/umarov/.idesktop/if_file-manager_2101.png
X: 80
Y: 50
end

Wie man sieht, ist der Eintag in »table Icon« und »end« eingebettet. Das ist einfach so, muss man mit leben. Ich denke aber, dass sollte ja kein Beinbruch sein.

Die zweite Zeile lautet nun:

Caption: Persönlicher Ordner

Sie definiert das, was unter dem Icon auf dem Desktop angezeigt wird. »Caption:«  bleibt einfach stehen. Es sagt iDesk, was dahinter folgt. Dort kann man hinschreiben, was auch immer man gerne auf dem Desktop sehen würde. Es hat keinen Einfluss auf irgendetwas, sondern dient nur der Identifizierung für den User.

Als nächstes kommt:

Command: thunar /home/umarov

»Command:« bleibt natürlich einfach stehen. Dahinter kommt nun der Befehl, den iDesk beim Doppelklick auf das Icon ausführen soll. In meinem Fall wird der Dateimanager »thunar« gestartet. Warum? Nun, weil er schlank ist, schnell gestartet wird und dennoch recht kompfortabel ist. Dort kann aber auch sonst alles mögliche stehen. Mittels »vivaldi« würde zum Beispiel der Browser Vivaldi gestartet werden. Sollte sich jemand nicht sicher sein, mit welchem Befehl man das entsprechende Programm startet, der kann einfach einen Terminal starten und es ausprobieren. Was im Terminal funktioniert, funktioniert auch in dieser Zeile.

Nun sieht man aber auch, dass ich hinter thunar noch »/home/umarov« als Option angegeben habe. Wie gesagt, wenn es im Terminal funktioniert, dann auch in dieser Zeile. In diesem Beispiel wird also thunar gestertet, der wiederum das Verzeichnis /home/umarov öffnet. Also meinen Home-Ordner. Genau so, wie es es gerne haben möchte.

Mit der Zeile:

Icon: /home/umarov/.idesktop/if_file-manager_2101.png

definiert man nun, welches Icon angezeigt werden soll. Wie man sieht, dass sind ganz gewöhnliche PNG-Dateien. Wer also künstlerisch gut drauf ist, der kann sich auch selbst seine Icons zusammenbasteln. Ich bevorzuge die Grösse 32×32, aber das ist jedem selbst überlassen. Man kann sich auch, wie ich es in diesem Fall getan habe, ein Icon im Netz suchen. Es spielt dabei keine Rolle, wo man das Icon speichert. Ich habe es in den .idesktop Ordner gespeichert. Es gilt aber, wenn der User Zugriff auf den Speicherort hat, dann kann er es hinspeichern wo er will. Hinter das »Icon:«, was natürlich stehenbleiben muss, muss lediglich der entsprechende Pfad und die jeweilige PNG-Datei angegeben werden. Schon findet iDesk das Icon und zeigt es auf dem Desktop.

Als Tipp sei gesagt, die meisten Programme speichern bei der Installation ihr Icon im Verzeichnis:

/usr/share/icons/

Es wird oft in verschiedenen Qualitäten und Grössen gespeichert und man kann es mittels iDesk abrufen. Zumindest ist es unter Gentoo so. Will man zum Beispiel das Icon von Vivaldi haben, würde man in der Zeile folgendes angeben:

Icon: /usr/share/icons/hicolor/32×32/apps/vivaldi.png

Damit würde das gewohnte Icon von Vivaldi auf dem Desktop erscheinen. In den meisten Fällen ist es gewünscht, dass man die Icons gezeigt bekommt, die man gewohnt ist und dieser Ordner ist dafür absolut richtig!

Weiter im Text. Die beiden nächsten Zeilen nehmen wir uns zusammen zur Brust, da sie prinzipiell das gleiche machen:

X: 80
Y: 50

Man mag es kaum glauben, aber »X:« und »Y:« müssen natürlich stehen bleiben. Was macht man nun mit diesen Werten? Wer in der Schule aufgepasst hat, der kann es sich denken. Man gibt die Position an, auf welcher das Icon auf dem Desktop erscheinen soll. Simples Koordinatensystem. X gibt die Position von links nach rechts an, Y von oben nach unten.

X: 0
Y: 0

Würde das Icon also ganz oben links platzieren. Wobei man nur noch das untere, rechte Viertel sehen würde, da diese Koordinaten den Mittelpunkt des Icons definieren. Zumindest hat es sich beim Ausprobieren so dargestellt. Man muss in dem Fall aber auch bedenken, awesome hat oben noch seine Task-Leiste sitzen! Die wird von iDesk ignoriert. Man kann das Icon also auch darunter schieben!

In meinem Beispiel habe ich das Icon für mein Home-Verzeichnis 80 Punkte von links und 50 Punkte von oben platziert.

Damit wäre das Icon fertig und wenn ich nun alle starte sieht es so aus:

Da sind die Icons! links oben ist nun mein »Persönlicher Ordner«, wie ich ihn in der »home.lnk« Datei angelegt habe. Man kann ihn mit einem Doppelklick öffnen und er erfüllt damit seinen Zweck! Man sieht auch das Icon »Bücher«. Das habe ich nach dem selben Prinzip angelegt. Natürlich öffnet er das Verzeichnis, in dem meine Bücher zu finden sind.

Für mich ist der Desktop damit absolut ausreichend bestückt. Awesome ist bei mir ja als Window-Manager für VNC eingerichtet. Wenn ich also unterwegs bin, kann ich mit meinem NetBook, oder dem Tablett auf meinen Desktop-Rechner daheim zugreifen und bekomme diesen Window Manager angezeigt. Ich kann dann bequem zu meinen Büchern und daran arbeiten. Perfekt und wirklich absolut schnell! Meine Tests haben ergeben, dass ich damit selbst im Falle, dass ich mobil nur eine Edge-Verbindung habe, absolut einwandfrei und ohne Einschränkungen arbeiten kann! Genau so soll es sein.

Kommen wir noch kurz dazu, wie man iDesk überhaupt startet. Das hängt nun ganz davon ab, wie man awesome startet. Ich starte es mit TigerVNC. Dafür benötige ich im persönlichen ».vnc« Ordner die Datei xstartup, die so aussieht:

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec idesk &
exec awesome

Man sieht also, idesk wird noch vor awesome gestartet! Das »exec« ist dabei so eine Sache. Man kann es davor setzen, muss man aber nicht. In der Praxis hat sich aber gezeigt, es ist sinnvoll! Also einfach dazu schreiben, tut keinem weh! Wichtig ist dabei das »&«. Warum? Nun, würde man es nicht dazu schreiben, würde beim Start nach dem Aufruf von idesk nichts mehr weitergehen, bis idesk beendet wurde. Mit »&« gibt man nun an, dass nach dem erfolgreichen Start von idesk weitergearbeitet werden soll und dann wird awesome gestartet.

Nun weiss ich natürlich nicht, wie ihr den Window-Manager startet. Es gibt auch zu viele Wege dafür, dass ich jeden davon hier behandeln möchte. Ich denke aber mal, wenn ihr in der Lage seit, awesome zu starten, dann kriegt ihr das auch mit iDesk geregelt! Das Internet gibt ja auch mehr als genug Hilfestellungen dafür.

Okay. damit wären wir soweit am Ende dieses Artikels. Ich möchte aber noch kurz erwähnen, man kann es sich mit iDesk auch einfacher machen. Hat man idesk-extras installiert, dann kann man über den Befehl

idesktool

die Icons auch grafisch hinzufügen, ändern und löschen. Das habe ich allerdings noch nie benutzt, da es für meine Fälle ausreichend ist, die .lnk Dateien von Hand zu erstellen. Ausserdem tippe ich ganz gerne, vielleicht bin ich deshalb auch Autor. Wer es aber etwas komfortabler möchte, kann sich dieses Tool natürlich gerne anschauen!

Meine Anfänge mit awesome wm

Ich neige dazu, immer wieder nach einem neuen Window Manager, oder auch Desktop Manager zu suchen. Wenn das jemand erfährt und Ahnung davon hat, bekomme ich immer wieder eine Frage gestellt:

Was ist falsch an …

Dabei tauchen dann immer wieder die gleichen Kandidaten auf. Gnome, KDE, Mate und gelegentlich Enlightenment. Dabei ist die Frage schon in sich falsch! Denn weil ich nach neuen WMs suche heisst das nicht, dass mit den anderen etwas nicht stimmt! Meine Suche hat viele Gründe. Manchmal ist es Langweile. Also Langeweile wegen des eingesetzten WM.  Alles läuft wie man es haben will, man ist alles gewohnt usw. Irgendwie überkommt es mich dann manchmal, etwas verändern zu wollen. Meistens reicht es, wenn ich einen neuen Hintergrund oder ein neues Thema einsetze. Aber manchmal muss es eben mehr sein.

Es gibt aber auch andere Gründe. Neben meinem normalen Desktop betreibe ich zum Beispiel noch ein NetBook. Die kleinen Dinger sind allgemein immer etwas beschränkt in ihrer Ausstattung, was dem Platzmangel geschuldet ist. Da macht es wenig Sinn, wenn ein WM bereits 20% des Bildschirms mit Leisten zupflastert und man nicht mehr wirklich viel Platz für die Anwendungen hat. Es macht allerdings auch wenig Sinn, einen fetten WM einzusetzen. Gnoe3 wäre auf meinem NetBook zum Beispiel schon so dick, dass kaum noch Anwendungen ordentlich laufen. Das macht also keinen Sinn und da suche ich nach etwas kleinem, schnellen, was man dennoch gut bedienen kann.

Aber auch die Nutzung von VNC macht das Nachdenken über eine Alternative sinnvoll. Ist man mit dem NetBook, oder einem Laptop, oder einem Tablet unterwegs und hat nicht die beste Verbindung, will aber dennoch etwas am Desktop daheim arbeiten, dann sollen natürlich möglichst wenig Daten über die Leitung wandern müssen. Auch hier ist also ein schlanker WM sinnvoll.

Ich kann gerade förmlich die Frage in den Köpfen einiger Leser lesen. Warum VNC und nicht ssh? Ganz einfach. Ich bin grosser Anhänger von Application-Remote, also dem Tunneln einzelner Anwendungen über das Netzwerk. Daheim mache ich das dauernd. Da wandert ein Programm vom Rechner meiner Frau auf meinen Rechner, oder ich starte etwas auf dem NetBook und arbeite damit auf meinem Desktop. Daheim, bei einem internen Netzwerk, ist das auch kein Problem. Ist man aber unterwegs und hat nicht gerade die perfekte Verbindung, dann kann Application-Remote echt zum Geduldsspiel werden. Ausserdem habe ich schon die Erfahrung gemacht, zum Beispiel WPS-Office neigt dazu, wenn ich es mittels ssh auf dem NetBook betrieben habe, auf dem Desktop sämtliche Einstellungen zu verändern und stellenweise die zuvor geöffneten Daten nicht mehr zu finden. Das ist öde. Deshalb habe ich einen extra Benutzer angelegt, der seine Session headless auf dem Desktop laufen hat und mit dem ich unterwegs dann arbeite. Die Übertragung klappt mittels TigerVNC ganz vorzüglich und auch WPS-Office lässt die EInstellungen am Desktop in Ruhe.

Zurück zum Thema:

Bislang setze ich für VNC gerne fluxbox ein. Dieser flotte WM gehört bei mir seit den Anfängen meiner Gentoo-Zeit zum festen Bestandteil meiner Software. Wenn ich in die Verlegenheit komme, Gentoo neu zu installieren, dann ist so ziemlich das erste was ich baue fluxbox. Netterweise baut das aus den Abhängigkeiten dann auch gleich noch das ganze X11 mit, so dass ich mich darum nicht zu kümmern brauche.

Gut. Fluxbox hat jedoch auch einen Nachteil. Es ist unglaublich langweilig. Seine kleine Leiste am Boden ist auch nicht gerade ansprechend und ich habe noch kein Thema gefunden, was daran etwas geändert hätte. Aber, fluxbox ist eben doch schnell wie kaum etwas anderes. Deshalb ist er auch immer sofort mit dabei. Ist er installiert, starte ich X11 und von da geht die Installation von Gentoo dann weiter. Schön in Terminals. Einfach bequem.

Nun hat mich gestern wieder der Forscherdrang gepackt und ich habe mich umgeschaut, was es noch so an schnellen WMs zu finden gibt. Dabei bin ich über »awesome« gestolpert.  Die Screenshots haben mir sofort gefallen. Er hat eine Leiste, die im Allgemeinen oben Sitz, ein Menü befindet sich in der linken Ecke, direkt daneben sitzen gleich 9 virtuelle Desktops, man hat eine Taskleiste und eine Uhr. Das war doch schon interessant. Aber auch die Möglichkeit, die Fenster verschieden anzuordnen hat mir direkt gefallen. Diese kleine WM bietet dafür so viele Möglichkeiten an, dass habe ich bislang noch nie gesehen. Von Mate her kenne ich, dass ich ein Fenster nach links an den Rand schiebe und es wird über die linke Hälfte des Bildschirms vergrössert. Das können natürlich auch viele andere WMs und sogar Windows kann das. So habe ich es bei mir auch eingestellt. Ich schiebe zum Beispiel Geany nach links und es wird gross. Ein Terminal schiebe ich nach rechts oben und er füllt in der rechten Hälfte die Hälfte vom Rest des Bildschirms aus. Darunter kann ich dann noch eine Anwendung starten. Einfach!

Awesome ist da dann noch krasser. Man kann vorgeben, wie Anwendungen geöffnet werden. Sagen wir mal, ich will Geany links die hälfte des Bildes füllen lassen und andere Anwendungen sollen sich um die verbleibende Hälfte streiten. Dann muss man nur oben Rechts im Eck den entsprechenden Modus aktivieren und kann dann einfach seine Programme starten. Geany als erstes, das wird links gross. Der Terminal nimmt dann rechts die Hälfte ein und wenn man noch einen Dateimanager öffnen will, macht der Terminal sich dünn und darunter erscheint der Dateimanager. Geniale Sache!

Aber awesome hat noch etwas, was ich bislang noch nie bei einem WM gesehen habe. Was aber nicht heisst, dass es das nicht gibt. Er wird nämlich über lua konfiguriert. Ganz im Ernst! Normalerweise, wie zum Beispiel fluxbox es macht, definiert man in einer Datei einfach, was in den Menüs stehen soll und fertig. Bei awesome kann man es ähnlich machen. In meiner ~/.config/awesome/rc.lua steht zum Beispiel folgender Abschnitt, welcher das Menü oben links zusammenstellt:

myawesomemenu = {
{ “hotkeys”, function() return false, hotkeys_popup.show_help end},
{ “manual”, terminal .. ” -e man awesome” },
{ “edit config”, editor_cmd .. ” ” .. awesome.conffile },
{ “restart”, awesome.restart },
{ “quit”, function() awesome.quit() end}
}

internetmenu = {
{ “Vivaldi”, “vivaldi”},
{ “Evolution”, “evolution”},
{ “Pidgin”, “pidgin”}
}

mymainmenu = awful.menu({ items = {
{ “Internet”, internetmenu, beautiful.awesome_icon },
{ “awesome”, myawesomemenu, beautiful.awesome_icon },
{ “open terminal”, terminal }
}
})

Das ergibt dann folgendes Menü:

Im ersten Moment mag das nicht so angenehm erscheinen. Was man da für einen Aufwand betreiben muss, um ein paar Menüpunkte einzufügen. Wäre da nicht der Punkt, dass lua eben eine Programmiersprache ist! Das bedeutet, man kann hier mit Funktionen hantieren und, zumindest gehe ich derzeit davon aus, so ein Menü auch automatisch erstellen lassen. Indem man bestimmte Verzeichnisse ausliesst und ähnliches. Wie weit da lua bei awesome funktioniert, muss ich noch herausfinden. Es gibt eine API dafür, die habe ich mir aber noch nicht angeschaut. Cool ist es aber auf alle Fälle! Dank lua kann man die rc.lua quasi voll dynamisch erstellen lassen und das ist irgendwie cool. Bliebe noch die Frage, ob und wann ich mich damit auseinandersetze. Abwarten!

So wäre es zum Beispiel auch möglich, dass man eine Funktion schreibt, welche per Zufall ein Bild in einem bestimmten Ordner als Hintergrund festlegt. Damit würde dann, bei jedem Neustart von awesome, immer ein anderes Bild erscheinen. Nur so als Beispiel.

Ich habe aber auch schon ein Problem bei awesome herausgefunden. Terminator, mein bevorzugter Terminal, will unter awesome nicht richtig laufen. Er startet zwar, aber das Fenster bleibt schwarz. Man kann das Fenster auch nicht wie gewohnt schliessen, sondern muss es richtig killen. Warum das so ist, habe ich bislang noch nicht herausgefunden.

Positiv aufgefallen ist mir, in der Titelleiste eines Fenster befinden sich rechts mehr Buttons, als bei eigentlich allen anderen WMs. Dort kann man zum Beispiel umschalten, wie sich ein Fenster verhält. Dort kann man zum Beispiel einem Fenster auch vorgeben, dass es fullscreen gezeigt werden soll. In dem Fall überlagert es auch die obige Leiste von awesome. Das kann auch ganz nützlich sein und bislang habe ich das so noch nicht gesehen!

Interessant finde ich bei der Konfiguration auch, man kann das Clock-Widget so zusammenbauen, wie man es persönlich haben möchte und auch gleich noch angeben, nach wie vielen Sekunden es aktualisiert werden soll. Ich bevorzuge es, das komplette Datum und die Zeit mit Sekunden angezeigt zu bekommen. Dafür habe ich diese Zeile

mytextclock = wibox.widget.textclock()

Für mich wie folgt abgeändert:

mytextclock = wibox.widget.textclock(” %d.%m.%Y %H:%M:%S “, 1)

Damit erscheint bei mir Uhr und Datum nun so:

Da mir das aber ein bisschen zu gepresst aussieht, habe ich noch einen Bindestrich hinzugefügt:

mytextclock = wibox.widget.textclock(” %d.%m.%Y – %H:%M:%S “, 1)

Nun sieht es so aus, was für mich absolut in Ordnung ist:

Um mal den ganzen Desktop zu zeigen, hier mal ein Bild der Totalen:

Bevor ich diesen ersten Artikel zu awesome beende sei noch eine Kleinigkeit zu bemerkten, die mir gerade erst aufgefallen ist. Anscheinend kann es vorkommen, dass bei mehreren geöffneten Fenstern auf einmal eins den Dienst quittiert und sich über die Titelleiste nicht mehr bewegen, oder anordnen lässt. Woran das liegt kann ich jetzt noch nicht sagen. Das werde ich aber wahrscheinlich herausfinden.

Was einen Leser natürlich auch interessieren könnte, sind folgende Angaben:

awesome Version: 4.2

OS: Gentoo Linux 64-Bit