2012-01-22 2 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

화면 [1]의'tag :: history :: update' 신호에'mytagbox.text = awful.tag.selected (1) .name'을 넣으면됩니다. 위의 답에서 예제를 업데이트했습니다. – Taras

+0

awesome 3.5의 경우 add_signal 대신 "connect_signal"을 사용해야합니다. 3.5를 사용하면 더 이상 작동하지 않으며 오류가 발생하지 않기 때문에 답변을 업데이트 할 수 있습니까? '일하지 마라'). – cedlemo

0

또 다른 해결책은 taglist에 필터 기능을 변경하는 것

mytaglist[s] = awful.widget.taglist(s, function(t, args) return t.selected end, mytaglist.buttons) 
관련 문제