xref: /inferno-os/lib/sh/win (revision 46439007cf417cbd9ac8049bb4122c890097a0fa)
1load tk std
2
3fn x {
4	or {tk $wid $*} {
5		echo error on tk cmd $"*':' $status >[1=2]
6	}
7}
8
9subfn x {
10	result = ${tk $wid $*}
11	if {~ $result '!*'} {
12		echo error on tk cmd $"*':' $result >[1=2]
13	}
14}
15
16fn tkwin {
17	if {! ~ $#* 2} {
18		echo usage: tkwin name {command} >[1=2]
19		raise usage
20	}
21	wid := ${tk window $1}
22	while {} {
23		tk winctl $wid ${recv $wid}
24	} &
25	$2
26}
27
28# more for interactive use
29fn tkmkwin {
30	if {! ~ $#* 1} {
31		echo usage: tkmkwin name >[1=2]
32		raise usage
33	}
34	wid = ${tk window $1}
35	while {} {
36		tk winctl $wid ${recv $wid}
37	} &
38}
39
40fn onscreen {
41	tk onscreen $wid $1
42}
43