Posso definir fundos diferentes para diferentes espaços de trabalho (tags) no Awesome WM?

7

Adoraria poder definir diferentes origens para diferentes guias no Awesome WM. Existe uma maneira de fazer isso?

    
por Jon 12.11.2011 / 22:00

1 resposta

8

Você pode adicionar algum código em seu arquivo ~ / .config / awesome / rc.lua que mudará o papel de parede da área de trabalho sempre que você alterar as tags. Tecnicamente, ele irá definir o papel de parede para a tag que você selecionou mais recentemente (no incrível, você pode ter várias tags selecionadas ao mesmo tempo).

Se você não tiver esse arquivo, copie o arquivo de configuração impressionante para todo o sistema nesse local:

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

No meu rc.lua no Ubuntu 11.10, há uma seção onde as tags são criadas e rotuladas assim:

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

Depois dessa seção, adicionei o seguinte código:

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

Substitua "/ home / user / Pictures" pelo local em que você deseja armazenar seus papéis de parede. Ele usará o arquivo "wallpaper1.png" para a primeira tag, "wallpaper2.png" para a segunda, etc. Observe que isso pressupõe que você tenha 9 tags. Se você tiver um número diferente, ajuste o loop interno.

O awsetbg requer que você tenha algum programa instalado capaz de mudar o papel de parede. Por exemplo, os pacotes 'feh' ou 'imagemagick'. Você pode encontrar uma lista dos programas suportados no script awsetbg (/ usr / bin / awsetbg):

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

O único que o meu Ubuntu instalou por padrão foi o xsetroot, mas acredito que o programa suporta apenas imagens de bitmap. Eu tenho imagemagick instalado (fornece o comando 'display'), para que possa lidar com a maioria de qualquer formato que você possa imaginar. ;)

Se você estiver usando um gnome / awesome hybrid desktop (usando o gnome com o awesome como o gerenciador de janelas) e não tiver desabilitado o gerenciamento de desktop do nautilus, você pode ter que usar o método gnome ao invés de awsetbg. Isso ocorre porque o nautilus gerencia a área de trabalho e pode substituir suas configurações. Para 11.10, você alteraria o comando awsetbg para:

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

gsettings é a nova maneira, para versões mais antigas do Ubuntu (não sei exatamente há quanto tempo mudou), você deve usar o gconftool-2:

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