unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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  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

* 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  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 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 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 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#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).