all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: grischka <grishka@gmx.de>
Cc: emacs-devel@gnu.org
Subject: Re: The window-pub branch
Date: Fri, 19 Nov 2010 15:44:04 +0100	[thread overview]
Message-ID: <4CE68D34.1040308@gmx.at> (raw)
In-Reply-To: <4CE67DC5.7020603@gmx.de>

 > Then what about
 >   (defun switch-to-buffer (b) (display-buffer b 'special))

This could be done.

 >> `set-window-buffer' _is_ low-level.  Emacs needs some mechanism to
 >> bypass whatever people do in `my-display-buffer'.
 >
 > Saying "Emacs" you insist on the absence of architecture.

Why?

 > Maybe
 > you agree that direct access of application code to functions such
 > as 'split-window' and 'set-window-buffer' doesn't play well with
 > any attempts to wrap them into more user-friendly behavior.

I agree.  Though there are occasions where an application wants to have
full control over the frame layout - gud and ediff, for example.

But why be user-friendly in the first place if users only need hooks for
calling their own functions instead ;-)

 > Where a "wrapper" is a piece of code with exclusive access to the
 > functionality that it wraps.  There must be no way to bypass the
 > wrapper except for the wrapper itself.

It would only take a few seconds before someone asked for a way to
bypass such a wrapper programmatically.

 >> There's no single entry point for "hiding a buffer".  The nearest
 >> equivalent is probably `switch-to-prev-buffer'.  But sometimes the
 >> window gets deleted before and in the worst case *scratch* must be
 >> recreated to show some buffer in the window.
 >
 > I'm not interested in the details of existing bugs.  I'm only
 > interested whether your new design is able to get past them.

This is not about a bug.  It's about what Emacs has to do in order to
prevent crashing.

 >>...  It's hardly possible to tell whether a buffer
 >> shown in a window was effectively put there by `display-buffer' or by
 >> `set-window-buffer'.
 >
 > One more point for not allowing applications to mess with
 > 'set-window-buffer' (and friends).

Demandons l'impossible.

 >  "A feature called substructure redirect allows a window manager to
 >   intercept any requests to map, move, resize, or change the border
 >   width of windows. This allows the window manager to modify these
 >   requests, if necessary, to ensure that they meet its window layout
 >   policy."
 >
 > Which in other words means a single hook that is sufficient for
 > everything a window-manager might want to do.

Doesn't `window-configuration-change-hook' get near to that?  Though it
seems to me that you want to put yourself into the window manager's seat
here.

martin



  reply	other threads:[~2010-11-19 14:44 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 [this message]
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
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=4CE68D34.1040308@gmx.at \
    --to=rudalics@gmx.at \
    --cc=emacs-devel@gnu.org \
    --cc=grishka@gmx.de \
    /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.