Kann ich in Awesome WM unterschiedliche Hintergründe für unterschiedliche Arbeitsbereiche (Tags) festlegen?

8

Ich würde gerne in Awesome WM unterschiedliche Hintergründe für unterschiedliche Registerkarten festlegen können. Gibt es eine Möglichkeit, dies zu tun?

Jonathan
quelle

Antworten:

8

Sie können Ihrer Datei ~ / .config / awesome / rc.lua Code hinzufügen, der das Desktop-Hintergrundbild ändert, wenn Sie Tags ändern. Technisch gesehen wird das Hintergrundbild auf das Tag eingestellt, das Sie zuletzt ausgewählt haben (in fantastischer Weise können Sie mehrere Tags gleichzeitig auswählen lassen).

Wenn Sie diese Datei noch nicht haben, kopieren Sie die systemweite fantastische Konfigurationsdatei an diesen Speicherort:

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

In meinem rc.lua in Ubuntu 11.10 gibt es einen Abschnitt, in dem die Tags erstellt werden, der wie folgt gekennzeichnet ist:

-- {{{ Tags
-- {{{ Define a tag table which hold all screen tags.
[... code that creates default tags ...]
-- }}}

Nach diesem Abschnitt habe ich den folgenden Code hinzugefügt:

-- {{{ Tag Wallpapers
for s = 1, screen.count() do
    for t = 1, 9 do
        tags[s][t]:add_signal("property::selected", function (tag)
            if not tag.selected then return end
            wallpaper_cmd = "awsetbg /home/user/Pictures/wallpaper" .. t .. ".png"
            awful.util.spawn(wallpaper_cmd)
        end)
    end
end
-- }}}

Ersetzen Sie "/ home / user / Pictures" durch den Ort, an dem Sie Ihre Hintergrundbilder speichern möchten. Es wird die Datei "wallpaper1.png" für das 1. Tag, "wallpaper2.png" für das 2. usw. verwendet. Beachten Sie, dass dies davon ausgeht, dass Sie 9 Tags haben. Wenn Sie eine andere Nummer haben, passen Sie die innere for-Schleife an.


Für awsetbg muss ein Programm installiert sein, mit dem Sie das Hintergrundbild ändern können. Zum Beispiel die Pakete "feh" oder "imagemagick". Eine Liste der unterstützten Programme finden Sie im Skript awsetbg (/ usr / bin / awsetbg):

wpsetters="${wpsetters:=Esetroot habak feh hsetroot chbg fvwm-root imlibsetroot display qiv xv xsri xli xsetbg wmsetbg xsetroot}"

Das einzige, das mein Ubuntu standardmäßig installiert hatte, war xsetroot, aber ich glaube, dass das Programm nur Bitmap-Images unterstützt. Ich habe imagemagick installiert (bietet den Befehl 'display'), so dass fast jedes Format verarbeitet werden kann, das Sie sich vorstellen können. ;)


Wenn Sie einen Gnome / Awesome-Hybrid-Desktop verwenden (Gnome mit Awesome als Fenstermanager verwenden) und die Desktop-Verwaltung von nautilus nicht deaktiviert haben, müssen Sie möglicherweise die Gnome-Methode zum Festlegen des Hintergrundbilds anstelle von awsetbg verwenden. Dies liegt daran, dass Nautilus den Desktop verwaltet und möglicherweise Ihre Einstellungen überschreibt. Für 11.10 würden Sie den Befehl awsetbg in Folgendes ändern:

gsettings set org.gnome.desktop.background picture-uri file:///home/user/Pictures/wallpaper1.png

gsettings ist der neue Weg. Für ältere Ubuntu-Versionen (nicht sicher, wie lange es sich geändert hat) sollten Sie gconftool-2 verwenden:

gconftool-2 --set /desktop/gnome/background/picture_filename --type string file:///home/user/Pictures/wallpaper1.png
scott.squires
quelle