web-dev-qa-db-ja.com

Awesome WMで異なるワークスペース(タグ)に異なる背景を設定できますか?

Awesome WMのタブごとに異なる背景を設定できるようになりたいです。これを行う方法はありますか?

7
Jonathan

タグを変更するたびにデスクトップの壁紙を変更するコードを〜/ .config/awesome/rc.luaファイルに追加できます。技術的には、最後に選択したタグに壁紙を設定します(素晴らしいことに、複数のタグを同時に選択できます)。

そのファイルがまだない場合は、システム全体の素晴らしい設定ファイルをその場所にコピーします。

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

Ubuntu 11.10のrc.luaには、次のようにラベル付けされたタグが作成されるセクションがあります。

-- {{{ 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」を壁紙を保存する場所に置き換えます。 1番目のタグには「wallpaper1.png」、2番目には「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をインストールし(「表示」コマンドを提供します)、想像できるほとんどの形式を処理できます。 ;)


Gnome/awesomeハイブリッドデスクトップ(ウィンドウマネージャーとしてgnomeを使用)を使用していて、nautilusのデスクトップ管理を無効にしていない場合、awsetbgの代わりにgnomeを使用して壁紙を設定する必要があります。これは、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
8
scott.squires