unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Tooltipping enhancement request
@ 2004-03-04 18:17 Eric M. Ludlam
  2004-03-10  5:56 ` Masatake YAMATO
  0 siblings, 1 reply; 7+ messages in thread
From: Eric M. Ludlam @ 2004-03-04 18:17 UTC (permalink / raw)


Hi,

  I've got four enhancement requests based on some tools I've been
writing.  I think some of you already are familiar with some stuff
I've been doing called "cedet" which you can read about here:

  http://cedet.sourceforge.net

  A feature I've been working with lately is called "intellisense" in
other editors.  I thought it would be nifty to write something better.
I've opted to use an Emacs 21 tooltip to display completions.  Some of
that code was donated, and I had since attempted to fix some problems
I encountered.

  You can see a screenshot of what it should look like here:

http://cedet.sourceforge.net/intellisense.shtml    - page
http://cedet.sourceforge.net/inlinecompletion.png  - picture

  Here are the requests:

1) A function that takes a frame, window, and buffer position and
   returns an X/Y location on the screen that would allow
   accurate tooltip positioning.

At this time, a means of positioning the mouse pointer over a
particular character is used to then position the tool-tip.  That
requires that the mouse move.  In addition, things like header lines,
split windows, and toolbars seem to effect the accuracy of that
mechanism.

2) A means for accepting input from a tooltip (a strange idea)
   or a way to make a regular Emacs frame look like a tooltip.

The tooltip is pretty good for me.  I don't use the mouse much, but I
watch others use this feature in other editors, and they all like to
go clicky-clicky on the completion list.  I think it would help
mouse-bound users.

The tooltip part is important because a timer can cause Emacs to go
into this completion mode.  Splitting windows and moving the mouse
makes the feature difficult to accept.

Here are two other requests unrelated to tooltips:

3) A means of having an overline cross the entire window.

Also in the .png above, you can see some C definitions have a blue
line over them.  This overline is added to mimic a feature of IntelliJ
that has a thin line over all big functions, effectively dividing up
the buffer.  It is an interesting thought, which I quickly got used
to after implementing it.  It would be nice if that overline could
stretch across to the right side of the window to complete the effect.


4) Let multiple tools add header lines.

The mode line has had a means of management that lets different little
apps share it.  The header line does not.  I have a simple tools that
makes the function definition that is clipped at the top of the screen
appear in the header line.  I think it's pretty cool and quite
helpful.  That then conflicts with tabbar.  I had to turn it off in
the picture above because it changed how the tooltip was positioned.

The header line theme seems to be that tools use the entire line for
their purposes.  It would be nice if some official API made it easy
for apps that wish to use add a header line to be given something that
they can configure for their purposes without interfering with other
tools attempting to do the same thing.


Thanks for listening.
Eric

-- 
          Eric Ludlam:                 zappo@gnu.org, eric@siege-engine.com
   Home: http://www.ludlam.net            Siege: www.siege-engine.com
Emacs: http://cedet.sourceforge.net               GNU: www.gnu.org

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2004-03-12 12:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-03-04 18:17 Tooltipping enhancement request Eric M. Ludlam
2004-03-10  5:56 ` Masatake YAMATO
2004-03-10 12:20   ` Re[2]: " Eric M. Ludlam
2004-03-11 22:03   ` Jan D.
2004-03-12  3:04     ` Re[2]: " Eric M. Ludlam
2004-03-12 11:18       ` Jan D.
2004-03-12 12:47         ` Re[4]: " Eric M. Ludlam

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).