2012-01-22 31 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中的该函数,以便它可以随标记一起更改?干杯 – semiserious

+0

您应该将'mytagbox.text = awful.tag.selected(1).name'放入screen [1]的'tag :: history :: update'信号中。我在上面的答案中更新了示例。 – Taras

+0

对于真棒3.5,你应该使用“connect_signal”,而不是add_signal,你能否更新你的答案,因为这不再与真棒3.5一起工作,并且不会产生任何错误(花了我一些时间来弄清楚为什么这样做没有工作)。 – cedlemo

0

另一种解决办法是改变对标记列表过滤功能

mytaglist[s] = awful.widget.taglist(s, function(t, args) return t.selected end, mytaglist.buttons) 
相关问题