2012-01-22 4 views
7

素晴らしいWMのタグリストを、現在のタグの名前のみを表示する単純なテキストボックスに置き換えることを検討しています。素晴らしいwmで現在のタグ名を取得するには?

mytagbox = widget({ type = "textbox" }) 
mytagbox.text = awful.tag.selected(s).getproperty("name") 

しかし、これは動作し、そのデフォルトの設定に素晴らしい戻りません。私は、次のコードを含むテキストボックスを作成しようとしました。これを可能にするために必要な正しいコードは何ですか?私もShiftyを使っています。おかげ

答えて

11

あなたは正しい道に近かった:

screen[1]:connect_signal("tag::history::update", function() 
     mytagbox.text = awful.tag.selected(1).name 
end) 

-- Or add_signal on awesome < 3.5 

のでmytagbox.textは、各タグの切り替えに変更されます。

+0

おかげで、私は私のrc.luaでそのコードを入れていると、それは半分働く - 、それはログイン時に開かれた最初のタグの名前が表示されますが、その後にタグを変更すると、更新されません。私は 'tagname'を返す関数を書いていますが、rc.luaでその関数を呼び出してどこでタグを変えるべきですか? Cheers – semiserious

+0

'mytagbox.text = awful.tag.selected(1).name'をscreen [1]の' tag :: history :: update'シグナルに入れてください。私は上記の私の答えの例を更新しました。 – Taras

+0

awesome 3.5の場合は、add_signalの代わりに "connect_signal"を使用してください。これは素晴らしい3.5でもう動作しないため、答えを更新できますか?エラーは発生しません。仕事はしません)。 – cedlemo

0

別の解決策は、タグリストにフィルタ機能を変更することです

mytaglist[s] = awful.widget.taglist(s, function(t, args) return t.selected end, mytaglist.buttons) 
関連する問題