xref: /inferno-os/module/wmlib.m (revision 46439007cf417cbd9ac8049bb4122c890097a0fa)
1*46439007SCharles.ForsythWmlib: module
2*46439007SCharles.Forsyth{
3*46439007SCharles.Forsyth	PATH:		con "/dis/lib/wmlib.dis";
4*46439007SCharles.Forsyth
5*46439007SCharles.Forsyth	init:		fn();
6*46439007SCharles.Forsyth	makedrawcontext: fn(): ref Draw->Context;
7*46439007SCharles.Forsyth	importdrawcontext: fn(devdraw, mntwm: string): (ref Draw->Context, string);
8*46439007SCharles.Forsyth	connect:	fn(ctxt: ref Draw->Context): ref Draw->Wmcontext;
9*46439007SCharles.Forsyth	reshape:	fn(w: ref Draw->Wmcontext, name: string, r: Draw->Rect, i: ref Draw->Image, how: string): ref Draw->Image;
10*46439007SCharles.Forsyth	startinput:	fn(w: ref Draw->Wmcontext, devs: list of string): string;	# could be part of connect?
11*46439007SCharles.Forsyth	wmctl:	fn(w: ref Draw->Wmcontext, request: string): (string, ref Draw->Image, string);
12*46439007SCharles.Forsyth#	wmtoken:	fn(w: ref Draw->Wmcontext): string;
13*46439007SCharles.Forsyth	snarfput:	fn(buf: string);
14*46439007SCharles.Forsyth	snarfget:	fn(): string;
15*46439007SCharles.Forsyth
16*46439007SCharles.Forsyth	# XXX these don't really belong here, but where should they go?
17*46439007SCharles.Forsyth	splitqword:	fn(s: string, e: int): ((int, int), int);
18*46439007SCharles.Forsyth	qslice:		fn(s: string, r: (int, int)): string;
19*46439007SCharles.Forsyth	qword:		fn(s: string, e: int): (string, int);
20*46439007SCharles.Forsyth	s2r:			fn(s: string, e: int): (Draw->Rect, int);
21*46439007SCharles.Forsyth};
22