2012-04-03 5 views
2

파이썬 용 Xlib 모듈을 사용하여 configure.sql()과 configure.sync()를 호출하여 윈도우를 이동, 크기 조정 및 파괴 할 수있었습니다.파이썬으로 창 이름 바꾸기 Xlib

그러나 기존 창의 이름을 바꿀 수 없습니다. 다음 코드는 'foo'를 출력합니다.

window.set_wm_name('foo') 
window.set_wm_icon_name('foo') 
print window.get_wm_name() 

이는 개체가 올바르게 업데이트 될 것을 제안합니다. 내 화면에서는 display.sync()를 호출 한 후에도 창 제목이 전혀 바뀌지 않습니다. 이러한 종류의 작업에 전혀 사용하지 않으면 set_wm_name 함수를 올바르게 사용하고 있습니까?

답변

0

내가이며 매우 늦게 대답에 메신저 알고 있지만 어쩌면 누군가는 내가 뭔가 잘못하고 window.get_wm_name() ... 임 확실 메신저를 얻을 수 없었습니다

from Xlib.display import Display 
from Xlib.Xatom import STRING 


display = Display() 
root = display.screen().root 
#view the current WM_NAME 
a = root.get_full_property(display.intern_atom('_NET_WM_NAME'), STRING) 
print a.value 
#Actualy change WM_NAME 
root.change_property(display.intern_atom('_NET_WM_NAME'), STRING, 8, ' MyApp') 


#read the name again 
b = root.get_full_property(display.intern_atom('_NET_WM_NAME'), STRING) 
print b.value 

유용 찾을 수 있지만, 마찬가지로 잘 작동합니다.