unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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




  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).