From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: Date: Wed, 17 Jun 2009 23:49:11 -0700 Message-ID: Subject: Re: [9fans] acme programming questions From: Russ Cox To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 0c4f8af0-ead5-11e9-9d60-3106f5b1d025 In plan9port there is a libacme and which makes some of this easier. It is basically a wrapping of the routines from acme Mail. Using libacme, your event waiter can do something like this to send the events back: while(winreadevent(w, e) > 0) { switch(e->c1){ default: Unknown: print("unknown message %c%c\n", e->c1, e->c2); break; case 'E': /* write to body; can't affect us */ case 'F': /* generated by our actions; ignore */ case 'K': /* type away; we don't care */ break; case 'M': switch(e->c2){ case 'x': case 'X': case 'l': case 'L': /* send it back */ winwriteevent(w, e); break; case 'I': /* modify away; we don't care */ case 'D': case 'd': case 'i': break; default: goto Unknown; } } } Russ