emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Matt Price <moptop99@gmail.com>
To: Org Mode <emacs-orgmode@gnu.org>
Subject: [PATCH] don't always restore previous window configuration?
Date: Fri, 23 Nov 2018 10:20:56 -0500	[thread overview]
Message-ID: <CAN_Dec_fghAFCk_PHcg5RP4M9nUuuXbK=gbAJVQ1CvzpvSyGtA@mail.gmail.com> (raw)
In-Reply-To: <87zhu0nw36.fsf@gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 1517 bytes --]

OH man, that was a little harder than I thought it would be. Does `make
test` randomly checkout a new branch or something?

This patch adds a new long-winded variable `org-src-restore-window-config`,
t by default, which if set to `nil` will inhibit restoration of previous
window config in `org-edit-src-exit`.
I'm afraid I don't really understand the tests and I learn so slowly that I
don't have time to keep trying today.  But hopefully this simple patch is
adequate. I also wrote a changelog entry in my git commit msg, which is
here:

Make restoration of window config optional on exit from src buffer

* org-srce.el (org-src-restore-window-config, org-exit-from-src): New
  variable org-src-restore-window-config allows user to opt out of
  restoring window config when exiting from source buffer with
  org-exit-from-src.




On Fri, Nov 23, 2018 at 1:31 AM Eric S Fraga <esflists@gmail.com> wrote:

> On Thursday, 22 Nov 2018 at 14:09, Matt Price wrote:
> > SO far this is working for me but I wondered whether other people would
> > similarly want to change this behaviour and I should put together a
> proper
> > proposal & patch?
>
> Yes, please.  This is becoming more and more necessary as monitors get
> larger.  I am using a very wide (and very nice) 38" monitor at work.  My
> window configuration within a single frame can get quite
> complex.  Having org (and other tools) change this configuration can be
> quite annoying.
>
> --
> Eric S Fraga via Emacs 27.0.50, Org release_9.1.14-1035-gfeb442
>

[-- Attachment #1.2: Type: text/html, Size: 1999 bytes --]

[-- Attachment #2: 0001-Make-restoration-of-window-config-optional-on-exit-f.patch --]
[-- Type: text/x-patch, Size: 1795 bytes --]

From 7adeca638eff962770874078822e2a3d23430b2b Mon Sep 17 00:00:00 2001
From: Matt Price <matt.price@utoronto.ca>
Date: Fri, 23 Nov 2018 09:16:40 -0500
Subject: [PATCH] Make restoration of window config optional on exit from src
 buffer

* org-srce.el (org-src-restore-window-config, org-exit-from-src): New
  variable org-src-rewtore-window-config allows user to opt out of
  restoring windor config when exiting from source buffer with
  org-exit-from-src.
---
 lisp/org-src.el | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/lisp/org-src.el b/lisp/org-src.el
index 12163156f..386bad413 100644
--- a/lisp/org-src.el
+++ b/lisp/org-src.el
@@ -166,6 +166,14 @@ other-frame        Use `switch-to-buffer-other-frame' to display edit buffer.
 	  (const other-window)
 	  (const reorganize-frame)))
 
+(defcustom org-src-restore-saved-window-config t
+  "Whether to restore windows to previous configuration.
+When non-nil (default), on exit from a source buffer, org will
+try to restore the window configuration that was active when
+the source buffer was created."
+  :group 'org-edit-structure
+  :type 'boolean)
+
 (defvar org-src-mode-hook nil
   "Hook run after Org switched a source code snippet to its Emacs mode.
 \\<org-mode-map>
@@ -1173,8 +1181,8 @@ Throw an error if there is no such buffer."
     ;; Clean up left-over markers and restore window configuration.
     (set-marker beg nil)
     (set-marker end nil)
-    (when org-src--saved-temp-window-config
-      (set-window-configuration org-src--saved-temp-window-config)
+    (when (and  org-src--saved-temp-window-config org-src-restore-saved-window-config) 
+	  (set-window-configuration org-src--saved-temp-window-config)
       (setq org-src--saved-temp-window-config nil))))
 
 
-- 
2.19.1


  reply	other threads:[~2018-11-23 15:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-22 19:09 don't always restore previous window configuration? Matt Price
2018-11-23  6:31 ` Eric S Fraga
2018-11-23 15:20   ` Matt Price [this message]
2018-11-24 10:55     ` [PATCH] " Nicolas Goaziou
2018-11-24 15:24       ` Matt Price
2018-11-25  9:02         ` Nicolas Goaziou
2018-11-25 20:56           ` Matt Price
2018-11-25 22:30             ` Nicolas Goaziou

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.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN_Dec_fghAFCk_PHcg5RP4M9nUuuXbK=gbAJVQ1CvzpvSyGtA@mail.gmail.com' \
    --to=moptop99@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /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/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).