* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
[not found] ` <20110717013918.7fd31f15@chaostal.de>
@ 2011-07-17 5:07 ` ken
2011-07-17 9:46 ` martin rudalics
2011-07-17 22:54 ` Juri Linkov
0 siblings, 2 replies; 10+ messages in thread
From: ken @ 2011-07-17 5:07 UTC (permalink / raw)
To: 9105
Often I'll have five or more frames open, some split vertically, perhaps
a couple split horizontally, all of them with different files (or
"buffers") in them-- though in some instances it's possible to have the
same buffer in more than one window or frame. When I close emacs down
and then invoke it again, I'd like to have the same windows come up,
split the same way, with the same buffers/files in each frame and
window, and even with the frames in the same location onscreen as they
were in the prior session. In short, the current session should be set
up exactly like the prior session at the time it was closed.
Yes, this is asking quite a bit. So I'll add one more thing. In Linux
and other OSs employing X it's possible to have multiple viewports
(i.e., desktops) and to place any GUI application into any viewport. So
it's possible that all emacs windows might not be all in the same
viewport... six emacs frames could be positioned in two, four, or more
different viewports. Accurately positioning all of them in the correct
viewports would constitute a thorough recreation of the previous session.
Thanks.
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
2011-07-17 5:07 ` bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session ken
@ 2011-07-17 9:46 ` martin rudalics
2011-07-17 13:16 ` Drew Adams
` (2 more replies)
2011-07-17 22:54 ` Juri Linkov
1 sibling, 3 replies; 10+ messages in thread
From: martin rudalics @ 2011-07-17 9:46 UTC (permalink / raw)
To: gebser; +Cc: 9105
> Often I'll have five or more frames open, some split vertically, perhaps
> a couple split horizontally, all of them with different files (or
> "buffers") in them-- though in some instances it's possible to have the
> same buffer in more than one window or frame. When I close emacs down
> and then invoke it again, I'd like to have the same windows come up,
> split the same way, with the same buffers/files in each frame and
> window, and even with the frames in the same location onscreen as they
> were in the prior session. In short, the current session should be set
> up exactly like the prior session at the time it was closed.
All this should be doable now using the functions `window-state-get' and
`window-state-put'. Could you try implementing this in desktop.el?
martin
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
2011-07-17 9:46 ` martin rudalics
@ 2011-07-17 13:16 ` Drew Adams
2011-07-17 22:57 ` Juri Linkov
2011-07-17 15:56 ` ken
[not found] ` <4E230619.6090205@mousecar.com>
2 siblings, 1 reply; 10+ messages in thread
From: Drew Adams @ 2011-07-17 13:16 UTC (permalink / raw)
To: 'martin rudalics', gebser; +Cc: 9105
> All this should be doable now using the functions
> `window-state-get' and
> `window-state-put'. Could you try implementing this in desktop.el?
Please do it in a separate library, and keep it decoupled from Desktop. Yes, it
should be possible and easy to use it in conjunction with Desktop. But it
should also be possible to use each separately, and preferably without loading
the other.
These are two different functionalities which can be useful if used together.
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
2011-07-17 13:16 ` Drew Adams
@ 2011-07-17 22:57 ` Juri Linkov
0 siblings, 0 replies; 10+ messages in thread
From: Juri Linkov @ 2011-07-17 22:57 UTC (permalink / raw)
To: Drew Adams; +Cc: gebser, 9105
> Please do it in a separate library, and keep it decoupled from Desktop. Yes, it
> should be possible and easy to use it in conjunction with Desktop. But it
> should also be possible to use each separately, and preferably without loading
> the other.
Most of the functionality of desktop.el is already duplicated in
savehist.el and saveplace.el because they use different formats.
So remembering Emacs frames and windows could be implemented separately
in two places: in desktop.el and in a new library like savewindows.el
or saveframes.el.
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
2011-07-17 9:46 ` martin rudalics
2011-07-17 13:16 ` Drew Adams
@ 2011-07-17 15:56 ` ken
[not found] ` <4E230619.6090205@mousecar.com>
2 siblings, 0 replies; 10+ messages in thread
From: ken @ 2011-07-17 15:56 UTC (permalink / raw)
To: martin rudalics, GNU Emacs List; +Cc: 9105
On 07/17/2011 05:46 AM martin rudalics wrote:
>> Often I'll have five or more frames open, some split vertically, perhaps
>> a couple split horizontally, all of them with different files (or
>> "buffers") in them-- though in some instances it's possible to have the
>> same buffer in more than one window or frame. When I close emacs down
>> and then invoke it again, I'd like to have the same windows come up,
>> split the same way, with the same buffers/files in each frame and
>> window, and even with the frames in the same location onscreen as they
>> were in the prior session. In short, the current session should be set
>> up exactly like the prior session at the time it was closed.
>
> All this should be doable now using the functions `window-state-get' and
> `window-state-put'. Could you try implementing this in desktop.el?
>
> martin
Thanks, Martin!
Where do I find these two functions?
Once I download them, would it make any difference if I put them in my
emacs-path rather than inserting them in or appending them to desktop.el?
Thanks++,
ken
^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <4E230619.6090205@mousecar.com>]
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
[not found] ` <4E230619.6090205@mousecar.com>
@ 2011-07-17 17:42 ` martin rudalics
2011-07-17 22:59 ` Juri Linkov
0 siblings, 1 reply; 10+ messages in thread
From: martin rudalics @ 2011-07-17 17:42 UTC (permalink / raw)
To: gebser; +Cc: 9105, GNU Emacs List
> Where do I find these two functions?
In window.el of the development version, that is Emacs 24.0.50.1.
> Once I download them, would it make any difference if I put them in my
> emacs-path rather than inserting them in or appending them to desktop.el?
You will have to install Emacs 24 on your system. After that you will
have to write two functions - one that writes for each frame the value
returned by `window-state-get' on file together with the parameters of
the frame, and one that reads the values from file, creates a new frame
for each entry, and uses `window-state-put' to restore the window
layouts within that frame. All this after you have recreated the
buffers visiting files. And you have to decide what to do with windows
whose buffers did not visit a file in the old session.
martin
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
2011-07-17 17:42 ` martin rudalics
@ 2011-07-17 22:59 ` Juri Linkov
0 siblings, 0 replies; 10+ messages in thread
From: Juri Linkov @ 2011-07-17 22:59 UTC (permalink / raw)
To: martin rudalics; +Cc: 9105, gebser
> And you have to decide what to do with windows whose buffers did not
> visit a file in the old session.
This is possible already by specifying `desktop-buffer-mode-handlers'
to reconstruct non-persistent buffers like it's done by
`Info-restore-desktop-buffer', `dired-restore-desktop-buffer', etc.
Implenting it in more packages will save and restore more different buffers.
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
2011-07-17 5:07 ` bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session ken
2011-07-17 9:46 ` martin rudalics
@ 2011-07-17 22:54 ` Juri Linkov
2011-07-18 8:52 ` Jan Djärv
1 sibling, 1 reply; 10+ messages in thread
From: Juri Linkov @ 2011-07-17 22:54 UTC (permalink / raw)
To: gebser; +Cc: 9105
> Yes, this is asking quite a bit. So I'll add one more thing. In Linux
> and other OSs employing X it's possible to have multiple viewports
> (i.e., desktops) and to place any GUI application into any viewport. So
> it's possible that all emacs windows might not be all in the same
> viewport... six emacs frames could be positioned in two, four, or more
> different viewports. Accurately positioning all of them in the correct
> viewports would constitute a thorough recreation of the previous session.
Do you know what commands can move Emacs frames to different viewports?
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
2011-07-17 22:54 ` Juri Linkov
@ 2011-07-18 8:52 ` Jan Djärv
0 siblings, 0 replies; 10+ messages in thread
From: Jan Djärv @ 2011-07-18 8:52 UTC (permalink / raw)
To: Juri Linkov; +Cc: 9105, gebser
Juri Linkov skrev 2011-07-18 00.54:
>> Yes, this is asking quite a bit. So I'll add one more thing. In Linux
>> and other OSs employing X it's possible to have multiple viewports
>> (i.e., desktops) and to place any GUI application into any viewport. So
>> it's possible that all emacs windows might not be all in the same
>> viewport... six emacs frames could be positioned in two, four, or more
>> different viewports. Accurately positioning all of them in the correct
>> viewports would constitute a thorough recreation of the previous session.
>
> Do you know what commands can move Emacs frames to different viewports?
>
>
With a window manager that supports extended window manager hints, it is a
property: http://standards.freedesktop.org/wm-spec/wm-spec-1.3.html#id2507080.
Jan D.
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1348: set-frame-width and set-frame-position seem buggy on at least MSWindows
@ 2008-11-14 22:46 Themba Fletcher
2014-09-21 18:02 ` martin rudalics
0 siblings, 1 reply; 10+ messages in thread
From: Themba Fletcher @ 2008-11-14 22:46 UTC (permalink / raw)
To: bug-gnu-emacs
When migrating to Emacs 22.3.1 on microsoft windows, the following
lines in my .emacs file do not behave as expected:
(set-frame-position (selected-frame) 0 0)
(sleep-for 2) ; not originally in my .emacs -- testing only
(set-frame-width (selected-frame) 150)
(sleep-for 2)
(set-frame-height (selected-frame) 55)
(sleep-for 2))
This used to leave me with a 150 X 55 frame located at 0,0 on my
display but it instead now leaves me with a default size frame still
located at 0,0 as expected. Please note that when I said M-x ielm and
pasted in the set-frame-width and -height lines as above after emacs
finished loading they did as I expected, ie. resized the frame
without problem.
I replaced these lines with the following in my .emacs as a
workaround:
(let ((destructo-target (selected-frame)))
(make-frame (list '(top . 0)
'(left . 0)
'(width . 150)
'(height . 55)))
(delete-frame destructo-target))
In GNU Emacs 22.3.1 (i386-mingw-nt5.1.2600)
of 2008-09-06 on SOFT-MJASON
Windowing system distributor `Microsoft Corp.', version 5.1.2600
configured using `configure --with-gcc (3.4)'
Important settings:
value of $LC_ALL: nil
value of $LC_COLLATE: nil
value of $LC_CTYPE: nil
value of $LC_MESSAGES: nil
value of $LC_MONETARY: nil
value of $LC_NUMERIC: nil
value of $LC_TIME: nil
value of $LANG: ENU
locale-coding-system: cp1252
default-enable-multibyte-characters: t
Major mode: Lisp
Minor modes in effect:
icomplete-mode: t
partial-completion-mode: t
encoded-kbd-mode: t
tooltip-mode: t
mouse-wheel-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
unify-8859-on-encoding-mode: t
utf-translate-cjk-mode: t
auto-compression-mode: t
size-indication-mode: t
column-number-mode: t
line-number-mode: t
transient-mark-mode: t
Recent input:
<drag-n-drop> M-x l i s p SPC m o d e <tab> <return>
<wheel-down> <double-wheel-down> <triple-wheel-down>
<triple-wheel-down> <triple-wheel-down> <wheel-up>
<double-wheel-up> M-x f i l e SPC b u <tab> <backspace>
<backspace> <backspace> <backspace> <backspace> <backspace>
<backspace> r e p o r <tab> <return>
Recent messages:
Loading goto-addr...done
top.org has auto save data; consider M-x recover-this-file
Loading c:/Program Files/emacs-22.3/site-lisp/org-6.12b/lisp/org.el
(source)...
Loading easy-mmode...done
Loading derived...done
Loading c:/Program Files/emacs-22.3/site-lisp/org-6.12b/lisp/org.el
(source)...done
OVERVIEW
For information about GNU Emacs and the GNU system, type C-h C-a.
Loading url-util...done
Loading emacsbug...done
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#1348: set-frame-width and set-frame-position seem buggy on at least MSWindows
2008-11-14 22:46 bug#1348: set-frame-width and set-frame-position seem buggy on at least MSWindows Themba Fletcher
@ 2014-09-21 18:02 ` martin rudalics
2014-09-22 9:07 ` bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session martin rudalics
0 siblings, 1 reply; 10+ messages in thread
From: martin rudalics @ 2014-09-21 18:02 UTC (permalink / raw)
To: 1348-done
> When migrating to Emacs 22.3.1 on microsoft windows, the following
> lines in my .emacs file do not behave as expected:
>
> (set-frame-position (selected-frame) 0 0)
> (sleep-for 2) ; not originally in my .emacs -- testing only
> (set-frame-width (selected-frame) 150)
> (sleep-for 2)
> (set-frame-height (selected-frame) 55)
> (sleep-for 2))
>
> This used to leave me with a 150 X 55 frame located at 0,0 on my
> display but it instead now leaves me with a default size frame still
> located at 0,0 as expected. Please note that when I said M-x ielm and
> pasted in the set-frame-width and -height lines as above after emacs
> finished loading they did as I expected, ie. resized the frame
> without problem.
Should work in emacs-24 as intended. Closing this bug.
Thanks, martin
^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session
2014-09-21 18:02 ` martin rudalics
@ 2014-09-22 9:07 ` martin rudalics
0 siblings, 0 replies; 10+ messages in thread
From: martin rudalics @ 2014-09-22 9:07 UTC (permalink / raw)
To: 9105-done
> Often I'll have five or more frames open, some split vertically, perhaps
> a couple split horizontally, all of them with different files (or
> "buffers") in them-- though in some instances it's possible to have the
> same buffer in more than one window or frame. When I close emacs down
> and then invoke it again, I'd like to have the same windows come up,
> split the same way, with the same buffers/files in each frame and
> window, and even with the frames in the same location onscreen as they
> were in the prior session. In short, the current session should be set
> up exactly like the prior session at the time it was closed.
Thanks to Juanma's frameset functions `desktop-save-mode' should do that
now by default. Closing this bug.
Thanks, martin
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-09-22 9:07 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20110716204736.5d3e63ef@chaostal.de>
[not found] ` <87ei1qqawk.wl%v.plechinger@gmail.com>
[not found] ` <20110717013918.7fd31f15@chaostal.de>
2011-07-17 5:07 ` bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session ken
2011-07-17 9:46 ` martin rudalics
2011-07-17 13:16 ` Drew Adams
2011-07-17 22:57 ` Juri Linkov
2011-07-17 15:56 ` ken
[not found] ` <4E230619.6090205@mousecar.com>
2011-07-17 17:42 ` martin rudalics
2011-07-17 22:59 ` Juri Linkov
2011-07-17 22:54 ` Juri Linkov
2011-07-18 8:52 ` Jan Djärv
2008-11-14 22:46 bug#1348: set-frame-width and set-frame-position seem buggy on at least MSWindows Themba Fletcher
2014-09-21 18:02 ` martin rudalics
2014-09-22 9:07 ` bug#9105: Feature req: Remembering emacs frames, windows, buffer position to subsequent session martin rudalics
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.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).