From: <klaus.berndl@sdm.de>
To: <rudalics@gmx.at>
Cc: ecb-list@lists.sourceforge.net, joakim@verona.se, emacs-devel@gnu.org
Subject: RE: patch for optional inhibit of delete-other-windows(IDE feature)
Date: Mon, 28 Apr 2008 17:55:06 +0200 [thread overview]
Message-ID: <84D8FEFE8D23E94E9C2A6F0C58EE07E3429DD9@mucmail3.sdm.de> (raw)
In-Reply-To: <4815EE7D.6020304@gmx.at>
martin rudalics wrote:
> > Hmm, its a good starting point but not complete. Simply think of
> ECB > as a tool which wants to display some special windows beside an
> > "edit-area" whereas the former one are used to display
> informational > context stuff as parsed tags of the current buffer
> in the edit-area > or a file- and directory tree or a buffer-history
> or or or... > The latter one (the edit-area) should give the user
> the feeling as > if all windows of this edit-area would be the only
> windows in the > frame so all standard operations would act as if
> the edit-windows > would be the only windows in the frame...
>
> Is the edit-area always a rectangle? Can it be always created by
> recursively subdividing an initial window? Is there always at most
> one edit-area? Is there at most one edit-area in one and the same
> frame?
To all questions: YES, except the recursively subdividing one: What do
you mean exactly?
Currently the concept of ECB is:
- Exactly one frame
- The is *always* exact ONE edit-area, which is always a rectangle
- The special windows are located either at the left, at the right or
on top of the edit area
- the edit-arey can be subdivided in as many windows as possible
>
> > Well, a window property for preventing other windows outside the
> > edit-area from being deleted or for a navigation only in the edit-
> > area by other-window would be a good starting point but its not the
> > end of the story:
>
> Can all operations you need be subdivided into whether they either
> apply to all windows in the edit-area or to all windows outside the
> edit-area?
Almost: Currently ECB needs three canonical window-lists:
- full window list of the ECB-frame
- all windows in the edit-area
- all special ECB-windows
- the compile-window (always displayed at bottom) when displayed
canonical means: always the same sequence beginning from top/left-most,
ie. the same order an unadviced version of `next-window' would walk
through
>What mechanism do you use to access a window outside the
> edit-area - do you suspend advices?
What do you mean with "access"?
>
> > What about saving and later restoring the current window layout of
> the > edit-area (means only these windows inside the edit-area)
> without > affecting the layout of the special windows?
>
> Do you also need to save and restore the layout of the non-edit-area?
> Earlier I got the impression that the non-edit-area would be
> immutable, so you could easily include it in the saved configuration.
Yes, currently the layout of the non-edit-area is immutable in this
sense that redrawing the whole layout of the ECB-frame resizes the
special windows back to their cusomized (via customize) sizes
(can be absolute or - prefered - relative) whereas the sizes
of the windows in the edit-area will be preserved by a layout-redraw,
means the sizes the user has choosen by dragging modeline or what else...
> Do you want the edit-area occasionally occupy the entire frame?
Yes, there is a command which allows to hide or to toggle visibility
of the special windows - you can imagine that this needs complex and
smart code-stuff to preserve the window-layout of the edit-area during
that, but it works stable and error-less...
IMHO temporarly hidding the special windows (ie. only the edit-area
and all its windows are visible in the ECB-frame) is a very important
feature of an IDE...
>
> > And how to implement an option like
> > `ecb-layout-always-operate-in-edit-window'
> > (see docstring) without adviceing e.g. switch-to-buffer?
> >
> > Just take a look at the docstring of the adviced
> `switch-to-buffer': > IMHO even with the new pins advices are needed
> to offer a smart and > convenient usage of an IDE like ECB...
>
> Couldn't this be done with the help of a `switch-buffer-function'?
Yes, probably this would be possible!
>
> > maybe i will find next weekend the needed time to write down a
> small > "functional reqirement specification" which core
> functionality would > be required by Emacs to rewrite ECB without a
> lot of its advices or > at least with much simpler advices...
>
> If possible, please list also invariants which can be used to cut down
> the overhead for providing these requirements. Like "for any frame
> the number of edit-areas it displays is zero or one".
yes, this was my intention - see above...
Klaus
next prev parent reply other threads:[~2008-04-28 15:55 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <m37iela60f.fsf@verona.se>
[not found] ` <84D8FEFE8D23E94E9C2A6F0C58EE07E3429A02@mucmail3.sdm.de>
2008-04-28 11:14 ` patch for optional inhibit of delete-other-windows(IDE feature) joakim
2008-04-28 11:50 ` klaus.berndl
2008-04-28 15:34 ` martin rudalics
2008-04-28 15:55 ` klaus.berndl [this message]
2008-04-28 15:58 ` klaus.berndl
2008-04-28 22:01 ` martin rudalics
2008-04-29 8:46 ` klaus.berndl
2008-04-29 13:30 ` martin rudalics
2008-04-29 14:27 ` klaus.berndl
2008-04-29 15:47 ` martin rudalics
2008-04-29 16:35 ` Richard M Stallman
2008-04-29 18:04 ` Re[2]: " Eric M. Ludlam
2008-04-29 18:27 ` klaus.berndl
2008-04-29 19:04 ` Eric M. Ludlam
2008-04-29 20:35 ` Stefan Monnier
2008-04-29 21:28 ` martin rudalics
2008-04-29 21:27 ` martin rudalics
2008-04-29 23:08 ` Eric M. Ludlam
2008-04-30 5:37 ` martin rudalics
2008-04-30 11:55 ` Re[2]: " Eric M. Ludlam
2008-04-30 13:43 ` martin rudalics
2008-04-30 15:29 ` Eric M. Ludlam
2008-04-30 15:38 ` Robert J. Chassell
2008-04-29 21:27 ` martin rudalics
2008-04-30 3:26 ` Stefan Monnier
2008-04-29 10:59 ` [ECB-list] patch for optional inhibit of Henry S. Thompson
2008-04-28 19:45 ` patch for optional inhibit of delete-other-windows(IDE feature) Richard M Stallman
2008-04-25 22:35 joakim
2008-04-26 1:25 ` Stefan Monnier
2008-04-26 6:56 ` joakim
2008-04-28 1:20 ` Stefan Monnier
2008-04-28 11:26 ` joakim
2008-04-28 11:41 ` Miles Bader
2008-04-28 11:55 ` joakim
2008-04-28 14:27 ` Stefan Monnier
2008-04-28 14:38 ` joakim
2008-04-28 15:04 ` klaus.berndl
2008-04-28 12:56 ` Jason Rumney
2008-04-30 8:09 ` klaus.berndl
2008-05-08 10:06 ` joakim
2008-05-08 14:03 ` Stefan Monnier
2008-04-26 14:49 ` Richard M Stallman
2008-04-28 1:21 ` Stefan Monnier
2008-04-29 11:05 ` joakim
2008-04-29 12:13 ` klaus.berndl
2008-04-29 13:31 ` martin rudalics
2008-04-29 13:47 ` klaus.berndl
2008-04-29 15:47 ` martin rudalics
2008-04-29 18:29 ` klaus.berndl
2008-04-29 20:31 ` Stefan Monnier
2008-04-29 23:16 ` Richard M Stallman
2008-04-29 23:16 ` Richard M Stallman
2008-04-30 5:57 ` joakim
2008-04-30 7:24 ` Stefan Monnier
2008-04-30 8:15 ` joakim
2008-04-30 9:34 ` Stefan Monnier
2008-04-30 10:47 ` klaus.berndl
2008-04-30 22:01 ` Richard M Stallman
2008-04-30 22:01 ` Richard M Stallman
2008-05-01 2:57 ` Miles Bader
2008-05-01 23:44 ` Richard M Stallman
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=84D8FEFE8D23E94E9C2A6F0C58EE07E3429DD9@mucmail3.sdm.de \
--to=klaus.berndl@sdm.de \
--cc=ecb-list@lists.sourceforge.net \
--cc=emacs-devel@gnu.org \
--cc=joakim@verona.se \
--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 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).