web-dev-qa-db-fra.com

Puis-je définir différents arrière-plans pour différents espaces de travail (tags) dans Awesome WM?

J'aimerais pouvoir définir différents arrière-plans pour différents onglets dans Awesome WM. Y a-t-il un moyen de faire cela?

7
Jonathan

Vous pouvez ajouter du code dans votre fichier ~/.config/awesome/rc.lua qui changera le fond d'écran du bureau chaque fois que vous changez de balise. Techniquement, il va définir le fond d'écran sur la balise que vous avez sélectionnée en dernier lieu (génial, vous pouvez avoir plusieurs balises sélectionnées en même temps).

Si vous ne possédez pas déjà ce fichier, copiez le fichier de configuration génial awesome à cet emplacement:

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

Dans mon rc.lua dans Ubuntu 11.10, il y a une section dans laquelle les balises sont créées est étiquetée comme ceci:

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

Après cette section, j'ai ajouté le code suivant:

-- {{{ 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
-- }}}

Remplacez "/ home/utilisateur/Images" par l'emplacement où vous souhaitez stocker vos fonds d'écran. Il utilisera le fichier "wallpaper1.png" pour la 1ère balise, "wallpaper2.png" pour la 2e, etc. Notez que cela suppose que vous avez 9 balises. Si vous avez un numéro différent, ajustez la boucle for interne.


awsetbg nécessite l'installation d'un programme capable de changer le papier peint. Par exemple, les packages 'feh' ou 'imagemagick'. Vous pouvez trouver une liste des programmes pris en charge dans le script awsetbg (/ usr/bin/awsetbg):

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

Le seul que mon Ubuntu avait installé par défaut était xsetroot, mais je crois que ce programme ne prend en charge que les images bitmap. J'ai installé imagemagick (fournit la commande 'display'), de sorte qu'il puisse gérer la plupart des formats imaginables. ;)


Si vous utilisez un bureau hybride gnome/awesome (en utilisant gnome avec awesome comme gestionnaire de fenêtres) et que vous n'avez pas désactivé la gestion de bureau de Nautilus, vous devrez peut-être utiliser la méthode gnome pour définir le fond d'écran au lieu de awsetbg. En effet, Nautilus gère le bureau et peut remplacer vos paramètres. Pour 11.10, modifiez la commande awsetbg en:

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

gsettings est la nouvelle méthode. Pour les anciennes versions d'Ubuntu (vous ne savez pas exactement depuis combien de temps elle a changé), vous devez utiliser gconftool-2:

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