tower@WHEATIES.AI.MIT.EDU (Leonard H. Tower Jr.) (01/12/89)
From: rms@wheaties.ai.mit.edu (Richard Stallman) Could you conduct another poll asking whether people would prefer it if C-x 0 gave all its space to one other immediately adjacent window? Right now the space of the window being deleted is distributed among all the sibling windows in proportion to their current size. Please reply via electronic mail to me: tower@wheaties.ai.mit.edu do NOT post your reply to either of the newsgroups or the mailing list. I prefer that the Subject: heade lines be either Subject: kws poll: prefer PRESENT V 18 all sibling windows OR Subject: kws poll: prefer NEW all space to immediately adjacent window Substanial comments welcome (of course ;-). thanx -len
wolfgang@mgm.mit.edu (Wolfgang Rupprecht) (01/14/89)
I would like to see ideas tossed around on the net on this topic, hence the posting instead of a reply to tower@prep.ai.mit.edu ... > Could you conduct another poll asking whether people would prefer it > if C-x 0 gave all its space to one other immediately adjacent window? > Right now the space of the window being deleted is distributed > among all the sibling windows in proportion to their current size. Emacs is really only a (great) two window editor. Managing 3 or more windows is always a real pain. One problem case is in parsing lint(1) output for cases like: "function x used inconsistently foo.c(7) :: bar.c(7)" I would really like to have 3 windows for foo.c, bar.c and *compilation*. Choosing a window to go to is a serial access nightmare. Deleting a window is even more painful, as the resulting windows usually have to be resized individually. Usually when I delete 1 of 3 windows, I usually end up resizing the 2 resulting windows to be equal size again. I therefor would vote for \C-x 0 to resize all remaining windows to be *equally* sized. A "resize-windows-to-ratio <x> <y> ... <z>" command would also be useful here for adjusting the relative size of more than two windows. In addition to the above, I would also like to see an "absolute addressed" window-selection command. Right now, one has to \C-x o to the desired window. A "goto-window <buffer-name>" command would be handy. Or perhaps a window-number on the mode-line and a "\C-x j <n>" command to get to it? -wolfgang Wolfgang Rupprecht ARPA: wolfgang@mgm.mit.edu (IP 18.82.0.114) TEL: (617) 267-4365 UUCP: mit-eddie!mgm.mit.edu!wolfgang
rk@lexicon.UUCP (Bob Kukura) (01/16/89)
In article <8758@bloom-beacon.MIT.EDU> wolfgang@mgm.mit.edu (Wolfgang Rupprecht) writes: I would like to see ideas tossed around on the net on this topic, hence the posting instead of a reply to tower@prep.ai.mit.edu ... > Could you conduct another poll asking whether people would prefer it > if C-x 0 gave all its space to one other immediately adjacent window? > Right now the space of the window being deleted is distributed > among all the sibling windows in proportion to their current size. [...] Usually when I delete 1 of 3 windows, I usually end up resizing the 2 resulting windows to be equal size again. I therefor would vote for \C-x 0 to resize all remaining windows to be *equally* sized. A "resize-windows-to-ratio <x> <y> ... <z>" command would also be useful here for adjusting the relative size of more than two windows. A command that declared the maximum size buffer that a window needs would be useful in these kinds of situations, and wouldn't require the user to resize the windows manually as often. Some modes might set the size limit automatically. In addition to the above, I would also like to see an "absolute addressed" window-selection command. Right now, one has to \C-x o to the desired window. A "goto-window <buffer-name>" command would be handy. Or perhaps a window-number on the mode-line and a "\C-x j <n>" command to get to it? Me too. I like the window number idea. -wolfgang Wolfgang Rupprecht ARPA: wolfgang@mgm.mit.edu (IP 18.82.0.114) TEL: (617) 267-4365 UUCP: mit-eddie!mgm.mit.edu!wolfgang -- -Bob Kukura uucp: {husc6,linus,harvard,bbn}!spdcc!lexicon!rk phone: (617) 891-6790
jr@bbn.com (John Robinson) (01/16/89)
In article <8758@bloom-beacon.MIT.EDU>, wolfgang@mgm (Wolfgang Rupprecht) writes: >I would like to see ideas tossed around on the net on this topic, Sure, me too. >Usually when I delete 1 of 3 windows, I usually end up resizing the 2 >resulting windows to be equal size again. I therefor would vote for >\C-x 0 to resize all remaining windows to be *equally* sized. > >A "resize-windows-to-ratio <x> <y> ... <z>" command would also be >useful here for adjusting the relative size of more than two windows. Maybe there could be a vector of numbers whose ratios would be used to size the remaining windows. Setting the numbers equal would result in equal size windows, etc. When N windows are visible, look at the first N entries, etc. Or maybe a vector of vectors... This would be easy to prototype by redefinition of (delete-window). >In addition to the above, I would also like to see an "absolute >addressed" window-selection command. Right now, one has to \C-x o to >the desired window. You know about prefix args to \C-x o ? -- /jr jr@bbn.com or bbn!jr
raible@orville.nas.nasa.gov (Eric L. Raible) (01/18/89)
In article <8758@bloom-beacon.MIT.EDU> wolfgang@mgm.mit.edu.UUCP (Wolfgang Rupprecht) writes: >Usually when I delete 1 of 3 windows, I usually end up resizing the 2 >resulting windows to be equal size again. I therefor would vote for >\C-x 0 to resize all remaining windows to be *equally* sized. > I got an initial copy of this code from someone else (but can't remember who). It doesn't work too well with horizontally-split windows, but is quite useful otherwise. (global-set-key "\eB" 'balance-windows) (defun balance-windows () "Makes all visible windows the same size." (interactive) (let ((size (/ (screen-height) (count-windows)))) (walk-windows (function (lambda () (enlarge-window (- size (window-height))))) 'no-mini))) (defun walk-windows (proc &optional no-mini) "Applies PROC to each visible window (after selecting it, for convenience). Optional arg NO-MINI non-nil means don't apply PROC to the minibuffer even if it is active." (let* ((start (selected-window)) (current start) (done nil)) (while (not done) (select-window current) (funcall proc) (setq current (next-window current no-mini)) (setq done (eq current start))) (select-window start))) (defun count-windows (&optional no-mini) "Returns the number of visible windows. Optional arg NO-MINI non-nil means don't count the minibuffer even if it is active." (let ((count 0)) (walk-windows (function (lambda () (setq count (+ count 1)))) no-mini) count))