Могу ли я установить разные фоны для разных рабочих пространств (тегов) в Awesome WM?

Мне бы хотелось иметь возможность устанавливать разные фоны для разных вкладок в Awesome WM. Есть ли способ сделать это?

1 ответ

Решение

Вы можете добавить некоторый код в файл ~/.config/awesome/rc.lua, который будет изменять обои рабочего стола всякий раз, когда вы меняете теги. Технически, он установит обои для тега, который вы выбрали последним (удивительно, вы можете выбрать несколько тегов одновременно).

Если у вас еще нет этого файла, скопируйте потрясающий общесистемный конфигурационный файл в это место:

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

В моем rc.lua в Ubuntu 11.10 есть раздел, где создаются теги, которые помечены так:

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

После этого раздела я добавил следующий код:

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

Замените "/home/user/Pictures" на место, где вы хотите хранить свои обои. Он будет использовать файл "wallpaper1.png" для первого тега, "wallpaper2.png" для второго и т. Д. Обратите внимание, что предполагается, что у вас есть 9 тегов. Если у вас другой номер, настройте внутренний цикл for.


awsetbg требует, чтобы у вас была установлена ​​какая-то программа, способная менять обои. Например, пакеты "feh" или "imagemagick". Вы можете найти список поддерживаемых программ в скрипте awsetbg (/usr/bin/awsetbg):

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

Единственный, который по умолчанию был установлен в моей Ubuntu, был xsetroot, но я считаю, что программа поддерживает только растровые изображения. У меня установлен imagemagick (предоставляет команду 'display'), так что он может обрабатывать практически любой формат, который вы можете себе представить.;)


Если вы используете гибридный рабочий стол gnome/awesome (используя gnome с awesome в качестве оконного менеджера) и не отключили управление рабочим столом nautilus, вам, возможно, придется использовать метод установки обоев gnome вместо awsetbg. Это связано с тем, что nautilus управляет рабочим столом и может переопределить ваши настройки. Для 11.10 вы должны изменить команду awsetbg на:

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

gsettings - это новый способ, для более старых версий Ubuntu (точно не знаю, как давно он изменился) вы должны использовать gconftool-2:

gconftool-2 --set /desktop/gnome/background/picture_filename --type string file:///home/user/Pictures/wallpaper1.png
Другие вопросы по тегам