unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: rms@gnu.org
Cc: pmr@pajato.com, cyd@stupidchicken.com,
	paul r <paul.r.ml@gmail.com>,
	emacs-devel@gnu.org
Subject: Window configuration UI (was: Neat features in Eclipse editor)
Date: Mon, 24 Mar 2008 23:53:45 -0400	[thread overview]
Message-ID: <jwvfxuf1n1n.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <E1JdyJC-000615-6g@fencepost.gnu.org> (Richard Stallman's message of "Mon, 24 Mar 2008 21:50:38 -0400")

> When you switch from workspace A to workspace B, does your current
> window configuration get recorded as workspace A?
> That is an important aspect of Eclipse perspectives.

Indeed.  Try out my naive attempt at it (see attached) immediately bumps
into a significant problem: window-configurations are frame-specific, so
I can't create a winconf "test1" in a frame and then use it in
another frame.

> needs to be possible to get all the right behavior.  For instance, we
> want GUD to be able to take advantage of this, with a predefined "gud"
> perspective.  This predefined "gud" perspective should have a window

This is another problem: window-configurations can't be saved&loaded.
I.e. the tool we need is not `window-configuration' but some
other object.  We can construct it all in Elisp from window-tree, but
someone needs to write the code.


        Stefan


;; Window config management

(defvar winconf-alist nil)
(defvar winconf-hist nil)

(defun switch-to-winconf (conf-name)
  (interactive
   (let* ((oldname (frame-parameter nil 'winconf-name))
          (comp (remove (assoc oldname winconf-alist) winconf-alist)))
     (list (completing-read (format "Switch winconf from %s to: "
                                    (or oldname "<none>"))
                            comp nil (when winconf-alist 'confirm-only)
                            nil 'winconf-hist))))
  (let* ((oldname (frame-parameter nil 'winconf-name))
         (oldconf (assoc oldname winconf-alist))
         (newconf (assoc conf-name winconf-alist)))
    (when oldname
      (if oldconf
          (setcdr oldconf (current-window-configuration))
        (push (cons oldname (current-window-configuration)) winconf-alist)))
    (if newconf (set-window-configuration (cdr newconf)))
    (set-frame-parameter nil 'winconf-name conf-name)))




  reply	other threads:[~2008-03-25  3:53 UTC|newest]

Thread overview: 139+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-22 21:45 Neat features in Eclipse editor Richard Stallman
2008-03-22 21:56 ` Chong Yidong
2008-03-22 21:36   ` Tom Tromey
2008-03-22 23:09   ` Leo
2008-03-23 14:18     ` William Xu
2008-03-23  2:27   ` Juri Linkov
2008-03-23  9:53     ` joakim
2008-03-23 10:50       ` martin rudalics
2008-03-23 10:54       ` martin rudalics
2008-03-23 19:35         ` John S. Yates, Jr.
2008-03-23 19:39           ` Thomas Lord
2008-03-23 21:06             ` John S. Yates, Jr.
2008-03-23 21:42               ` Thomas Lord
2008-03-23 19:49           ` Drew Adams
2008-03-25  8:11           ` dtm
2008-03-24  0:53       ` Stefan Monnier
2008-03-24  0:54       ` Richard Stallman
2008-03-24 19:02         ` joakim
2008-03-25  1:06           ` Bastien
2008-03-25 18:31             ` Richard Stallman
2008-03-25 19:19               ` Rajappa Iyer
2008-03-26  1:33                 ` Stefan Monnier
2008-03-26  4:46                 ` Richard Stallman
2008-03-25  1:50           ` Richard Stallman
2008-04-18 13:25             ` joakim
2008-04-19  2:23               ` Richard Stallman
2008-03-24  0:53   ` Richard Stallman
2008-03-24 18:47     ` paul r
2008-03-25  1:50       ` Richard Stallman
2008-03-25  3:53         ` Stefan Monnier [this message]
2008-03-25 10:54           ` Window configuration UI Lennart Borgman (gmail)
2008-03-25 18:13             ` Stefan Monnier
2008-03-26  4:47           ` Window configuration UI (was: Neat features in Eclipse editor) Richard Stallman
2008-03-26  9:41             ` Window configuration UI Lennart Borgman (gmail)
2008-03-26 22:26               ` Richard Stallman
2008-03-27  2:14                 ` Stefan Monnier
2008-03-27 19:41                   ` Richard Stallman
2008-03-29 16:27                   ` Michael Sperber
2008-03-31  2:41           ` Window configuration UI (was: Neat features in Eclipse editor) Nick Roberts
2008-03-31 16:25             ` Richard Stallman
2008-04-01  3:00               ` Window configuration UI Stefan Monnier
2008-04-01 21:04                 ` Richard Stallman
2008-03-25 10:08         ` Neat features in Eclipse editor paul r
2008-03-25 10:55           ` David Reitter
2008-03-25 11:35             ` paul r
2008-03-25 21:00               ` Richard Stallman
2008-03-25 22:10                 ` paul r
2008-03-26  1:50                   ` Robert J. Chassell
2008-03-26 22:26                   ` Richard Stallman
2008-03-25 21:01           ` Richard Stallman
2008-03-25 21:16             ` Lennart Borgman (gmail)
2008-03-25 23:17               ` Mike Mattie
2008-03-26  2:23               ` Evans Winner
2008-03-26  7:09               ` Jan Djärv
2008-03-26  7:18                 ` Drew Adams
2008-03-26 22:25               ` Richard Stallman
2008-03-26 22:38                 ` Sebastian Rose
2008-03-26 22:57                   ` paul r
2008-03-26 23:20                     ` Sebastian Rose
2008-03-27  6:57                       ` David Kastrup
2008-03-27  0:22                     ` Mike Mattie
2008-03-27  0:17                   ` Mike Mattie
2008-03-27 19:41                   ` Richard Stallman
2008-03-27 20:18                     ` Sebastian Rose
2008-03-27  0:18                 ` Lennart Borgman (gmail)
2008-03-25  0:48   ` Bastien
2008-03-24  1:51 ` Dan Nicolaescu
2008-03-24 12:29   ` Richard Stallman
2008-03-24 18:24     ` joakim
2008-03-25  1:50       ` Richard Stallman
2008-04-06 20:52 ` Tab bar (was: Neat features in Eclipse editor) Juri Linkov
2008-04-06 23:07   ` Tab bar David Koppelman
2008-04-06 23:48     ` Juri Linkov
2008-04-07  0:05       ` David Koppelman
2008-04-07  0:32         ` Juri Linkov
2008-04-07 14:59           ` Richard Stallman
2008-04-07 23:27             ` Juri Linkov
2008-04-08 15:35               ` Richard Stallman
2008-04-08 15:50                 ` Jason Rumney
2008-04-08 16:58                   ` Drew Adams
2008-04-09 10:33                   ` Richard Stallman
2008-04-09 23:27                     ` Juri Linkov
2008-04-07 14:59       ` Richard Stallman
2008-04-07 15:33         ` Lennart Borgman (gmail)
2008-04-07 23:31           ` Juri Linkov
2008-04-08  0:21             ` Drew Adams
2008-04-08  2:06             ` Stefan Monnier
2008-04-08 22:11               ` Juri Linkov
2008-04-09  2:00                 ` Stefan Monnier
2008-04-09  8:45                   ` Juri Linkov
2008-04-09  9:34                     ` Paul R
2008-04-09 14:12                       ` Stefan Monnier
2008-04-08 13:58           ` Andrew W. Nosenko
2008-04-08 14:21             ` Lennart Borgman (gmail)
2008-04-08 15:55               ` Paul R
2008-04-08 16:04                 ` Dan Nicolaescu
2008-04-08 16:24                   ` Paul R
2008-04-08 16:25                   ` Andrew W. Nosenko
2008-04-08 20:10                     ` Lennart Borgman (gmail)
2008-04-08 21:16                       ` David De La Harpe Golden
2008-04-08 21:47                         ` Lennart Borgman (gmail)
2008-04-09  2:50                           ` David De La Harpe Golden
2008-04-09  8:50                             ` Juri Linkov
2008-04-09  7:55                           ` Jason Rumney
2008-04-09 10:34                           ` Richard Stallman
2008-04-09 14:59                             ` Lennart Borgman (gmail)
2008-04-08 22:09                         ` Juri Linkov
2008-04-09  8:12                           ` Andreas Schwab
2008-04-09  8:52                             ` Juri Linkov
2008-04-08 16:50                 ` Ehud Karni
2008-04-07 16:09         ` Drew Adams
2008-04-07 16:52           ` Stefan Monnier
2008-04-07 23:35             ` Juri Linkov
2008-04-08 15:36             ` Richard Stallman
2008-04-09  1:56               ` Stefan Monnier
2008-04-09 10:34                 ` Richard Stallman
2008-04-07 23:28         ` Juri Linkov
2008-04-07  1:37   ` Tab bar (was: Neat features in Eclipse editor) Drew Adams
2008-04-07 14:59     ` Richard Stallman
2008-04-07 16:09       ` Drew Adams
2008-04-07 23:35         ` Mathias Dahl
2008-04-07 23:33     ` Tab bar Juri Linkov
2008-04-07 15:00   ` Tab bar (was: Neat features in Eclipse editor) Richard Stallman
2008-04-07 23:59   ` Tab bar David De La Harpe Golden
2008-04-08 22:06     ` Juri Linkov
2008-04-09  1:07       ` David De La Harpe Golden
2008-04-09  8:48         ` Juri Linkov
2008-04-09  9:24           ` David Kastrup
2008-04-09 23:28             ` Juri Linkov
2008-04-10  6:11               ` Jan Djärv
2008-04-10  7:31                 ` Jason Rumney
2008-04-10  7:44                   ` Jason Rumney
2008-04-10  8:08                   ` Jan Djärv
2008-04-10 15:31                 ` Richard Stallman
2008-04-10 23:11                   ` Juri Linkov
2008-04-12  0:10                     ` Richard Stallman
2008-04-09  9:45           ` Paul R
2008-04-09 23:29             ` Juri Linkov
2008-04-10  8:09               ` Paul R

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.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=jwvfxuf1n1n.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=cyd@stupidchicken.com \
    --cc=emacs-devel@gnu.org \
    --cc=paul.r.ml@gmail.com \
    --cc=pmr@pajato.com \
    --cc=rms@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.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).