emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [multi-tty] xt-mouse.el does not work in emacsclient frames


From: Stefan Monnier
Subject: Re: [multi-tty] xt-mouse.el does not work in emacsclient frames
Date: Mon, 21 May 2007 10:12:51 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1.50 (gnu/linux)

> But enabling something like xterm-mouse-mode is very likely intended
> to work across a given tty.  On the other hand, if one connects from
> multiple different ttys, there might be ttys that don't work using it.

> Again, I think it would be best if such a mode, if global, would upon
> opening any tty have the opportunity to check whether it wants to
> impose on that tty (figuring out in some manner whether this tty can
> actually support it), then record its state in a terminal-local
> variable.

Instead of having global-xterm-mouse-mode and xterm-mouse-mode, we may
prefer to name them respectively xterm-mouse-mode and
internal-xterm-mouse-mode (or terminal-xterm-mouse-mode).  I don't care
either way.  But we need both if we want the code to be clean.

> However, this implies several things:
> a) Lisp code can declare terminal-local variables

I'd rather have terminal objects that come with plists, just as we have for
processes, symbols, overlays, frames, ...
So instead of using hacks like terminal-local variables, we use clean
accessor functions that look at
(plisp-get <symbol> (terminal-plist (frame-terminal (selected-frame)))).

> b) Lisp code can fire upon terminal changes or iterate through terminals

I think this "or" is wrong.  Just iterating is not enough: a hook
is necessary.  W.r.t. the hook, maybe term-setup-hook is all we need.
But I also think we need to be able to iterate through the terminals.
I currently occasionally need to do that already with the X11 displays and
I hack it up by looping through all frames collecting the different
`display' properties.


        Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]