all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: grischka <grishka@gmx.de>
To: martin rudalics <rudalics@gmx.at>
Cc: emacs-devel@gnu.org
Subject: Re: The window-pub branch
Date: Sun, 21 Nov 2010 14:34:37 +0100	[thread overview]
Message-ID: <4CE91FED.9060705@gmx.de> (raw)
In-Reply-To: <4CE8EB28.3060607@gmx.at>

martin rudalics wrote:
>  > ..., let application pass a label along
>  > with the buffer.
>  >
>  > For example, ediff could label its buffers 'ediff-A and 'ediff-B,
>  > which would point to entries such as:
>  >
>  >  (setq display-buffer-names '(
>  >    ((ediff-A) <specifiers>)
>  >    ((ediff-B) <specifiers>)
>  >    ...
>  >  ))
> 
> This is problematic in some respects:
> 
> (1) ediff must not set `display-buffer-names' directly, it's a user
>     option.  So I would have to provide two additional shadow variables
>     and merge in their values in `display-buffer'.

I (you?) don't understand.

ediff would not set 'display-buffer-names'.

ediff merely does:
	(display-buffer "/tmp/foo(1).c" 'diff-A)
	(display-buffer "/tmp/foo(2).c" 'diff-B)

So the label is passed like a specifier, just that it works as
a pointer to an entry with specifiers.

The entry with specifiers is in `display-buffer-names' and it
is set by the user.

There are no "shadow variables".

However there are some pre-configured entries with specifiers
in `display-buffer-names'.

You have already pre-configured entries in `display-buffer-regexps'

> (2) I would have to decide what happens when different applications work
>     on, for example, groups of files with the same extension and want to
>     display the respective buffers in different locations of the screen.

application-foo does:
	(display-buffer "*foo*" 'foo-win)

application-bar does:
	(display-buffer "*foo*" 'bar-win)

> (3) One and the same application might want to display one and the same
>     buffer in different ways.  Typical examples are the -other-window
>     and -other-frame postfixed commands.  I could also imagine some ad
>     hoc decisions based on the actual size of the buffer or other buffer
>     local values.

application-foo does:
     (display-buffer "*foo*" 'foo-normal)

application-foo does also:
     (display-buffer "*foo*" 'foo-special)

> I could imagine setting the values of these variables in a buffer-local
> fashion which would still not DTRT when two applications try to display
> one and the same buffer in different locations.

What "variables"?

>  > I guess, for emacs' own packages there is no problem as you can
>  > have the entries pre-configured.  For other packages you might
>  > invent some method that allows them to add entries on the fly
>  > when they are first installed.
> 
> Would your really allow "other packages" mess with user options?

Yes, sure.  As long as it's done safely via an helper-function that
you wrote.  For example:

    (display-add-buffer-names-default-entry '((foo-normal) <specifiers))

>  > Indeed, but for the sole reason to completely ignore what the application
>  > wants and instead let ewm show buffers where the user wants ;)
> 
> It will take us some time to get there.

To get there it is important that your design is powerful.

Say, if GUD was changed to use nothing but display-buffer with
labels, then ewm would have not problem to show any nice layout
that the user wants.

The question is:  Would your built-in wm work well too for GUD?
Because if it does not then packages like GUD would still have
to use hard-calls to 'split-window'.  Which in turn makes it
impossible to use ewm.

That means: If your built-in wm does not work well then not only
doesn't emacs have a well working wm, but also users wont have
the option to install a better one.

>  > Free users!  No power to applications!
> 
> Is ewm a user or an application?

ewm is a friend of the user.
1) It does exactly what the user wants.
2) In case it doesn't the user is free not to use it.

> 
> martin
> 




  reply	other threads:[~2010-11-21 13:34 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-18 17:54 The window-pub branch grischka
2010-11-18 18:48 ` martin rudalics
2010-11-18 21:29   ` grischka
2010-11-19  8:00     ` martin rudalics
2010-11-19 13:38       ` grischka
2010-11-19 14:44         ` martin rudalics
2010-11-19 16:45           ` grischka
2010-11-20  9:19             ` martin rudalics
2010-11-20 14:43               ` grischka
2010-11-20 18:03                 ` martin rudalics
2010-11-20 21:15                   ` grischka
2010-11-21  9:49                     ` martin rudalics
2010-11-21 13:34                       ` grischka [this message]
2010-11-21 17:51                         ` martin rudalics
2010-11-21 20:29                           ` Stefan Monnier
2010-11-22  9:40                             ` martin rudalics
2010-11-22 11:17                               ` grischka
2010-11-22 11:27                                 ` martin rudalics
2010-11-22 11:43                                   ` grischka
2010-11-22 14:06                                     ` martin rudalics
2010-11-22 16:18                                       ` grischka
2010-11-22 17:30                                         ` martin rudalics
2010-11-22 19:43                                           ` Stefan Monnier
2010-11-23  7:40                                             ` martin rudalics
2010-11-23 14:30                                               ` Stefan Monnier
2010-11-23 15:30                                                 ` martin rudalics
2010-11-22 16:44                                       ` Stefan Monnier
2010-11-22 17:30                                         ` martin rudalics
2010-11-22 19:45                                           ` Stefan Monnier
2010-11-23  7:41                                             ` martin rudalics
2010-11-23 14:36                                               ` Stefan Monnier
2010-11-23 15:31                                                 ` martin rudalics
2010-11-23 16:25                                                   ` Stefan Monnier
2010-11-23 17:18                                                     ` martin rudalics
2010-12-04 18:10                                                       ` grischka
2010-12-05 11:44                                                         ` martin rudalics
2010-12-05 20:27                                                           ` grischka
2010-12-06  9:23                                                             ` martin rudalics
2010-12-06 17:43                                                               ` grischka
2010-12-06 19:41                                                                 ` martin rudalics
2010-12-06 22:43                                                                   ` grischka
2010-12-06 23:05                                                                     ` Drew Adams
2010-12-07  7:23                                                                       ` grischka
2010-12-07  7:16                                                                     ` grischka
2011-01-09 19:50                                                                       ` martin rudalics
2010-12-07  8:18                                                                     ` martin rudalics
2010-12-07 15:38                                                                       ` Drew Adams
2010-12-07 16:38                                                                         ` grischka
2010-12-07 17:11                                                                           ` Drew Adams
2010-12-07 16:57                                                                         ` martin rudalics
     [not found]                                                                           ` <2E2DF95135DA4B8F9F96C1AEA1D6C606@us.oracle.c! ! om>
2010-12-07 17:43                                                                           ` Drew Adams
2010-12-07 17:56                                                                             ` martin rudalics
2010-12-07 18:21                                                                               ` Drew Adams
2010-11-22 21:34                               ` Customizations and diff-list " Tom Breton (Tehom)
2010-11-23  7:42                                 ` martin rudalics
  -- strict thread matches above, loose matches on Subject: below --
2010-11-12  0:14 bug#7381: 24.0.50; Provide a hook run when a window is selected Štěpán Němec
2010-11-12  8:16 ` martin rudalics
2010-11-12 11:31   ` Štěpán Němec
2010-11-12 13:05     ` martin rudalics
2010-11-12 14:53       ` Štěpán Němec
2010-11-12 16:31         ` martin rudalics
2010-11-12 17:09           ` Štěpán Němec
2010-11-12 18:09             ` martin rudalics
2010-11-12 18:40               ` Štěpán Němec
2010-11-13  8:32                 ` martin rudalics
2010-11-13 12:13                   ` Štěpán Němec
2010-11-13 13:57                     ` martin rudalics
2010-11-13 15:23                       ` Štěpán Němec
2010-11-13 16:02                         ` martin rudalics
2010-11-14 12:51                           ` The window-pub branch (was Re: bug#7381: 24.0.50; Provide a hook run when a window is selected) Štěpán Němec
2010-11-14 18:59                             ` martin rudalics
2010-11-14 20:55                               ` The window-pub branch Štěpán Němec
2010-11-15  8:00                                 ` martin rudalics
2010-11-15 12:14                                   ` Štěpán Němec
2010-11-15 13:42                                     ` martin rudalics
2010-11-15 15:44                                       ` Štěpán Němec
2010-11-15 17:01                                         ` martin rudalics
2010-11-15 19:46                                           ` Štěpán Němec
2010-11-16 16:56                                             ` martin rudalics
2010-11-16 21:13                                               ` Štěpán Němec
2010-11-17  8:00                                                 ` martin rudalics
2010-11-17 12:05                                                   ` Štěpán Němec

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=4CE91FED.9060705@gmx.de \
    --to=grishka@gmx.de \
    --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.