2013-01-02 2 views
1

패널 응용 프로그램을 만들려고합니다. 아방가르드 윈도우 네비게이터 또는 우분투 화합입니다.열려있는 응용 프로그램을 모니터링하거나 linux/tcl/python으로 시작하는 방법은 무엇입니까?

제 질문은 일단 응용 프로그램을 열었을 때 패널에 항목을 추가 할 수있는 방법에 대해 미리 정의 된 응용 프로그램으로 패널을 작성한 것입니까?

package require Tk 

set items {xterm gvim firefox} 
wm withdraw . 
toplevel .panel 
wm attributes .panel -topmost 1 ; # on top 
bind .panel <Escape> {exit} 
wm geometry .panel +0+0 
wm overrideredirect .panel yes ; # remove window decorations 

set counter 0 
foreach item $items { 
    incr counter 
    set separator " " 
    label .panel.$counter -text "$item$separator" -bg black -fg white \ 
    -font {-family "Fixedsys Excelsior 3.01" -size 12} 
    grid .panel.$counter -column $counter -row 0 
} 

이 달성 할 수있는 터미널, TCL 또는 파이썬 명령이 있는가 : 여기

는 TCL 내 소스 코드?

통찰력을 주셔서 감사합니다. 미리 감사드립니다.

+0

Tcl/Tk 윈도우 매니저에서 복사/배울 수 있습니다. http://whim.linuxsys.net/site/0 – schlenk

+1

이미 살펴 봤지만 불행히도 내 우분투 컴퓨터에서 컴파일 할 수 없었습니다. 어쨌든 고마워. – milarepa

답변

2

send 명령이 켜져 있으면 (디스플레이의 보안과 관련된 모든 종류의 요소에 따라 다름) "잘 알려진 이름"으로 수신 대기 한 다음 다른 작은 응용 프로그램에 send을 사용하도록 지정할 수 있습니다 평가할 스크립트를 파견하는 것. 패널에서

, "좋은"이름을 듣고 :

#!/usr/bin/env wish 
package require Tk 
wm withdraw .        ; # IMPORTANT! Don't show a GUI here 
send MyExcellentPanel registerItem $argv ; # The magic command 
exit          ; # IMPORTANT! Exit now 

은 이제 쉘 스크립트에서 그 작은 스크립트를 사용하여 어디든지 보낼 수 있습니다 헬퍼 스크립트에서

package require Tk 
tk appname MyExcellentPanel 
proc registerItem args { 
    # How to do the registration of things here 
} 

패널에 무언가를 등록하라는 지시. 그것만큼 쉽습니다. send 명령이 없으면


send 대략 동등 comm::comm send와 Tcllib의 comm 패키지 시도. 그러나 포트 매핑 (comm에는 로컬 TCP 채널을 사용)의 레지스트리를 이식 ​​할 수있는 방법이 없기 때문에 정확하게 그 정보 (잘 알려진 장소에있는 파일)를 전달할 방법을 찾아야하므로 tk appname과 정확히 같은 것이 없습니다. . 아아아, 나는 그것에 대해 경험이별로 없기 때문에 나는 정말로 자세히 조언 할 수 없다.

+1

답장을 보내 주셔서 감사합니다. 나는 send의 맨 페이지를보고 좋은 출발점처럼 보인다. 다시 한번 감사드립니다. – milarepa

관련 문제