Awesome: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Madbone (Diskussion | Beiträge)
Tips und Tricks erweitert um Autostart und Fn-Buttons
Binaer (Diskussion | Beiträge)
hohem Maße konfigurierbar Fenstermanager >> hohem Maße konfigurierbarer Fenstermanager
Zeile 1: Zeile 1:
<p align="right">[[Bild:Awesome.png|thumb|300px|Awesome]]</p>
<p align="right">[[Bild:Awesome.png|thumb|300px|Awesome]]</p>
Awesome ist ein in hohem Maße konfigurierbar Fenstermanager für [[X]]. Er ist sehr schnell, erweiterbar und steht unter der GPL Lizenz.
Awesome ist ein in hohem Maße konfigurierbarer Fenstermanager für [[X]]. Er ist sehr schnell, erweiterbar und steht unter der GPL Lizenz.
In erster Linie ist er für Menschen gedacht welche die volle Kontrolle über ihren Fenstermanager haben wollen und ihn nach ihren Wünschen und Bedürfnissen konfigurieren können.
In erster Linie ist er für Menschen gedacht welche die volle Kontrolle über ihren Fenstermanager haben wollen und ihn nach ihren Wünschen und Bedürfnissen konfigurieren können.
   
   

Version vom 18. Juli 2013, 21:49 Uhr

Awesome

Awesome ist ein in hohem Maße konfigurierbarer Fenstermanager für X. Er ist sehr schnell, erweiterbar und steht unter der GPL Lizenz. In erster Linie ist er für Menschen gedacht welche die volle Kontrolle über ihren Fenstermanager haben wollen und ihn nach ihren Wünschen und Bedürfnissen konfigurieren können.

Installation

Das Programm ist als awesome in community verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S awesome

Entwickler Snapshots

Git-basierte Entwicklungsversionen sind auch im AUR verfügbar.[1]

Erweiterungen

Es befinden sich auch einige nützliche Erweiterungen in den Repositories/im AUR:

vicious - Widgets zum Anzeigen von verschiedener Informationen, vergleichbar mit conky [2]

Die stabile Version von Vicious befindet sich in den Repositories als Paket "vicious", der Entwickler-Snapshot vicious-git im AUR.

shifty-git - dynamische Zuweisen von Programmen zu Tags nach einfachen Regeln [3], nur im AUR

bashets - erlaubt es beliebige Shellskripte in awesome widgets einzubinden. [4], nur im AUR

Starten

Awesome kann mit Hilfe eines Login-Manager gestartet werden oder man trägt folgendes in ein Startskript deiner Wahl ein (z.B. ~/.xinitrc).

exec awesome 

Konfiguration

Awesome enthält einige gute Standard-Einstellungen direkt nach der Installation, aber früher oder später wirst du etwas ändern wollen. Awesome wird über folgende Datei konfiguriert:

~/.config/awesome/rc.lua 

Falls die Datei nicht vorhanden ist kann man sie mit folgen Befehl erstellen:

mkdir -p ~/.config/awesome/
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua

Viele gute Beispiele für eine Konfiguration findet man hier:

Da sich die Syntax der Konfigurationsdatei bei großen Versionssprüngen ändert, muss man diese Datei gegebenenfalls abändern.

Themen

Die Standard-Theme ist unter /usr/share/awesome/themes/default auffindbar .
Kopiere es nach ~/.awesome/themes/default und ändere den theme_path in der rc.lua.

Desweiteren gibt es in der Standardinstallation: sky (helle Farben) und zenburn (kontrastarm - für längere Sitzungen)

Mehr Informationen findest du hier. [5]
Weitere Themen gibt es hier.[6]

Hintergrundbild

Das Standardhintergrundbild ist im Theme definiert. Awesome liefert das Programm awsetbg zum Setzen des Hintergrundbilds mit. Dazu wird eines der folgenden Programme benötigt:

Esetroot habak wmsetbg feh hsetroot chbg display qiv xv xsri xli xsetbg xsetroot

Tipps und Tricks

Diese Sektion kann von jedem erweitert werden der einen guten Tipp oder einen Kniff für Awesome kennt.

feh

Dieses Programm muss installiert sein, damit Awesome das Hintergrundbild in der Theme.rc erkennt, installiere es mit:

pacman -S feh

Expose-Effekt wie in Compiz

Aus und Einblenden der Statusbar

Lua code:

mystatusbar.screen = nil

Anschließend fügst du folgendes zu deiner rc.lua in der Tabelle globalkeys hinzu:

awful.key({ modkey, }, "b", function ()
  if mystatusbar[mouse.screen].screen == nil then
    mystatusbar[mouse.screen].screen = mouse.screen
  else
    mystatusbar[mouse.screen].screen = nil
  end
end),

Vergiss nicht mystatusbar (standardmäßig: mywibox) durch den Namen deiner Statusbar zu ersetzten. Bei mehreren Statusbars müssen auch alle berücksichtigt werden.

Transparenz

Awesome unterstütz Transparenz durch xcompmgr. Die neueste git Version von xcompmr gibt es im AUR. Füge das deiner ~/.Xinitrc hinzu:

xcompmgr &

In der rc.lua kann man dann unter signals zum Beispiel die Transparenz für unfokussierte Fenster festlegen:

 client.add_signal("focus", function(c)
                             c.border_color = beautiful.border_focus
                             c.opacity = 1
                          end)
 client.add_signal("unfocus", function(c)
                               c.border_color = beautiful.border_normal
                               c.opacity = 0.7
                            end)

Alt-Tab ähnliche Funktion (cycle clients)

Diese Funktion rotiert alle sichtbaren Programme durch drücken von Mod-Tab. Das Programm in der Hauptarbeitsfläche bekommt den Focus. Füge Folgendes der rc.lua hinzu:

 awful.key({ modkey,           }, "Tab",
   function ()
   local allclients = awful.client.visible(client.focus.screen)
   for i,v in ipairs(allclients) do
     allclients[1]:swap(allclients[i])
   end
   client.focus = awful.client.getmaster()
   awful.client.getmaster():raise()                
 end),

Ausgewählte Programme immer mit einem vordefinierten Tag öffnen

In der rc.lua gibt es eine Sektion, wo man Attribute wie Tag, Floating usw. vordefinieren kann:

 -- {{{ Rules
 awful.rules.rules = { ...
 ...    
 { rule = { instance = "Navigator" },
 properties = { tag = tags[1][2] } },
 { rule = { class = "Pidgin" },
 properties = { tag = tags[1][3] } },
 ...

Instance und Class kann man so herausfinden:

  xprop |grep "WM_CLASS(STRING)"

Die Ausgabe enthält als ersten String die Instance und als zweiten die Class.

Autostart in Awesome

Da man Lua Dateien sehr einfach laden kann, bietet es sich hier an eine neue Datei autostart.lua neben der rc.lua anzulegen.

 --autostart.lua
 local awful = require("awful")
 
 -- urxvt daemon starten
 awful.util.spawn_with_shell("if [ -z `pgrep urxvtd` ]; then urxvtd -f; fi")
 -- NetworkManager starten
 awful.util.spawn_with_shell("if [ -z `pgrep nm-applet` ]; then nm-applet; fi")

Diese Datei wird nun einfach mit folgenden Zeilen in der rc.lua geladen

 local autostart = require("autostart")
 require("autostart")

Fn-Buttons Lautstärke

Bei wem die Fn-Buttons für die Lautstärke nicht funktionieren, kann bei dem Abschnitt Key bindings folgendes hinzufügen.

 --{{{ Key bindings
 globalkeys = awful.util.table.join(
 ...
 -- Fn Buttons
 awful.key({ }, "XF86AudioRaiseVolume",
           function ()
               awful.util.spawn(
                    "/usr/bin/amixer -q set Master 5\\%+", false)
               end),
 awful.key({ }, "XF86AudioLowerVolume",
           function ()
               awful.util.spawn(
                    "/usr/bin/amixer -q set Master 5\\%-", false)
               end),
 awful.key({ }, "XF86AudioMute",
           function ()
               awful.util.spawn(
                    "/usr/bin/amixer -q set Master toogle", false)
               end),
 ...
 )

Wer die Zeilen am Ende hinzufügt muss das letzte Komma weglassen.

Weblinks


Dieser Artikel (oder Teile davon) steht unter GNU FDL (GNU Freie Dokumentationslizenz) und ist eine Übersetzung aus dem ArchLinux.org Wiki. Am Original-Artikel kann jeder Korrekturen und Ergänzungen vornehmen. Im ArchLinux.org Wiki ist eine Liste der Autoren verfügbar.