* pop-up-frames inconvenience @ 2006-06-05 15:08 Sam Steingold 2006-06-05 15:26 ` Drew Adams ` (2 more replies) 0 siblings, 3 replies; 12+ messages in thread From: Sam Steingold @ 2006-06-05 15:08 UTC (permalink / raw) GNU Emacs 22.0.50.4 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars) of 2006-06-05 on quant8 when pop-up-frames is customized to t, the frames proliferate without end and have to be explicitly deleted. e.g., C-x m (`compose-mail') now creates a new frame that does not go away automatically when I hit C-c C-c (`message-send-and-exit'). worse than that, when I hit TAB in the minibuffer, the *Completions* window is now popped in its own frame, which has keyboard focus (thus further typing results in errors unless I switch the keyboard focus to the original frame) and obscures the original frame, hiding what I have already typed. -- Sam Steingold (http://www.podval.org/~sds) on Fedora Core release 5 (Bordeaux) http://ffii.org http://thereligionofpeace.com http://camera.org http://pmw.org.il http://mideasttruth.com http://jihadwatch.org Vegetarians eat Vegetables, Humanitarians are scary. ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: pop-up-frames inconvenience 2006-06-05 15:08 pop-up-frames inconvenience Sam Steingold @ 2006-06-05 15:26 ` Drew Adams 2006-06-05 19:58 ` Eli Zaretskii 2006-06-05 15:31 ` Sam Steingold 2006-06-06 2:06 ` Richard Stallman 2 siblings, 1 reply; 12+ messages in thread From: Drew Adams @ 2006-06-05 15:26 UTC (permalink / raw) Cc: Emacs-Devel Hi Sam, 1. help-gnu-emacs@gnu.org is the proper list for this kind of question. Followups there, please. 2. I've wrestled with trying to get Emacs to play well with a one-frame-per-buffer (by default) behavior for a long time. Take a look at my library oneonone.el. It might suit you, and, if not, it might give you some ideas for your own customizations. See http://www.emacswiki.org/cgi-bin/wiki/OneOnOneEmacs. HTH. -- when pop-up-frames is customized to t, the frames proliferate without end and have to be explicitly deleted. e.g., C-x m (`compose-mail') now creates a new frame that does not go away automatically when I hit C-c C-c (`message-send-and-exit'). worse than that, when I hit TAB in the minibuffer, the *Completions* window is now popped in its own frame, which has keyboard focus (thus further typing results in errors unless I switch the keyboard focus to the original frame) and obscures the original frame, hiding what I have already typed. -- I want buffers created by the emacs server to show up in their own frames, so I do (add-hook 'server-switch-hook 'new-frame) (custom-set-variables '(server-window 'pop-to-buffer)) the result is that the server buffer is shown both in a new frame and a new window in an existing frame. neither *Help*, nor *info*, nor the source are helpful... ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: pop-up-frames inconvenience 2006-06-05 15:26 ` Drew Adams @ 2006-06-05 19:58 ` Eli Zaretskii 2006-06-05 21:00 ` Drew Adams 0 siblings, 1 reply; 12+ messages in thread From: Eli Zaretskii @ 2006-06-05 19:58 UTC (permalink / raw) Cc: sds, emacs-devel > From: "Drew Adams" <drew.adams@oracle.com> > Date: Mon, 5 Jun 2006 08:26:55 -0700 > Cc: Emacs-Devel <emacs-devel@gnu.org> > > 1. help-gnu-emacs@gnu.org is the proper list for this kind of question. Not for the CVS version of Emacs, it isn't. Sam, please keep this discussion on emacs-devel, thanks. ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: pop-up-frames inconvenience 2006-06-05 19:58 ` Eli Zaretskii @ 2006-06-05 21:00 ` Drew Adams 2006-06-05 21:30 ` Sam Steingold 0 siblings, 1 reply; 12+ messages in thread From: Drew Adams @ 2006-06-05 21:00 UTC (permalink / raw) > 1. help-gnu-emacs@gnu.org is the proper list for this kind of > question. Not for the CVS version of Emacs, it isn't. Sam, please keep this discussion on emacs-devel, thanks. If I understand Sam's complaint, this behavior (with the possible exception of message-send-and-exit) is not at all new to CVS Emacs. Anyway, discussing it here is great - thanks for allowing it. I'd be glad if this sort of problem were treated as a CVS-Emacs bug - overjoyed even. Then I could get rid of my (old) code that tries to fix this kind of thing (e.g. redirect frame focus from *Completions* to a standalone minibuffer frame). ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: pop-up-frames inconvenience 2006-06-05 21:00 ` Drew Adams @ 2006-06-05 21:30 ` Sam Steingold 2006-06-06 6:53 ` Drew Adams 0 siblings, 1 reply; 12+ messages in thread From: Sam Steingold @ 2006-06-05 21:30 UTC (permalink / raw) > * Drew Adams <qerj.nqnzf@benpyr.pbz> [2006-06-05 14:00:38 -0700]: > > > 1. help-gnu-emacs@gnu.org is the proper list for this kind of > > question. > > Not for the CVS version of Emacs, it isn't. > Sam, please keep this discussion on emacs-devel, thanks. > > If I understand Sam's complaint, this behavior (with the possible > exception of message-send-and-exit) is not at all new to CVS Emacs. indeed this might be wrong time (as Emacs is approaching a release) but this is definitely the right place to discuss _design_ issues related to multi-frame operations. to put it bluntly, pop-up-frames does not work as one would expect it to, requiring plenty of hacks to make, e.g., separate minibuffer frame usable. two independent paths appear to be promising: 1. make all frames that are not explicitly created by the user "dedicated" (then quit-window will delete them) 2. some buffers are not "stand-alone" but tied to the current (minibuffer) operation (e.g., *Completions*). maybe they should be prevented from creating their own frames. maybe completion should be done via a non-buffer mechanism (like baloon help?) -- Sam Steingold (http://www.podval.org/~sds) on Fedora Core release 5 (Bordeaux) http://truepeace.org http://palestinefacts.org http://openvotingconsortium.org http://jihadwatch.org http://thereligionofpeace.com http://memri.org Perl: all stupidities of UNIX in one. ^ permalink raw reply [flat|nested] 12+ messages in thread
* RE: pop-up-frames inconvenience 2006-06-05 21:30 ` Sam Steingold @ 2006-06-06 6:53 ` Drew Adams 2006-06-06 21:13 ` Richard Stallman 0 siblings, 1 reply; 12+ messages in thread From: Drew Adams @ 2006-06-06 6:53 UTC (permalink / raw) > If I understand Sam's complaint, this behavior (with the > possible exception of message-send-and-exit) is not at all > new to CVS Emacs. indeed this might be wrong time (as Emacs is approaching a release) but this is definitely the right place to discuss _design_ issues related to multi-frame operations. Yes. to put it bluntly, pop-up-frames does not work as one would expect it to, requiring plenty of hacks to make, e.g., separate minibuffer frame usable. I couldn't agree more (except a standalone minibuffer presents no problem that I've seen), and I have been saying so (also bluntly) for some time. Out of the box, Emacs just does not play well with pop-up-frames=t. People either give up using that option, or they end up customizing and tweaking the hell out of Emacs to get it to behave reasonably. Most, I suspect, take the former route: they play with p-u-f=t briefly, discover that it is broken in different ways, and go back to using Emacs windows. The last thing anyone wants is fifty million forgotten frames littering the desktop, not to mention struggles with frame focus. What Emacs does with windows should be available for frames also - the same convenience and smart behavior, but adapted to a frames world. Emacs is marvelously adroit with windows, and miserably maladroit with frames. two independent paths appear to be promising: 1. make all frames that are not explicitly created by the user "dedicated" (then quit-window will delete them) 2. some buffers are not "stand-alone" but tied to the current (minibuffer) operation (e.g., *Completions*). maybe they should be prevented from creating their own frames. maybe completion should be done via a non-buffer mechanism (like baloon help?) I'm not crazy about either one, frankly. If we go after this problem, let's approach it slowly and do it right. There are no doubt lots of "solutions", as the problem itself is multiple: there are lots of tiny (and some maybe not so tiny) problems with Emacs + pop-up-frames=t. I'm skeptical of a "y'a qu'a" ("all you need to do is") solution here. I'm not sure about #1. IIUC, it means reinterpreting (or, rather, imposing a single behavioral interpretation on) what it means for a frame or window to be "dedicated". Maybe I'm misunderstanding you (& Stefan), but I think the current notion of special-display buffer is, on the contrary, open to any interpretation/behavior a user wants to give it. If #1 is about a new, separate (orthogonal) mechanism/feature, then that approach might be OK, but if it means coupling the current notion of dedicated window with p-u-f=t, then I think that's too restrictive. I use one-buffer-per-frame, but I change the buffer in the frame quite often. Just as with windows you can use C-x f (not just C-x 4f), so with frames you can reuse a frame with a different buffer. I don't want to lose that. I certainly agree that there should be a simple way (e.g. quit-window) to delete a frame (I use a kill-buffer substitute that also deletes the window/frame, in addition to quit-window). I would prefer that we try to attack the individual problems that using p-u-f=t poses in practice one by one. These might be solved individually, without necessarily requiring any new mechanism or single remedy. I've gotten by quite well with this approach so far. What I find (feel) is that not enough testing is done with p-u-f=t, so here and there Emacs code just doesn't DTRT wrt this "mode". Mr X implements a new feature, and doesn't bother to make it friendly also to p-u-f=t. That's not a big deal usually; it just needs to be corrected, over and over, here and there. My guess is that if the main Emacs developers were forced to live with p-u-f=t (only) for one week, within another two weeks all of the p-u-f=t problems would be solved. It would drive them bananas, and they would find ways to DTRT. I expect that fixing the isolated code problems so that Emacs DTRT is probably sufficient. But I really have no horse in this race - I too would just like to see the problems go away in vanilla Emacs. WRT #2 - The problem is real, but I am opposed to that particular "solution". I like one-buffer-per-frame (by default), and I like to use frames for everything (almost, by default). That can and should be made to work (for those who want it). I definitely want a separate frame for *Completions* - in particular! However, it needs to have its focus in the minibuffer. That's what I do in my code, and it works very well. As for everything involving pop-up-frames, using a pop-up frame for *Completions* also means, of course, that things like C-g (and other ways to exit the minibuffer) need to delete the *Completions* frame. Again, what we do correctly for Emacs windows, we need to also do correctly for frames. If the code were simply tested with p-u-f=t, all of the problems would be fixed (and they wouldn't have been created to begin with). That's the good news: the "problem" is more a mixed collection of oversights than a fundamental design flaw, IMO. It's not because most people don't use p-u-f=t that it shouldn't work well everywhere. It's not because the current code presents multiple difficulties for p-u-f=t that we should aim for a partial solution. Some people will want *Completions* to be a pop-up window, even if they otherwise use p-u-f=t. Others, like me, will want *Completions* to be in its own frame. It should be possible to satisfy both preferences (separately). There are other "temporary" buffers, like *Help*, that also pose this or similar questions, even when they don't share the focus problem that *Completions* has. There are different ways to use p-u-f=t, and that's what should be kept in mind if we try to make it work. Some people use a fixed set of frames of set sizes. Others, like me, let each buffer have its own frame and resize the frame automatically to fit the buffer. A fix to the p-u-f=t problems should be flexible in terms of a variety of p-u-f=t use cases. In sum, it would be great for Emacs developers to take seriously the impolite behavior of Emacs with pop-up-frames=t. I really welcome a discussion. Let's simply not jump to a single, hasty "solution" that doesn't allow flexibility for different users. Like anything else, people use p-u-f=t differently. With a little foresight and attention to the problems, there should be room for all. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: pop-up-frames inconvenience 2006-06-06 6:53 ` Drew Adams @ 2006-06-06 21:13 ` Richard Stallman 2006-06-07 1:58 ` John S. Yates, Jr. 0 siblings, 1 reply; 12+ messages in thread From: Richard Stallman @ 2006-06-06 21:13 UTC (permalink / raw) Cc: emacs-devel I agree it would be nice to work on a better user-level way of controlling frames in Emacs. However, let's not discuss that here, now; we should focus on the release. Would those who are interested please set up another temporary mailing list for that purpose? ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: pop-up-frames inconvenience 2006-06-06 21:13 ` Richard Stallman @ 2006-06-07 1:58 ` John S. Yates, Jr. 0 siblings, 0 replies; 12+ messages in thread From: John S. Yates, Jr. @ 2006-06-07 1:58 UTC (permalink / raw) On Tue, 06 Jun 2006 17:13:22 -0400, you wrote: >I agree it would be nice to work on a better user-level way of >controlling frames in Emacs. However, let's not discuss that here, >now; we should focus on the release. > >Would those who are interested please set up another temporary mailing >list for that purpose? How does one who is interested connect up with such a list? /john ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: pop-up-frames inconvenience 2006-06-05 15:08 pop-up-frames inconvenience Sam Steingold 2006-06-05 15:26 ` Drew Adams @ 2006-06-05 15:31 ` Sam Steingold 2006-06-06 1:23 ` Stefan Monnier 2006-06-06 2:06 ` Richard Stallman 2 siblings, 1 reply; 12+ messages in thread From: Sam Steingold @ 2006-06-05 15:31 UTC (permalink / raw) > * Sam Steingold <fqf@cbqiny.bet> [2006-06-05 11:08:50 -0400]: > > GNU Emacs 22.0.50.4 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars) > of 2006-06-05 on quant8 > > when pop-up-frames is customized to t, the frames proliferate without > end and have to be explicitly deleted. > e.g., C-x m (`compose-mail') now creates a new frame that does not go > away automatically when I hit C-c C-c (`message-send-and-exit'). one way to handle this would be to make all frames created by display-buffer (as opposed to an explicit C-x 5 2 `make-frame-command') dedicated. -- Sam Steingold (http://www.podval.org/~sds) on Fedora Core release 5 (Bordeaux) http://camera.org http://jihadwatch.org http://pmw.org.il http://memri.org http://truepeace.org http://mideasttruth.com http://dhimmi.com http://ffii.org Lisp: Serious empowerment. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: pop-up-frames inconvenience 2006-06-05 15:31 ` Sam Steingold @ 2006-06-06 1:23 ` Stefan Monnier 0 siblings, 0 replies; 12+ messages in thread From: Stefan Monnier @ 2006-06-06 1:23 UTC (permalink / raw) >> when pop-up-frames is customized to t, the frames proliferate without >> end and have to be explicitly deleted. >> e.g., C-x m (`compose-mail') now creates a new frame that does not go >> away automatically when I hit C-c C-c (`message-send-and-exit'). > one way to handle this would be to make all frames created by > display-buffer (as opposed to an explicit C-x 5 2 `make-frame-command') > dedicated. That's indeed what I've implemented here (and proposed, but only for post-22), by making "dedicated" into a 3-valued variable (a window can be softly-dedicated, which basically means "this window was created in order to display the current buffer" but doesn't prevent switching to another buffer). Stefan ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: pop-up-frames inconvenience 2006-06-05 15:08 pop-up-frames inconvenience Sam Steingold 2006-06-05 15:26 ` Drew Adams 2006-06-05 15:31 ` Sam Steingold @ 2006-06-06 2:06 ` Richard Stallman 2006-06-06 12:50 ` Sam Steingold 2 siblings, 1 reply; 12+ messages in thread From: Richard Stallman @ 2006-06-06 2:06 UTC (permalink / raw) Cc: emacs-devel when pop-up-frames is customized to t, the frames proliferate without end and have to be explicitly deleted. e.g., C-x m (`compose-mail') now creates a new frame that does not go away automatically when I hit C-c C-c (`message-send-and-exit'). That is what pop-up-frames does. ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: pop-up-frames inconvenience 2006-06-06 2:06 ` Richard Stallman @ 2006-06-06 12:50 ` Sam Steingold 0 siblings, 0 replies; 12+ messages in thread From: Sam Steingold @ 2006-06-06 12:50 UTC (permalink / raw) > * Richard Stallman <ezf@tah.bet> [2006-06-05 22:06:18 -0400]: > > when pop-up-frames is customized to t, the frames proliferate without > end and have to be explicitly deleted. > e.g., C-x m (`compose-mail') now creates a new frame that does not go > away automatically when I hit C-c C-c (`message-send-and-exit'). > > That is what pop-up-frames does. I know, and this is not what a user expects: if a task (C-x m or completion or whatever) has created a frame, it should delete it when done. this is what happens when tasks create windows, this is what should happen when they create frames. -- Sam Steingold (http://www.podval.org/~sds) on Fedora Core release 5 (Bordeaux) http://honestreporting.com http://mideasttruth.com http://truepeace.org http://iris.org.il http://memri.org http://camera.org http://dhimmi.com Between grand theft and a legal fee, there only stands a law degree. ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2006-06-07 1:58 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-06-05 15:08 pop-up-frames inconvenience Sam Steingold 2006-06-05 15:26 ` Drew Adams 2006-06-05 19:58 ` Eli Zaretskii 2006-06-05 21:00 ` Drew Adams 2006-06-05 21:30 ` Sam Steingold 2006-06-06 6:53 ` Drew Adams 2006-06-06 21:13 ` Richard Stallman 2006-06-07 1:58 ` John S. Yates, Jr. 2006-06-05 15:31 ` Sam Steingold 2006-06-06 1:23 ` Stefan Monnier 2006-06-06 2:06 ` Richard Stallman 2006-06-06 12:50 ` Sam Steingold
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.