unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: phillip.lord@newcastle.ac.uk (Phillip Lord)
To: <rms@gnu.org>
Cc: Tom <adatgyujto@gmail.com>, emacs-devel@gnu.org
Subject: Re: "Adobe Brackets like" editing in emacs
Date: Thu, 20 Mar 2014 11:04:29 +0000	[thread overview]
Message-ID: <87y505rv0i.fsf@newcastle.ac.uk> (raw)
In-Reply-To: <E1WQL4P-0004jm-MO@fencepost.gnu.org> (Richard Stallman's message of "Wed, 19 Mar 2014 14:18:29 -0400")

Richard Stallman <rms@gnu.org> writes:
> That implementation would be convenient if we want Emacs commands
> to treat the two as separate windows.  Is that what we want?
>
> Likewise with the proposal to use a tooltip-like frame for this.
>
> Likewise with the proposal to use display-strings for this.
>
> There are many ways to _show_ text from multiple files.  The crucial
> question is, how do we want editing commands to work in that mode?
> That will constrain the possible implementations much more.
>
> We might want to create a C-level construct for showing parts of
> various buffers as if they were a single buffer, and arrange for
> editing primitives such as insert and delete to operate on
> the underlying buffer for the part of the text where you do them.


I think it might be worth considering whether we want something a bit
more generic at a C-level.

At the current time, the feature cannot be mimiced in Emacs because of
the lack of an appropriate GUI feature (tooltips is the closest).

My thought, is what we need is a new GUI feature that I call
"mini-window". Essentially, this would be like a current window (with
all the features would expect -- point, buffer and so on). But it would
differ from a current window in that: a) it would have no or few
decorations -- no border, no scrollbars, no mode line and b) it's
positioning would be wrt another window -- it would either be positioned
at one of the cardinal positions of an existing window or it would be
positioned wrt a marker or an overlay in an existing buffer. The latter
would scroll with the main buffer, the former would be static.

With this GUI feature, we could implement quite a few other things. So,
the multi-file editing would be use miniwindows positioned on a marker.
Multi-mode editing could do the same (i.e a miniwindow with an indirect
buffer in a different mode). Enhanced drop-down, tooltips for
documentation could use the same feature (i.e. what would appear to be
an in-window replacement for `with-help-window').

Other features would include the open and close hide/show markers down
the left side of a buffer which Eli was talking about a few weeks ago --
I had a brief play with this and it *might* be possible with fringes but
it's clunky. And yet another would be one of those displays showing an
shrunken overview of the whole buffer, like sublime -- currently the
closest to this is fisheye-with-thumbs
http://www.emacswiki.org/emacs/FisheyeWithThumbs. For that matter, this
could also be used to replace and reimplement the fringes.

Just a thought -- in the ideal world an update to the C layer should
give a generic toolkit that can then used in different ways.

Phil



  reply	other threads:[~2014-03-20 11:04 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-18 13:29 "Adobe Brackets like" editing in emacs arthur miller
2014-03-18 19:01 ` Richard Stallman
2014-03-18 19:24   ` arthur miller
2014-03-19  4:18     ` Stephen J. Turnbull
2014-03-19 14:01       ` Ivan Andrus
2014-03-19 15:03         ` Lennart Borgman
2014-03-19 15:16           ` arthur miller
2014-03-19 15:24             ` Lennart Borgman
2014-03-19 15:31           ` Ivan Andrus
2014-03-19 15:40             ` Lennart Borgman
2014-03-19 16:20               ` Stephen J. Turnbull
2014-03-19 16:37                 ` Lennart Borgman
2014-03-19 16:42                   ` Lennart Borgman
2014-03-19 18:18               ` Richard Stallman
2014-03-18 19:37   ` arthur miller
2014-03-18 21:29     ` Alan Schmitt
     [not found]       ` <DUB111-W4468B0D4051AE6F0B217B2967C0@phx.gbl>
2014-03-18 21:42         ` arthur miller
2014-03-19 16:01           ` Tom
2014-03-19 18:18             ` Richard Stallman
2014-03-20 11:04               ` Phillip Lord [this message]
2014-03-20 11:58                 ` arthur miller
2014-03-20 18:57                   ` Richard Stallman
2014-03-21 11:36                     ` Phillip Lord
2014-03-21 16:58                       ` chad
2014-03-21 18:58                         ` Richard Stallman
2014-03-20 12:50                 ` Stefan
2014-03-20 14:40                   ` Phillip Lord
2014-03-20 13:17                 ` Ted Zlatanov
2014-03-20 16:00                   ` Phillip Lord
2014-03-18 20:36   ` Ted Zlatanov
2014-03-19  4:00     ` Richard Stallman
2014-03-19  4:09       ` Vibhav Pant
2014-03-19  8:06         ` Tom
2014-03-19  9:15         ` Stephen J. Turnbull
2014-03-19 16:17           ` Eli Zaretskii
2014-03-19 16:01         ` Eli Zaretskii
2014-03-19  9:01       ` arthur miller
2014-03-19 10:18         ` Phillip Lord
2014-03-19 18:17         ` Richard Stallman
2014-03-19 20:41           ` arthur miller
2014-03-19 22:26             ` Richard Stallman
2014-03-19 12:49       ` Ted Zlatanov
2014-03-19 12:53         ` arthur miller
2014-03-19 14:38         ` Stephen J. Turnbull
2014-03-19 16:36         ` Eli Zaretskii
2014-03-19 18:18         ` Richard Stallman
2014-03-20  6:23           ` Ted Zlatanov
2014-03-20 16:28             ` Eli Zaretskii
2014-03-20 16:42               ` David Kastrup
2014-03-20 16:43               ` arthur miller
2014-03-20 16:59               ` David Engster
2014-03-20 17:25                 ` arthur miller
2014-03-20 17:41                   ` David Engster
2014-03-20 17:52                     ` arthur miller
2014-03-20 20:05                 ` Johan Bockgård
2014-03-20 20:08                   ` David Engster
2014-03-20 20:07               ` Ted Zlatanov
2014-03-20 17:04             ` Matthew Leach
2014-03-19 16:20       ` Josh
2014-03-26 21:21 ` Mathias Dahl
2014-03-26 21:35   ` Lennart Borgman
2014-03-28  4:37     ` Lennart Borgman
2014-03-28 15:26       ` Richard Stallman
2014-03-28 16:10         ` Lennart Borgman
2014-03-30  0:24           ` Richard Stallman
2014-03-30  1:01             ` Lennart Borgman

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

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y505rv0i.fsf@newcastle.ac.uk \
    --to=phillip.lord@newcastle.ac.uk \
    --cc=adatgyujto@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /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 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).