emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gtk tabs in emacs, new branch


From: Juri Linkov
Subject: Re: Gtk tabs in emacs, new branch
Date: Sat, 24 Apr 2010 21:45:45 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (x86_64-pc-linux-gnu)

>> I've committed the initial workable
>> version of `set-window-configuration-from-sexp' to the x-tabs branch.
>> At least, it restores window configurations saved in another session.
>
> This is generally useful, i.e., if it works it should perhaps go to the trunk.

Before moving it to the trunk, I'd like first to make sure that saving
tabs to the desktop works reliably.  For example, I realized that
functions `current-window-configuration-to-sexp' and
`set-window-configuration-from-sexp' are not suitable to save tabs
because their window configurations are kept in #<window-configuration>.

There should be another set of functions like
`(window-configuration-to-sexp #<window-configuration>)' and
`(window-configuration-from-sexp sexp)' that returns #<window-configuration>.
This means that the returned Lisp expression will contain a list of windows
(where `parent' and `prev' refer to the index of the window in this list)
instead of the window hierarchy.  Maybe this is a good thing.  E.g.

(window-configuration-to-sexp (current-window-configuration))
=>
(window-configuration
 (frame-cols . 196)
 (frame-lines . 77)
 (frame-menu-bar-lines . 1)
 (frame-tool-bar-lines . 4)
 (frame-tab-bar-lines . 0)
 (minibuf-scroll-window)
 (minibuf-selected-window)
 (saved-windows
  (window
   (left-col . 0)
   (top-line . 5)
   (total-cols . 202)
   (total-lines . 71)
   (hscroll . 0)
   (min-hscroll . 0)
   (display-table)
   (orig-top-line)
   (orig-total-lines)
   (left-margin-cols)
   (right-margin-cols)
   (left-fringe-width)
   (right-fringe-width)
   (fringes-outside-margins)
   (scroll-bar-width)
   (vertical-scroll-bar-type . t)
   (dedicated)
   (resize-proportionally))
  (window
   (parent . 0)
   (left-col . 0)
   (top-line . 5)
   (total-cols . 101)
   (total-lines . 71)
   (hscroll . 0)
   (min-hscroll . 0)
   (display-table)
   (orig-top-line)
   (orig-total-lines)
   (left-margin-cols)
   (right-margin-cols)
   (left-fringe-width)
   (right-fringe-width)
   (fringes-outside-margins)
   (scroll-bar-width)
   (vertical-scroll-bar-type . t)
   (dedicated)
   (resize-proportionally))
  (window
   (parent . 1)
   (buffer . "*scratch*")
   (left-col . 0)
   (top-line . 5)
   (total-cols . 101)
   (total-lines . 35)
   (hscroll . 0)
   (min-hscroll . 0)
   (display-table)
   (orig-top-line)
   (orig-total-lines)
   (left-margin-cols)
   (right-margin-cols)
   (left-fringe-width)
   (right-fringe-width)
   (fringes-outside-margins)
   (scroll-bar-width)
   (vertical-scroll-bar-type . t)
   (dedicated)
   (resize-proportionally))
  (window
   (parent . 1)
   (prev . 2)
   (buffer . "*Messages*")
   (left-col . 0)
   (top-line . 40)
   (total-cols . 101)
   (total-lines . 36)
   (hscroll . 0)
   (min-hscroll . 0)
   (display-table)
   (orig-top-line)
   (orig-total-lines)
   (left-margin-cols)
   (right-margin-cols)
   (left-fringe-width)
   (right-fringe-width)
   (fringes-outside-margins)
   (scroll-bar-width)
   (vertical-scroll-bar-type . t)
   (dedicated)
   (resize-proportionally))
  (window
   (parent . 0)
   (prev . 1)
   (buffer . "*info*")
   (left-col . 101)
   (top-line . 5)
   (total-cols . 101)
   (total-lines . 71)
   (hscroll . 0)
   (min-hscroll . 0)
   (display-table)
   (orig-top-line)
   (orig-total-lines)
   (left-margin-cols)
   (right-margin-cols)
   (left-fringe-width)
   (right-fringe-width)
   (fringes-outside-margins)
   (scroll-bar-width)
   (vertical-scroll-bar-type . t)
   (dedicated)
   (resize-proportionally))
  (window
   (prev . 0)
   (window . " *Minibuf-0*")
   (left-col . 0)
   (top-line . 76)
   (total-cols . 202)
   (total-lines . 1)
   (hscroll . 0)
   (min-hscroll . 0)
   (display-table)
   (orig-top-line)
   (orig-total-lines)
   (left-margin-cols)
   (right-margin-cols)
   (left-fringe-width)
   (right-fringe-width)
   (fringes-outside-margins)
   (scroll-bar-width)
   (vertical-scroll-bar-type . t)
   (dedicated)
   (resize-proportionally))))

-- 
Juri Linkov
http://www.jurta.org/emacs/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]