awesomeの全てのtagにアプリを表示する

mikutterといつも一緒にいられるプラグインを作りました! - もぐてっくを見て良さそうだと思ったので、WMにawesomeを使っているのであればプラグインをインストールしなくてもいい方法をメモしておく。


デフォルトでショートカット(おそらくMod + Control + Shift + 数字)が設定されてるawful.client.toggletagを使ってもいいと思うが、いちいち手動で設定するのも面倒くさい。
できれば、アプリ起動時に自動的に全てのtagに表示されて欲しい。
このようなとき、awful.rulesを利用すれば実現できる。https://awesome.naquadah.org/doc/api/modules/awful.rules.html


例えば、以下のようにすればmikutterを起動した時に1〜9までの全てのtagにmikutterが表示されるようになる。

show_in_all_tags = function(c)
    c:tags({tags[client.focus.screen][1], tags[client.focus.screen][2], tags[client.focus.screen][3],
    tags[client.focus.screen][4], tags[client.focus.screen][5], tags[client.focus.screen][6],
    tags[client.focus.screen][7], tags[client.focus.screen][8], tags[client.focus.screen][9]})
end

awful.rules.rules = {
    { rule = { class = "Mikutter.rb" },
      callback = function(c) show_in_all_tags(c) end },
}