chiark / gitweb /
71a05bb9f209321e998d9258fedd81c4c2ed5a26
[ypp-sc-tools.db-live.git] / ypp-chatlog-alerter
1 #!/usr/bin/wish
2
3 set progname ypp-chatlog-alerter
4
5 menu .mbar -tearoff 0
6 foreach w {file edit} l {File Edit} {
7     menu .mbar.$w -tearoff 0
8     .mbar add cascade -menu .mbar.$w -label $l
9 }
10 proc menuent {w l a x} {
11     set c [list .mbar.$w add command -label $l -command $x]
12     if {[string length $a]} { lappend c -accel Command-$a }
13     eval $c
14 }
15 foreach l {Open Quit} a {O Q} x {newfile exit} {
16     menuent file $l $a $x
17 }
18 foreach l {Cut Copy Paste Clear} a {X C V {}} {
19     menuent edit $l $a [list event generate {[focus]} <<$l>>]]
20 }
21 . configure -menu .mbar
22
23 switch -exact [tk windowingsystem] {
24     aqua {
25         set defaultfile ~/Library/Preferences/$progname.prefs
26     }
27     x11 {
28         set defaultfile ~/.$progname.rc
29     }
30     default {
31         error ?
32     }
33 }
34
35 proc newfile {} {
36     global currentfile defaultfile
37     
38     set newfile [tk_getOpenFile -multiple 0 -title "Select YPP log to track"]
39     if {![string length $newfile]} return
40
41     set currentfile $newfile
42     set newdefaults [open $defaultfile.new w]
43     puts $newdefaults "[list set currentfile $currentfile]"
44     close $newdefaults
45     file rename -force $defaultfile.new $defaultfile
46     refresh
47 }
48
49 set currentfile {}
50
51 proc refresh {} {
52 }
53
54 if {[file exists $defaultfile]} {
55     source $defaultfile
56 }
57
58 listbox .l