DIRECTORY Xl, XlPrivate, XlWMOps; XlWMOpsImpl: CEDAR MONITOR LOCKS c USING c: Connection IMPORTS Xl, XlPrivate EXPORTS XlWMOps SHARES Xl, XlPrivate ~ BEGIN OPEN Xl, XlWMOps, XlPrivate; ChangeSaveSet: PUBLIC PROC [c: Connection, window: Window, op: InsertDelete, details: Details] = { action: PROC [c: Connection] ~ { BInit[c, 6, ORD[op], 2]; BPutDrawable[c, window]; FinishWithDetails[c, details]; }; DoWithLocks[c, action, details]; }; Int16: PROC [i: INT] RETURNS [INT16] = { IF i>=0 THEN RETURN [MIN[i, LAST[INT16]]] ELSE RETURN [MAX[i, FIRST[INT16]]] }; SetScreenSaver: PUBLIC PROC [c: Connection, timeout: INT ¬ -1, interval: INT ¬ -1, blanking: Maybe ¬ default, exposures: Maybe ¬ default, details: Details] ~ { action: PROC [c: Connection] ~ { BInit[c, 107, 0, 3]; BPutINT16[c, Int16[timeout]]; BPutINT16[c, Int16[interval]]; BPut8[c, ORD[blanking]]; BPut8[c, ORD[exposures]]; BPut16[c, 0]; --unused FinishWithDetails[c, details]; }; DoWithLocks[c, action, details]; }; ForceScreenSaver: PUBLIC PROC [c: Connection, mode: ResetActivate, details: Details] ~ { action: PROC [c: Connection] ~ { BInit[c, 115, ORD[mode], 1]; FinishWithDetails[c, details]; }; DoWithLocks[c, action, details]; }; SetAccessControl: PUBLIC PROC [c: Connection, enable: BOOL, details: Details] ~ { action: PROC [c: Connection] ~ { BInit[c, 111, IF enable THEN 1 ELSE 0, 1]; FinishWithDetails[c, details]; }; DoWithLocks[c, action, details]; }; SetCloseDownMode: PUBLIC PROC [c: Connection, mode: CloseDownMode, details: Details] ~ { action: PROC [c: Connection] ~ { BInit[c, 112, ORD[mode], 1]; FinishWithDetails[c, details]; }; IF mode#destroy THEN { Xl.PutConnectionProp[c, $XlImplSomeResource, NIL]; -- Xl.CloseConnection's impl checks for this property }; DoWithLocks[c, action, details]; }; KillClient: PUBLIC PROC [c: Connection, resource: ID, details: Details] ~ { action: PROC [c: Connection] ~ { BInit[c, 113, 0, 2]; BPut32[c, resource]; FinishWithDetails[c, details]; }; DoWithLocks[c, action, details]; }; END. ΨXlWMOpsImpl.mesa Copyright Σ 1988, 1991..1991 by Xerox Corporation. All rights reserved. Christian Jacobi, April 26, 1988 8:00:18 pm PDT Christian Jacobi, October 1, 1991 10:49 am PDT --gracefully clip range Κ8•NewlineDelimiter –(cedarcode) style˜codešœ™Kšœ Οeœ=™HKšœ/™/Kšœ.™.—K˜šΟk œ˜!K˜—š Οn œžœžœžœžœ˜6Kšžœ˜Kšžœ˜Kšžœ˜—šœžœžœ˜$K˜—šŸ œžœžœH˜bšœžœ˜ Kšœ žœ ˜Kšœ˜Kšœ˜K˜—Kšœ ˜ Kšœ˜K˜—š Ÿœžœžœžœžœ˜(KšΟc™šžœ˜Kš žœžœžœžœžœ˜!Kš žœžœžœžœžœ˜"—Kšœ˜—K˜š ŸœžœžœžœžœS˜Ÿšœžœ˜ Kšœ˜Kšœ˜Kšœ˜Kšœ žœ ˜Kšœ žœ ˜Kšœ ˜Kšœ˜K˜—Kšœ ˜ Kšœ˜—K˜šŸœžœžœ;˜Xšœžœ˜ Kšœžœ ˜Kšœ˜K˜—Kšœ ˜ Kšœ˜K˜—šŸœžœžœžœ˜Qšœžœ˜ Kšœžœžœžœ˜*Kšœ˜K˜—Kšœ ˜ Kšœ˜—K˜šŸœžœžœ;˜Xšœžœ˜ Kšœžœ ˜Kšœ˜K˜—šžœžœ˜Kšœ-žœ 5˜hK˜—Kšœ ˜ Kšœ˜—K˜šŸ œžœžœžœ˜Kšœžœ˜ Kšœ˜Kšœ˜Kšœ˜K˜—Kšœ ˜ Kšœ˜—K˜Kšžœ˜K˜—…—β ς