emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* restore window configuration after org-edit-src-exit
@ 2019-12-14 19:06 Richard Kim
  2019-12-16 16:30 ` Nicolas Goaziou
  0 siblings, 1 reply; 13+ messages in thread
From: Richard Kim @ 2019-12-14 19:06 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1318 bytes --]

About a year ago change 819e98afd018cad3c13fd58bfcbd979ab36dfbc7 was checked in
to remove code that restored window configuration when =org-edit-src-exit=
finished. The net result is af if =C-x 1= is called to remove all windows except
the org buffer just edited. This is very inconvenient.

Why not call =winner-undo= to restore window configuration as shown here?

#+begin_src diff
From bd0a2abaa8097338d7f33c7ca9a1d45f5da67e7a Mon Sep 17 00:00:00 2001
From: kimr <kimr@synopsys.com>
Date: Sat, 14 Dec 2019 10:59:00 -0800
Subject: [PATCH] restore window config by calling winner-undo

---
 lisp/org-src.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/org-src.el b/lisp/org-src.el
index 5e50a1b4..c8c30889 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -1182,7 +1182,8 @@ Throw an error if there is no such buffer."
        (write-back (org-src--goto-coordinates coordinates beg end))))
     ;; Clean up left-over markers and restore window configuration.
     (set-marker beg nil)
-    (set-marker end nil)))
+    (set-marker end nil)
+    (winner-undo)))
 
 
 (provide 'org-src)
-- 
2.22.1
#+end_src


For now I'm using the following advice do the same thing.


#+begin_src elisp
(defadvice org-edit-src-exit (after restore-window-config activate)
  (winner-undo))
#+end_src




[-- Attachment #2: Type: text/html, Size: 8774 bytes --]

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-14 19:06 Richard Kim
@ 2019-12-16 16:30 ` Nicolas Goaziou
  2019-12-17  1:51   ` Kyle Meyer
  0 siblings, 1 reply; 13+ messages in thread
From: Nicolas Goaziou @ 2019-12-16 16:30 UTC (permalink / raw)
  To: Richard Kim; +Cc: emacs-orgmode

Hello,

Richard Kim <Richard.Kim1@synopsys.com> writes:

> About a year ago change 819e98afd018cad3c13fd58bfcbd979ab36dfbc7 was checked in
> to remove code that restored window configuration when =org-edit-src-exit=
> finished. The net result is af if =C-x 1= is called to remove all windows except
> the org buffer just edited. This is very inconvenient.
>
> Why not call =winner-undo= to restore window configuration as shown
> here?

I'd rather not add another dependency just for this. 

However, it doesn't mean the inconvenience shouldn't be fixed. I cannot
remember why 819e98afd018cad3c13fd58bfcbd979ab36dfbc7 was necessary. I'm
Cc'ing Matt Price.

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-16 16:30 ` Nicolas Goaziou
@ 2019-12-17  1:51   ` Kyle Meyer
  2019-12-17 14:11     ` Jack Kamm
  0 siblings, 1 reply; 13+ messages in thread
From: Kyle Meyer @ 2019-12-17  1:51 UTC (permalink / raw)
  To: Nicolas Goaziou, Richard Kim; +Cc: emacs-orgmode

Nicolas Goaziou <mail@nicolasgoaziou.fr> writes:
> However, it doesn't mean the inconvenience shouldn't be fixed. I cannot
> remember why 819e98afd018cad3c13fd58bfcbd979ab36dfbc7 was necessary. I'm
> Cc'ing Matt Price.

Here's the related thread:

  https://lists.gnu.org/archive/html/emacs-orgmode/2018-11/msg00253.html

Summary: Matt had a case where he didn't want the window configuration
to be restored, so he proposed hiding the behavior behind an option.
You wondered whether we should just remove support for restoring the
window configuration and not bother with the option.  Nobody offered a
defense for restoring the window configuration or complained... until
now :]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-17  1:51   ` Kyle Meyer
@ 2019-12-17 14:11     ` Jack Kamm
  2019-12-17 14:28       ` Jack Kamm
  0 siblings, 1 reply; 13+ messages in thread
From: Jack Kamm @ 2019-12-17 14:11 UTC (permalink / raw)
  To: Kyle Meyer, Nicolas Goaziou, Richard Kim; +Cc: emacs-orgmode

I'd like to add a vote for the old behavior. I only recently noticed the
new behavior, and agree with Richard that it's inconvenient. I think
many of us missed this change because it wasn't in 9.2.

In particular, I'd propose to make the old behavior the default, and
hide the new behavior behind an option like Matt originally proposed.

I'm updating my copyright papers for my current job, if no one has
submitted a patch by the time I've got that sorted, I could work on a
patch then.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-17 14:11     ` Jack Kamm
@ 2019-12-17 14:28       ` Jack Kamm
  2019-12-17 15:16         ` Fraga, Eric
  2019-12-22 14:45         ` Nicolas Goaziou
  0 siblings, 2 replies; 13+ messages in thread
From: Jack Kamm @ 2019-12-17 14:28 UTC (permalink / raw)
  To: Kyle Meyer, Nicolas Goaziou, Richard Kim; +Cc: emacs-orgmode

Sorry for the noise, but I just had another thought:

Rather than adding a new option, how about we make the behavior
dependent on the value of org-src-window-setup?

Basically, when org-src-window-setup is current-window, it never makes
sense to restore the original layout. But when org-src-window-setup is
reorganize-frame (the default), it always makes sense to restore the
original layout.

I'm not sure what the "correct" behavior would be for the other options
however.

Now that I think about it, I remember trying out the "current-window"
option before, and having a very similar experience to Matt -- while I
enjoyed having more manual control over the window layout, the fact that
org-mode would change the window layout after I finished editing
defeated the whole purpose of this, so I switched back to the original
defaults.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-17 14:28       ` Jack Kamm
@ 2019-12-17 15:16         ` Fraga, Eric
  2019-12-22 14:45         ` Nicolas Goaziou
  1 sibling, 0 replies; 13+ messages in thread
From: Fraga, Eric @ 2019-12-17 15:16 UTC (permalink / raw)
  To: Jack Kamm; +Cc: emacs-orgmode@gnu.org, Nicolas Goaziou, Richard Kim

On Tuesday, 17 Dec 2019 at 06:28, Jack Kamm wrote:
> Basically, when org-src-window-setup is current-window, it never makes
> sense to restore the original layout. But when org-src-window-setup is
> reorganize-frame (the default), it always makes sense to restore the
> original layout.

This makes sense to me.

While we're talking about org-src-window-setup, I set it to
'split-window-right on my large monitor.  Sometimes, I make the src
window full frame but then, when trying to go back to the org buffer
(C-c '), I get the error:

delete-window: Attempt to delete minibuffer or sole ordinary window

This would be fixed if the original layout were restored instead of
simply deleting the src window, I guess.

-- 
Eric S Fraga via Emacs 27.0.50, Org release_9.3-34-g2eee3c

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-17 14:28       ` Jack Kamm
  2019-12-17 15:16         ` Fraga, Eric
@ 2019-12-22 14:45         ` Nicolas Goaziou
  2019-12-23  1:46           ` Jack Kamm
  1 sibling, 1 reply; 13+ messages in thread
From: Nicolas Goaziou @ 2019-12-22 14:45 UTC (permalink / raw)
  To: Jack Kamm; +Cc: emacs-orgmode, Richard Kim

Hello,

Jack Kamm <jackkamm@gmail.com> writes:

> Rather than adding a new option, how about we make the behavior
> dependent on the value of org-src-window-setup?
>
> Basically, when org-src-window-setup is current-window, it never makes
> sense to restore the original layout. But when org-src-window-setup is
> reorganize-frame (the default), it always makes sense to restore the
> original layout.
>
> I'm not sure what the "correct" behavior would be for the other options
> however.

I think any value that modifies the current layout ought to restore it:
- `split-window-below'
- `split-window-right'
- `reorganize-frame'

OTOH, values that use the current layout should not restore it
afterwards:
- `current-window'
- `other-window'
- `other-frame'

This should be mentioned in the docstring.

WDYT?

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-22 14:45         ` Nicolas Goaziou
@ 2019-12-23  1:46           ` Jack Kamm
  2019-12-23  8:17             ` Nicolas Goaziou
  0 siblings, 1 reply; 13+ messages in thread
From: Jack Kamm @ 2019-12-23  1:46 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode, Richard Kim

Hi,

> I think any value that modifies the current layout ought to restore it:
> - `split-window-below'
> - `split-window-right'
> - `reorganize-frame'
>
> OTOH, values that use the current layout should not restore it
> afterwards:
> - `current-window'
> - `other-window'
> - `other-frame'
>
> This should be mentioned in the docstring.
>
> WDYT?

I agree, this sounds like the correct behavior to me.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-23  1:46           ` Jack Kamm
@ 2019-12-23  8:17             ` Nicolas Goaziou
  2019-12-23 17:15               ` Jack Kamm
  0 siblings, 1 reply; 13+ messages in thread
From: Nicolas Goaziou @ 2019-12-23  8:17 UTC (permalink / raw)
  To: Jack Kamm; +Cc: emacs-orgmode, Richard Kim

Hello,

Jack Kamm <jackkamm@gmail.com> writes:

> I agree, this sounds like the correct behavior to me.

OK. Would you want to implement it?

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-23  8:17             ` Nicolas Goaziou
@ 2019-12-23 17:15               ` Jack Kamm
  2019-12-23 17:20                 ` Nicolas Goaziou
  0 siblings, 1 reply; 13+ messages in thread
From: Jack Kamm @ 2019-12-23 17:15 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode, Richard Kim

> OK. Would you want to implement it?

Yes, but I'm still in the process of updating my copyright papers for my
current job. My job said they won't be able to sign the copyright
disclaimer until the new year, so I expect this to be sorted out later
in January some time.

However, the change here is very small, I just wrote a small patch and
it's 15 insertions (+), 4 deletions(-), including the entry in
ORG-NEWS. My understanding is that such small changes don't require
explicit copyright assignment.

Is it OK for me to send the patch along, or should I hold off on this?

--Jack

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2019-12-23 17:15               ` Jack Kamm
@ 2019-12-23 17:20                 ` Nicolas Goaziou
  0 siblings, 0 replies; 13+ messages in thread
From: Nicolas Goaziou @ 2019-12-23 17:20 UTC (permalink / raw)
  To: Jack Kamm; +Cc: emacs-orgmode, Richard Kim

Jack Kamm <jackkamm@gmail.com> writes:

> However, the change here is very small, I just wrote a small patch and
> it's 15 insertions (+), 4 deletions(-), including the entry in
> ORG-NEWS. My understanding is that such small changes don't require
> explicit copyright assignment.
>
> Is it OK for me to send the patch along, or should I hold off on this?

It is OK.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
@ 2020-05-17 19:08 edgar
  2020-09-05  7:38 ` Bastien
  0 siblings, 1 reply; 13+ messages in thread
From: edgar @ 2020-05-17 19:08 UTC (permalink / raw)
  To: emacs-orgmode

Hello. I would like to request this to be pushed onto the =maint= branch 
(7684b59c7) or make it the default, please.

https://lists.gnu.org/archive/html/emacs-orgmode/2019-12/txtr_q1WmvVPH.txt

which is related to (at least) commits 7d5e931f7 and d833920de from the 
=master= branch. I have also tested by using lisp/org-src.el from the 
current =master= (9bc0cc7fb) on the =maint= branch (7684b59c7), and it 
works for me. Thanks!

-------------------------------------------------
This free account was provided by VFEmail.net - report spam to abuse@vfemail.net
 
ONLY AT VFEmail! - Use our Metadata Mitigator to keep your email out of the NSA's hands!
$24.95 ONETIME Lifetime accounts with Privacy Features!  
15GB disk! No bandwidth quotas!
Commercial and Bulk Mail Options!  


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: restore window configuration after org-edit-src-exit
  2020-05-17 19:08 restore window configuration after org-edit-src-exit edgar
@ 2020-09-05  7:38 ` Bastien
  0 siblings, 0 replies; 13+ messages in thread
From: Bastien @ 2020-09-05  7:38 UTC (permalink / raw)
  To: edgar; +Cc: emacs-orgmode

Hi Edgar,

edgar@openmail.cc writes:

> Hello. I would like to request this to be pushed onto the =maint=
> branch (7684b59c7) or make it the default, please.

this has been applied in the master branch back in January,
it will be part of Org 9.4.

Best,

-- 
 Bastien


^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-09-05  7:39 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-17 19:08 restore window configuration after org-edit-src-exit edgar
2020-09-05  7:38 ` Bastien
  -- strict thread matches above, loose matches on Subject: below --
2019-12-14 19:06 Richard Kim
2019-12-16 16:30 ` Nicolas Goaziou
2019-12-17  1:51   ` Kyle Meyer
2019-12-17 14:11     ` Jack Kamm
2019-12-17 14:28       ` Jack Kamm
2019-12-17 15:16         ` Fraga, Eric
2019-12-22 14:45         ` Nicolas Goaziou
2019-12-23  1:46           ` Jack Kamm
2019-12-23  8:17             ` Nicolas Goaziou
2019-12-23 17:15               ` Jack Kamm
2019-12-23 17:20                 ` Nicolas Goaziou

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.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).