From: Eli Zaretskii <eliz@gnu.org>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: rudalics@gmx.at, emacs-devel@gnu.org
Subject: Re: Layered display API
Date: Wed, 13 Aug 2014 18:28:50 +0300 [thread overview]
Message-ID: <83iolwif2l.fsf@gnu.org> (raw)
In-Reply-To: <53EAD0B1.1010405@yandex.ru>
> Date: Wed, 13 Aug 2014 06:42:57 +0400
> From: Dmitry Gutov <dgutov@yandex.ru>
> CC: rudalics@gmx.at, emacs-devel@gnu.org
>
> On 08/11/2014 07:01 PM, Eli Zaretskii wrote:
>
> > Compare this with x-popup-menu: the similarity is striking. Which is
> > why I suggested to use menus on TTYs.
>
> Yes, it would be nice if we can use them. However, the fact that menus
> handle evens themselves (or try to) makes me think it's not the cleanest
> approach.
The menu code can be extended. More accurately, we could refactor the
menu code to provide the capabilities of overlaying text on window
display for other Lisp features.
> > Given these requirements, I think the only 2 alternatives to implement
> > them for GUI frames are:
> >
> > . tooltip frames, suitably beefed up <...>
> >
> > . some low-level graphics feature <...>
> >
> > Nothing else seems possible, because if we rely on the current display
> > engine, we will be unable to fully control at least the vertical
> > position of the lines in your popup, and in some cases (e.g.,
> > line-prefix) also the horizontal position.
>
> Not even menus? My understanding was they might be able to satisfy most
> of the requirements, aside from working with proportional fonts.
At least with some toolkits, GUI menus have decorations, which will
look strange if we use them in this capacity.
> >>> No, I meant conceal the text produced by other display properties, and
> >>> display your overlay string instead.
> >>
> >> It doesn't seem to be solving much: if I want to display something in
> >> the middle of, say, large `display' text, there's no specific span of
> >> text to set that new property on.
> >
> > You'd put it on the overlay string.
>
> Let me rephrase the previous message: "...there's no specific span of
> text to put the overlay on".
The buffer text that is covered by the "large display property" is
still there, right? It just isn't displayed.
> Will the menu allow me to customize the keymap it's using?
Of course! This is Emacs. See the end of menu-bar.el: the menu
navigation keys are defined as a keymap.
> > Same as above: exit the menu, do what you need, then redraw it.
> >
> >> Would that work via post-command-hook?
> >
> > No. The current menu code simply ignores any commands it wasn't
> > programmed to understand and act upon.
>
> Ignores, or allows them to go through?
Ignores. They are processed and produce no effect.
> >> And? Suppose there are multiple minor modes in that buffer that might
> >> like to handle that click?
> >
> > Again, fights like that should be resolved "by other means".
>
> In the buffer contents, they are resolved with buttons. Why not on the
> fringe?
I don't see how buttons can resolve conflicts. Maybe I'm missing
something.
next prev parent reply other threads:[~2014-08-13 15:28 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-05 2:00 bug#18195: 24.3.92; window-screen-lines is not accurate Dmitry
2014-08-05 8:38 ` martin rudalics
2014-08-05 10:03 ` Dmitry Gutov
2014-08-05 10:16 ` martin rudalics
2014-08-05 10:24 ` Dmitry Gutov
2014-08-05 12:20 ` martin rudalics
2014-08-05 13:05 ` Dmitry Gutov
2014-08-05 13:50 ` martin rudalics
2014-08-05 14:06 ` Eli Zaretskii
2014-08-06 11:55 ` Dmitry Gutov
2014-08-06 16:13 ` martin rudalics
2014-08-05 14:01 ` Eli Zaretskii
2014-08-05 13:58 ` Eli Zaretskii
2014-08-05 14:08 ` martin rudalics
2014-08-05 14:13 ` Eli Zaretskii
2014-08-05 13:57 ` Eli Zaretskii
2014-08-05 13:51 ` Eli Zaretskii
2014-08-05 13:57 ` martin rudalics
2014-08-05 14:09 ` Eli Zaretskii
2014-08-05 14:12 ` martin rudalics
2014-08-05 14:23 ` Eli Zaretskii
2014-08-05 14:38 ` martin rudalics
2014-08-05 15:08 ` Eli Zaretskii
2014-08-05 15:45 ` martin rudalics
2014-08-05 17:57 ` Eli Zaretskii
2014-08-06 9:41 ` martin rudalics
2014-08-06 14:39 ` Eli Zaretskii
2014-08-06 14:41 ` Dmitry Gutov
2014-08-06 16:23 ` Eli Zaretskii
2014-08-06 16:26 ` Dmitry Gutov
2014-08-06 17:24 ` Eli Zaretskii
2014-08-06 18:02 ` Dmitry Gutov
2014-08-06 18:36 ` Eli Zaretskii
2014-08-06 21:09 ` Dmitry Gutov
2014-08-06 16:15 ` martin rudalics
2014-08-06 16:30 ` Eli Zaretskii
2014-08-06 17:46 ` martin rudalics
2014-08-06 18:03 ` Eli Zaretskii
2014-08-07 15:08 ` martin rudalics
2014-08-07 15:35 ` Eli Zaretskii
2014-08-07 15:39 ` martin rudalics
2014-08-07 16:36 ` Eli Zaretskii
2014-08-08 8:41 ` martin rudalics
2014-08-08 9:16 ` Eli Zaretskii
2014-08-08 10:10 ` martin rudalics
2014-08-08 10:25 ` Eli Zaretskii
2014-08-05 13:46 ` Eli Zaretskii
2014-08-05 21:21 ` Dmitry Gutov
2014-08-06 2:52 ` Eli Zaretskii
2014-08-06 12:09 ` Dmitry Gutov
2014-08-06 14:45 ` Eli Zaretskii
2014-08-06 15:07 ` Dmitry Gutov
2014-08-06 16:25 ` Eli Zaretskii
2014-08-06 16:37 ` Dmitry Gutov
2014-08-06 17:26 ` Eli Zaretskii
2014-08-06 12:40 ` Layered display API (was: bug#18195: 24.3.92; window-screen-lines is not accurate) Dmitry Gutov
2014-08-06 17:19 ` Eli Zaretskii
2014-08-06 18:20 ` Alp Aker
2014-08-06 18:39 ` Eli Zaretskii
2014-08-06 20:48 ` Layered display API Stefan Monnier
2014-08-07 2:45 ` Eli Zaretskii
2014-08-06 20:49 ` Dmitry Gutov
2014-08-07 15:39 ` Eli Zaretskii
2014-08-11 1:14 ` Dmitry Gutov
2014-08-11 15:01 ` Eli Zaretskii
2014-08-13 2:42 ` Dmitry Gutov
2014-08-13 12:46 ` Stefan Monnier
2014-08-13 15:29 ` Eli Zaretskii
2014-08-13 16:27 ` Dmitry Gutov
2014-08-13 17:07 ` Eli Zaretskii
2014-08-13 17:45 ` Stefan Monnier
2014-08-13 15:28 ` Eli Zaretskii [this message]
2014-08-14 2:35 ` Dmitry Gutov
2014-08-14 2:53 ` Eli Zaretskii
2014-08-14 13:12 ` Dmitry Gutov
2014-08-14 15:20 ` Eli Zaretskii
2014-08-15 1:20 ` Dmitry Gutov
2014-08-15 6:39 ` Eli Zaretskii
2014-08-15 23:03 ` Dmitry Gutov
2014-08-16 7:41 ` Eli Zaretskii
2014-08-16 9:17 ` Dmitry Gutov
2014-08-14 2:06 ` Bo Lin
2014-08-14 2:49 ` Eli Zaretskii
2014-08-14 16:08 ` Bo Lin
2014-08-14 16:19 ` Eli Zaretskii
2014-08-14 16:42 ` Bo Lin
2014-08-06 20:56 ` Stefan Monnier
2014-08-05 13:35 ` bug#18195: 24.3.92; window-screen-lines is not accurate Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83iolwif2l.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=dgutov@yandex.ru \
--cc=emacs-devel@gnu.org \
--cc=rudalics@gmx.at \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.