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