chiark / gitweb /
orientation
[chiark-tcl-applet.git] / example
diff --git a/example b/example
index 3b45d0bd19e76c23033e9ccb4fa7a89f1258f95d..0321c6babae35b53ff2af8b6d7d7a17cdd6e46c2 100755 (executable)
--- a/example
+++ b/example
@@ -2,87 +2,27 @@
 # -*- Tcl -*-
 
 source applet.tcl
+source subproc.tcl
 
-#----- specifics -----
+applet::setup-debug puts
 
-.m1 add command -command { msel; puts hi } -label hi
-.m3 add command -command { msel; puts boo } -label boo
+foreach b {1 3} {
+    applet::setup-button-menu $b
+}
+
+.m1 add command -command { applet::msel; puts hi } -label hi
+.m3 add command -command { applet::msel; puts boo } -label boo
 
-image create bitmap ims -file gs_s.xbm   
+#image create bitmap ims -file gs_s.xbm   
 #image create bitmap ims -file /usr/share/ghostscript/8.71/lib/gs_s.xbm   
 #setimage ims
 #setimage ims
 
-setuptooltip
-settooltip "line\nanother"
-
-fconfigure stdout -buffering line
-
-set status none
-
-proc innerwindow-destroying {} {
-    global status
-    puts "DESTROYING $status"
-    switch -exact $status {
-       none { }
-       old { }
-       default { kill $status; set status old }
-    }
-}
-
-proc innerwindow-ready {} {
-    global status
-    puts "READY $status"
-    switch -exact $status {
-       none {
-           run-child
-       }
-       old {
-           # wait for it to die
-       }
-       default {
-           error "unexpected state $status"
-       }
-    }
-    puts "READY-done $status"
-}
-
-set ratelimit 0
-
-proc run-child {} {
-    global status ratelimit
-
-    puts "RUN-CHILD $status"
-    set now [clock seconds]
-    lappend ratelimit $now
-    while {[lindex $ratelimit 0] < {$now - 10}} {
-       set ratelimit [lrange $ratelimit 1 end]
-    }
-    if {[llength $ratelimit] > 10} {
-       puts stderr "crashing repeatedly, quitting $ratelimit"
-       exit 127
-    }
-
-    set status none
-    set status [fork-then child-died {
-       execl xacpi-simple [list -into [winfo id .i.i.b.c]]
-    }]
-    puts "FORKED $status"
-}
+applet::setup-tooltip { puts VIS } { puts INVIS }
+applet::tooltip-set "line\nanother"
 
-proc child-died {how how2} {
-    puts "DIED $how $how2"
-    global status
-    switch -exact $status {
-       old {
-           set status none
-           run-child
-       }
-       default {
-           set status none
-           innerwindow-resetup-required "child died"
-       }
-    }
+proc cmdline {id orientation} {
+    return [list xacpi-simple -into $id]
 }
 
-setupinnerwindow 40
+applet::setup-subproc 40 40 horizontal darkblue 1 cmdline