X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=-3.3 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD,SPF_NEUTRAL X-Spam-Check-By: sourceware.org Message-ID: <506A10F8.5090201@cornell.edu> Date: Mon, 01 Oct 2012 17:54:00 -0400 From: Ken Brown User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120824 Thunderbird/15.0 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: RFE: make non-x11 emacs mouse-aware References: <5069E59E DOT 606 AT cs DOT utoronto DOT ca> <5069ECE7 DOT 1030704 AT cornell DOT edu> <5069FD14 DOT 8040705 AT cs DOT utoronto DOT ca> In-Reply-To: <5069FD14.8040705@cs.utoronto.ca> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-PMX-CORNELL-SPAM-CHECKED: Pawpaw X-Original-Sender: kbrown AT cornell DOT edu - Mon Oct 1 17:54:05 2012 X-PMX-CORNELL-REASON: CU_White_List_Override X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On 10/1/2012 4:29 PM, Ryan Johnson wrote: > On 01/10/2012 3:20 PM, Ken Brown wrote: >> On 10/1/2012 2:49 PM, Ryan Johnson wrote: >>> Hi all, esp. emacs maintainer(s), >>> >>> I'd like to request that the non-x11 emacs be made mouse aware. Right >>> now, terminal mouse mode is broken in normal emacs because the emacs >>> core doesn't recognize the resulting mouse events. You can use emacs-x11 >>> in terminal mode as a heavyweight workaround, but it turns out that >>> mouse awareness is controlled by the src/config.h file created by >>> ./configure: >>>> /* Define if you have mouse support. */ >>>> /* #undef HAVE_MOUSE */ >>> >>> There doesn't seem to be an explicit configure switch for it (it's >>> enabled indirectly by --with-x11 or --with-ns), but editing directly >>> produced the desired results on a headless linux machine, with no >>> undesirable side effects so far. I see no reason it shouldn't also work >>> under cygwin. >> >> I'd be happy to do it if I could be sure there were no bad side >> effects. But I never use emacs-nox, so it isn't easy for me to test >> it on a long-term basis. Maybe you should build it yourself and >> report back. > As noted, I have tested on a headless linux machine, with no problems so > far (several days). There seems to be a clean division between the > window management and the mouse handling code. This makes sense, because > the mouse events themselves are handled by keymaps and such, in elisp > land, while the generation of those events is deeper and varies > depending on their source (X11, NS, terminal). > > If you worry that cygwin might behave differently than linux, I could > build emacs locally and test as well, but I don't expect any difference. > >> And can you be more specific about what you expect emacs to do with >> mouse events when it's running in a terminal? I thought mintty >> captured mouse events. In particular, when I run emacs-x11 under >> mintty, C-h k produces no response; the cursor stays in >> the minibuffer, and emacs continues to wait for me to press a key. >> Running under X, however, emacs does see the mouse click in that same >> situation. For another example, if I run emacs-x11 under mintty, I >> can highlight text with the mouse and then paste it with >> shift-insert. But again it's mintty doing the work, not emacs. > On any emacs, xterm-mouse-mode puts the terminal in mouse-reporting mode > and starts watching stdin for the xterm mouse escape sequences: left, > right, scroll, modifier keys, anything the terminal makes available > (most xterm-like terminals intercept shift + mouse, for example). You > can peek in xt-mouse.el to see how mouse escapes are turned into > appropriate mouse events, but that's not really important here. The > issue is that emacs-nox doesn't know what to do with '' etc > that it suddenly starts receiving. I suppose you could manually wire up > all the various events by hand, but on emacs-x11 they're already there > (even in terminal mode) and terminal-generated mouse events work out of > the box. I didn't know about xterm-mouse-mode. OK, I've built emacs-nox with mouse support, and it works, as far as I can tell. I'll upload it as a test release after I've tested it a little more. Ken -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple