delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2012/10/01/17:54:26

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 <kbrown AT cornell DOT edu>
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>
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: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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 <mouse-click> 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 '<mouse-1>' 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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019