[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: buttons for the ediff control frame
From: |
Dan Nicolaescu |
Subject: |
Re: buttons for the ediff control frame |
Date: |
Tue, 28 Mar 2006 11:20:49 -0800 |
Dan Nicolaescu <address@hidden> writes:
> Understanding how to use the ediff little control frame is kind of
> hard for first time users.
> It might help if it had some graphical buttons...
> A few buttons for the most used functions should be enough.
> Something like:
> -next + previous
> -copy A->B, B->A
> -revert A, revert B
> -quit
> -help
>
The implementation for this proposal seems to work correctly, both
with the default settings and with:
(setq ediff-split-window-function 'split-window-horizontally)
(setq ediff-window-setup-function 'ediff-setup-windows-plain)
The problems left to solve are:
- Icons: where can we get some well designed icons?
- Decide exactly what buttons to include. If the number is more
than 8, then the control frame becomes too big...
- There's a widget infrastructure problem: for adjacent buttons
putting the mouse over one of the will highlight all the buttons.
Please give this patch a try and let me know what you think.
Thanks
--dan
*** /dev/null Mon Mar 20 17:02:17 2006
--- etc/images/tmp-ediff-refine.xpm Sun Mar 26 21:01:48 2006
***************
*** 0 ****
--- 1,29 ----
+ /* XPM */
+ static char * tmp_ediff_refine_xpm[] = {
+ "24 24 2 1",
+ " c None",
+ ". c #FF0000",
+ " ",
+ " ",
+ " ",
+ " ",
+ " .. ",
+ " .... .. ",
+ " . . .. .. . .. .. ",
+ " ... .. . .. . ... . ",
+ " . . . .. . .. ",
+ " . . .. .. . . .. ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "};
*** /dev/null Mon Mar 20 17:02:17 2006
--- etc/images/tmp-ediff-toggle-split.xpm Sun Mar 26 21:01:44 2006
***************
*** 0 ****
--- 1,29 ----
+ /* XPM */
+ static char * tmp_ediff_toggle_split_xpm[] = {
+ "24 24 2 1",
+ " c None",
+ ". c #0000FF",
+ " ",
+ " ",
+ " ",
+ " ",
+ " . ",
+ ".... . ",
+ " . .. . . . .. .. ",
+ " . . .. .. .. .. . ",
+ " . . .. .. .. . ",
+ " . .. ... .... .. ",
+ " . . ",
+ " .. .. ",
+ " ",
+ " ",
+ " . ",
+ " . . . ",
+ ".. ... . . . ",
+ ". . .. . . ",
+ " .. .. . . ",
+ "...... . . . ",
+ " . ",
+ " ",
+ " ",
+ " "};
*** /dev/null Mon Mar 20 17:02:17 2006
--- etc/images/ediff-revert-A.xpm Mon Mar 27 15:31:18 2006
***************
*** 0 ****
--- 1,63 ----
+ /* XPM */
+ static char * ediff_revert_A_xpm[] = {
+ "24 24 36 1",
+ " c None",
+ ". c #FF0000",
+ "+ c #000000",
+ "@ c #EFE5BA",
+ "# c #EFE7C1",
+ "$ c #EED680",
+ "% c #EFE4B6",
+ "& c #D5B75D",
+ "* c #B29544",
+ "= c #D90000",
+ "- c #EFE4B9",
+ "; c #D1B051",
+ "> c #010000",
+ ", c #F51A11",
+ "' c #F1A462",
+ ") c #C0A048",
+ "! c #986B07",
+ "~ c #D1940C",
+ "{ c #E0B74C",
+ "] c #D9C374",
+ "^ c #8F6406",
+ "/ c #D59D1C",
+ "( c #B1933F",
+ "_ c #DFB74A",
+ ": c #CCB76D",
+ "< c #B8820A",
+ "[ c #D9A72E",
+ "} c #D7A62C",
+ "| c #C7B26A",
+ "1 c #D4B150",
+ "2 c #A39256",
+ "3 c #E2CB79",
+ "4 c #C9B46B",
+ "5 c #8D7E4A",
+ "6 c #AE9C5C",
+ "7 c #96864F",
+ " ",
+ " ",
+ " ",
+ " . + ",
+ " .. ++ ",
+ " . . address@hidden ",
+ " . . +#$++++ ",
+ " .... +%$$$$&*+ ",
+ " . =-$$$$$$$;+ ",
+ ". >,'$$$$$$$$)+ ",
+ " +!~~~~~~{$]++ ",
+ " +^~~~~~~/$(+ ",
+ " +^~+++!~_:+ ",
+ " +!+ ++<[$+ ",
+ " ++ ++~$+ ",
+ " + +}|+ ",
+ " +12+ ",
+ " +3+ ",
+ " +45+ ",
+ " +67+ ",
+ " ++ ",
+ " ",
+ " ",
+ " "};
*** /dev/null Mon Mar 20 17:02:17 2006
--- etc/images/ediff-revert-B.xpm Mon Mar 27 15:32:09 2006
***************
*** 0 ****
--- 1,61 ----
+ /* XPM */
+ static char * ediff_revert_B_xpm[] = {
+ "24 24 34 1",
+ " c None",
+ ". c #FF0000",
+ "+ c #000000",
+ "@ c #EFE5BA",
+ "# c #EFE7C1",
+ "$ c #EED680",
+ "% c #EFE4B6",
+ "& c #D5B75D",
+ "* c #B29544",
+ "= c #EA0000",
+ "- c #D1B051",
+ "; c #D90000",
+ "> c #DA6442",
+ ", c #C0A048",
+ "' c #986B07",
+ ") c #D1940C",
+ "! c #E0B74C",
+ "~ c #D9C374",
+ "{ c #8F6406",
+ "] c #D59D1C",
+ "^ c #B1933F",
+ "/ c #DFB74A",
+ "( c #CCB76D",
+ "_ c #B8820A",
+ ": c #D9A72E",
+ "< c #D7A62C",
+ "[ c #C7B26A",
+ "} c #D4B150",
+ "| c #A39256",
+ "1 c #E2CB79",
+ "2 c #C9B46B",
+ "3 c #8D7E4A",
+ "4 c #AE9C5C",
+ "5 c #96864F",
+ " ",
+ " ",
+ " ",
+ " .... + ",
+ " . . ++ ",
+ " . . address@hidden ",
+ " .... +#$++++ ",
+ " . .+%$$$$&*+ ",
+ " . address@hidden ",
+ " ...;>$$$$$$$$$,+ ",
+ " +'))))))!$~++ ",
+ " +{))))))]$^+ ",
+ " +{)+++')/(+ ",
+ " +'+ ++_:$+ ",
+ " ++ ++)$+ ",
+ " + +<[+ ",
+ " +}|+ ",
+ " +1+ ",
+ " +23+ ",
+ " +45+ ",
+ " ++ ",
+ " ",
+ " ",
+ " "};
*** /dev/null Mon Mar 20 17:02:17 2006
--- etc/images/copy-A-B.xpm Thu Mar 23 12:02:32 2006
***************
*** 0 ****
--- 1,114 ----
+ /* XPM */
+ static char * save_copy_A_B_xpm[] = {
+ "24 24 87 1",
+ " c None",
+ ". c #000000",
+ "+ c #B4B4B4",
+ "@ c #F8F8F8",
+ "# c #F6F6F6",
+ "$ c #C3C3C3",
+ "% c #E9E9E9",
+ "& c #989898",
+ "* c #828282",
+ "= c #8A8A8A",
+ "- c #E8E8E8",
+ "; c #636363",
+ "> c #5A5A5A",
+ ", c #6B6B6B",
+ "' c #B3B3B3",
+ ") c #FFFFFF",
+ "! c #D6D6D6",
+ "~ c #828080",
+ "{ c #EE1010",
+ "] c #F93E3E",
+ "^ c #818181",
+ "/ c #FF0000",
+ "( c #FF1A1A",
+ "_ c #FF1E1E",
+ ": c #FF1919",
+ "< c #FF2424",
+ "[ c #6B0000",
+ "} c #EFA8A8",
+ "| c #FD1313",
+ "1 c #EBC9C9",
+ "2 c #A7A7A7",
+ "3 c #8F8F8F",
+ "4 c #C6C6C6",
+ "5 c #FFD7D7",
+ "6 c #FFB0B0",
+ "7 c #F80000",
+ "8 c #CA1C1C",
+ "9 c #A33232",
+ "0 c #FA2F2F",
+ "a c #B83232",
+ "b c #808080",
+ "c c #FFFDFD",
+ "d c #FFE4E4",
+ "e c #FF6C6C",
+ "f c #B00000",
+ "g c #EBD1D1",
+ "h c #FE0A0A",
+ "i c #EAD6D6",
+ "j c #F18A8A",
+ "k c #FC1515",
+ "l c #E7E2E2",
+ "m c #6D6D6D",
+ "n c #767676",
+ "o c #FF4D4D",
+ "p c #060000",
+ "q c #CA4E4E",
+ "r c #D32C2C",
+ "s c #EADCDC",
+ "t c #FA0505",
+ "u c #A95858",
+ "v c #FFF9F9",
+ "w c #FFCDCD",
+ "x c #FF3A3A",
+ "y c #990000",
+ "z c #F5F2F2",
+ "A c #FC1B1B",
+ "B c #F84242",
+ "C c #FFC7C7",
+ "D c #F70000",
+ "E c #D48A8A",
+ "F c #FC1C1C",
+ "G c #E9E5E5",
+ "H c #EEABAB",
+ "I c #FE0000",
+ "J c #1F0000",
+ "K c #FFFEFE",
+ "L c #FF9999",
+ "M c #E30000",
+ "N c #B10000",
+ "O c #710000",
+ "P c #010000",
+ "Q c #D10000",
+ "R c #810000",
+ "S c #F81616",
+ "T c #F80808",
+ "U c #FF2020",
+ "V c #4A0000",
+ " ",
+ " ",
+ " ",
+ "............. ",
+ ".+@@@@@@@@@#$. ",
+ "address@hidden ",
+ ".@&**=%+*%*+%. ",
+ "address@hidden ",
+ ".@;>%,*+-............ ",
+ "address@hidden'))))))))))!. ",
+ ".@&~{]*^.)))))))/(_:<[ ",
+ "address@hidden|/1-.)233&)4/53467 ",
+ ".@;890ab.)))))))/5cdef ",
+ "address@hidden)m;)n34////op ",
+ "address@hidden)))))))/5vwxy ",
+ ".zA////B.)233)33/5&3CD ",
+ ".EFG%%HIJ)))))))/5)KLM ",
+ " NO...PQR)m;;)n3/(STUV ",
+ " .)))))))))))). ",
+ " .)233)334)&3). ",
+ " .)))))))))))). ",
+ " .!))))))))))!. ",
+ " .............. ",
+ " "};
*** /dev/null Mon Mar 20 17:02:17 2006
--- etc/images/copy-B-A.xpm Thu Mar 23 12:03:13 2006
***************
*** 0 ****
--- 1,114 ----
+ /* XPM */
+ static char * save_copy_B_A_xpm[] = {
+ "24 24 87 1",
+ " c None",
+ ". c #000000",
+ "+ c #B4B4B4",
+ "@ c #F8F8F8",
+ "# c #F6F6F6",
+ "$ c #C3C3C3",
+ "% c #E9E9E9",
+ "& c #989898",
+ "* c #828282",
+ "= c #8A8A8A",
+ "- c #E8E8E8",
+ "; c #636363",
+ "> c #5A5A5A",
+ ", c #6B6B6B",
+ "' c #B3B3B3",
+ ") c #FFFFFF",
+ "! c #D6D6D6",
+ "~ c #FF0000",
+ "{ c #F20D0D",
+ "] c #F00F0F",
+ "^ c #FC1616",
+ "/ c #ED1212",
+ "( c #B54A4A",
+ "_ c #FFFDFD",
+ ": c #FF2121",
+ "< c #FF4444",
+ "[ c #ECC4C4",
+ "} c #EFA0A0",
+ "| c #FE0606",
+ "1 c #A7A7A7",
+ "2 c #8F8F8F",
+ "3 c #C6C6C6",
+ "4 c #FFB8B8",
+ "5 c #F50B0B",
+ "6 c #FFDDDD",
+ "7 c #734B4B",
+ "8 c #5B5959",
+ "9 c #EBD0D0",
+ "0 c #C02D2D",
+ "a c #D72727",
+ "b c #FF5151",
+ "c c #FF8E8E",
+ "d c #FF3434",
+ "e c #FF7979",
+ "f c #F84646",
+ "g c #E7E1E1",
+ "h c #6D6D6D",
+ "i c #767676",
+ "j c #FFE5E5",
+ "k c #FC0808",
+ "l c #978383",
+ "m c #FF9898",
+ "n c #FF1818",
+ "o c #050000",
+ "p c #956D6D",
+ "q c #847E7E",
+ "r c #EDBBBB",
+ "s c #E21D1D",
+ "t c #CC3333",
+ "u c #FF8383",
+ "v c #FF5858",
+ "w c #FFF1F1",
+ "x c #FF0A0A",
+ "y c #510000",
+ "z c #F5F5F5",
+ "A c #EDB5B5",
+ "B c #FE0707",
+ "C c #908D8D",
+ "D c #F81717",
+ "E c #B60000",
+ "F c #E9E8E8",
+ "G c #F18B8B",
+ "H c #FC1919",
+ "I c #FFB5B5",
+ "J c #FF1F1F",
+ "K c #FFFBFB",
+ "L c #FFBCBC",
+ "M c #FE0000",
+ "N c #E50000",
+ "O c #E20000",
+ "P c #F00000",
+ "Q c #DF0000",
+ "R c #4A0000",
+ "S c #DC2B2B",
+ "T c #DF6E6E",
+ "U c #FFFEFE",
+ "V c #D10000",
+ " ",
+ " ",
+ " ",
+ "............. ",
+ ".+@@@@@@@@@#$. ",
+ "address@hidden ",
+ ".@&**=%+*%*+%. ",
+ "address@hidden ",
+ ".@;>%,*+-............ ",
+ "address@hidden'))))))))))!. ",
+ "address@hidden/(.))))))))_:<). ",
+ "address@hidden|.)122&)3245~6. ",
+ "address@hidden))))))))bcde. ",
+ "address@hidden)h;)i23jklmno ",
+ "address@hidden)))))))uv)wxy ",
+ ".z~[%%AB.)122)2CD~~~~E ",
+ ".$~[%FGH.))))))IJK))LM ",
+ " .~NOPQR.)h;;)iST)32UV~ ",
+ " .)))))))))))). ",
+ " .)122)223)&2). ",
+ " .)))))))))))). ",
+ " .!))))))))))!. ",
+ " .............. ",
+ " "};
Index: lisp/ediff-util.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ediff-util.el,v
retrieving revision 1.68
diff -c -3 -p -r1.68 ediff-util.el
*** lisp/ediff-util.el 19 Feb 2006 03:16:44 -0000 1.68
--- lisp/ediff-util.el 28 Mar 2006 18:42:31 -0000
***************
*** 30,36 ****
;; Compiler pacifier
(defvar ediff-patch-diagnostics)
(defvar ediff-patchbufer)
! (defvar ediff-use-toolbar-p)
(defvar ediff-toolbar-height)
(defvar ediff-toolbar)
(defvar ediff-toolbar-3way)
--- 30,36 ----
;; Compiler pacifier
(defvar ediff-patch-diagnostics)
(defvar ediff-patchbufer)
! (defvar ediff-use-toolbar-p t)
(defvar ediff-toolbar-height)
(defvar ediff-toolbar)
(defvar ediff-toolbar-3way)
*************** to invocation.")
*** 147,156 ****
--- 147,166 ----
(setq ediff-mode-map nil)
(ediff-set-keys))
+ (defun ediff-add-buttons ()
+ (require 'cus-edit)
+ (goto-char 1)
+ (set (make-local-variable 'widget-button-pressed-face)
custom-button-pressed)
+ (mapc (lambda (arg) (widget-create arg)) ediff-button-list)
+ (when (ediff-multiframe-setup-p) (widget-insert "\n"))
+ (goto-char (point-min))
+ (widget-setup))
(defun ediff-setup-keymap ()
"Set up the keymap used in the control buffer of Ediff."
+ (require 'wid-edit)
(setq ediff-mode-map (make-sparse-keymap))
+ (set-keymap-parent ediff-mode-map widget-keymap)
(suppress-keymap ediff-mode-map)
(define-key ediff-mode-map
*************** to invocation.")
*** 254,259 ****
--- 264,271 ----
))
(define-key ediff-mode-map "m" 'ediff-toggle-wide-display)
+
+ ; (add-hook 'ediff-after-setup-control-frame-hook 'ediff-add-buttons)
;; Allow ediff-mode-map to be referenced indirectly
(fset 'ediff-mode-map ediff-mode-map)
*************** to invocation.")
*** 566,574 ****
(erase-buffer)
(ediff-set-help-message)
(insert ediff-help-message)
! (shrink-window-if-larger-than-buffer)
! (or (ediff-multiframe-setup-p)
! (ediff-indent-help-message))
(ediff-set-help-overlays)
(set-buffer-modified-p nil)
--- 578,586 ----
(erase-buffer)
(ediff-set-help-message)
(insert ediff-help-message)
! ;; (shrink-window-if-larger-than-buffer)
! (unless (or (ediff-multiframe-setup-p) ediff-use-toolbar-p)
! (ediff-indent-help-message))
(ediff-set-help-overlays)
(set-buffer-modified-p nil)
*************** to invocation.")
*** 587,592 ****
--- 599,605 ----
;; In multiframe, toolbar is set in ediff-setup-control-frame
(if (not (ediff-multiframe-setup-p))
(ediff-make-bottom-toolbar)) ; this checks if toolbar is requested
+ (shrink-window-if-larger-than-buffer)
(goto-char (point-min))
(skip-chars-forward ediff-whitespace)))
*************** if necessary."
*** 761,767 ****
Reestablish the default three-window display."
(interactive)
(ediff-barf-if-not-control-buffer)
! (let (buffer-read-only)
(if (and (ediff-buffer-live-p ediff-buffer-A)
(ediff-buffer-live-p ediff-buffer-B)
(or (not ediff-3way-job)
--- 774,781 ----
Reestablish the default three-window display."
(interactive)
(ediff-barf-if-not-control-buffer)
! (let ((inhibit-read-only t)
! (buffer-read-only nil))
(if (and (ediff-buffer-live-p ediff-buffer-A)
(ediff-buffer-live-p ediff-buffer-B)
(or (not ediff-3way-job)
*************** Reestablish the default three-window dis
*** 832,838 ****
;; never grab mouse on quit in this place
(ediff-reset-mouse
control-frame
! (eq this-command 'ediff-quit))))
))
(or no-rehighlight
--- 846,852 ----
;; never grab mouse on quit in this place
(ediff-reset-mouse
control-frame
! (or (ediff-use-toolbar-p) (eq this-command 'ediff-quit)))))
))
(or no-rehighlight
*************** In both cases, operates on the current d
*** 1008,1014 ****
"Toggle short/long help message."
(interactive)
(ediff-barf-if-not-control-buffer)
! (let (buffer-read-only)
(erase-buffer)
(setq ediff-use-long-help-message (not ediff-use-long-help-message))
(ediff-set-help-message))
--- 1022,1029 ----
"Toggle short/long help message."
(interactive)
(ediff-barf-if-not-control-buffer)
! (let ((inhibit-read-only t)
! (buffer-read-only nil))
(erase-buffer)
(setq ediff-use-long-help-message (not ediff-use-long-help-message))
(ediff-set-help-message))
*************** To change the default, set the variable
*** 1385,1391 ****
(set-specifier bottom-toolbar-visible-p (list frame t))
(set-specifier bottom-toolbar-height
(list frame ediff-toolbar-height)))
! nil ; emacs
)
)
((ediff-has-toolbar-support-p)
--- 1400,1406 ----
(set-specifier bottom-toolbar-visible-p (list frame t))
(set-specifier bottom-toolbar-height
(list frame ediff-toolbar-height)))
! (ediff-add-buttons) ; emacs
)
)
((ediff-has-toolbar-support-p)
Index: lisp/ediff-wind.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/ediff-wind.el,v
retrieving revision 1.45
diff -c -3 -p -r1.45 ediff-wind.el
*** lisp/ediff-wind.el 19 Feb 2006 03:16:44 -0000 1.45
--- lisp/ediff-wind.el 28 Mar 2006 18:42:31 -0000
***************
*** 57,69 ****
(require 'ediff-init)
;; be careful with ediff-tbar
(if ediff-xemacs-p
(condition-case nil
(require 'ediff-tbar)
(error
! (defun ediff-compute-toolbar-width () 0)))
! (defun ediff-compute-toolbar-width () 0))
(defgroup ediff-window nil
"Ediff window manipulation."
--- 57,137 ----
(require 'ediff-init)
+ (defvar ediff-button-list
+ '((push-button
+ :tag "prev"
+ :help-echo "Go to previous difference"
+ :tag-glyph "prev-node"
+ :action (lambda (widget &optional e) (ediff-previous-difference 1)))
+ (push-button
+ :tag "next"
+ :help-echo "Go to next difference"
+ :tag-glyph "next-node"
+ :action (lambda (widget &optional e) (ediff-next-difference 1)))
+ (push-button
+ :tag "A->B"
+ :help-echo "Copy difference from A to B"
+ :tag-glyph "copy-A-B"
+ :action (lambda (widget &optional event) (ediff-copy-A-to-B nil)))
+ (push-button
+ :tag "B->A"
+ :help-echo "Copy difference from B to A"
+ :tag-glyph "copy-B-A"
+ :action (lambda (widget &optional event) (ediff-copy-B-to-A nil)))
+ (push-button
+ :tag "Refine"
+ :help-echo "Refine difference"
+ :tag-glyph "tmp-ediff-refine"
+ :action (lambda (widget &optional event)
+ (ediff-make-or-kill-fine-diffs 'make-them)))
+ (push-button
+ :tag "Toggle split"
+ :help-echo "Toggle vertical/horizontal split"
+ :tag-glyph "tmp-ediff-toggle-split"
+ :action (lambda (widget &optional event) (ediff-toggle-split)))
+ (push-button
+ :tag "Revert-A"
+ :help-echo "Revert change in buffer A"
+ :tag-glyph "ediff-revert-A"
+ :action (lambda (widget &optional event) (ediff-restore-diff nil ?A)))
+ (push-button
+ :tag "Revert-B"
+ :help-echo "Revert change in buffer B"
+ :tag-glyph "ediff-revert-B"
+ :action (lambda (widget &optional event) (ediff-restore-diff nil ?B)))
+ (push-button
+ :tag "Help"
+ :help-echo "Ediff help"
+ :tag-glyph "help"
+ :action (lambda (widget &optional event) (ediff-toggle-help)))
+ (push-button
+ :tag "quit"
+ :help-echo "Ediff quit"
+ :tag-glyph "exit"
+ :action (lambda (widget &optional event) (ediff-quit nil)))))
+
+ (defvar ediff-toolbar-width
+ (if ediff-xemacs-p
+ 200.0
+ (* 25 (length ediff-button-list)))
+ "The width of the Ediff toolbar.
+ The value must match the actual width of the toolbar.
+ Here's an example:
+ There are 10 buttons, each 15 pixels large, and the shadows occupy 2
+ pixels each side, and the last button is right-justified (so we reserve
+ about 30 pixels for fill space) = 200 pixels.")
+
;; be careful with ediff-tbar
(if ediff-xemacs-p
(condition-case nil
(require 'ediff-tbar)
(error
! (defun ediff-compute-toolbar-width () 0))
! )
! (defun ediff-compute-toolbar-width ()
! (if (ediff-use-toolbar-p)
! (ceiling (/ ediff-toolbar-width (frame-char-width)))
! 0)))
(defgroup ediff-window nil
"Ediff window manipulation."
*************** In this case, Ediff will use those frame
*** 158,163 ****
--- 226,233 ----
'(scrollbar-height . 0) ; XEmacs only
'(menu-bar-lines . 0) ; Emacs only
'(tool-bar-lines . 0) ; Emacs 21+ only
+ '(left-fringe . 0)
+ '(right-fringe . 0)
;; don't lower but auto-raise
'(auto-lower . nil)
'(auto-raise . t)
*************** into icons, regardless of the window man
*** 359,365 ****
(delete-other-windows)
(split-window-vertically)
(ediff-select-lowest-window)
! (ediff-setup-control-buffer control-buffer)
;; go to the upper window and split it betw A, B, and possibly C
(other-window 1)
--- 429,435 ----
(delete-other-windows)
(split-window-vertically)
(ediff-select-lowest-window)
! ;; (ediff-setup-control-buffer control-buffer)
;; go to the upper window and split it betw A, B, and possibly C
(other-window 1)
*************** into icons, regardless of the window man
*** 418,424 ****
(delete-other-windows)
(split-window-vertically)
(ediff-select-lowest-window)
! (ediff-setup-control-buffer control-buffer)
;; go to the upper window and split it betw A, B, and possibly C
(other-window 1)
--- 488,494 ----
(delete-other-windows)
(split-window-vertically)
(ediff-select-lowest-window)
! ;; (ediff-setup-control-buffer control-buffer)
;; go to the upper window and split it betw A, B, and possibly C
(other-window 1)
*************** into icons, regardless of the window man
*** 943,949 ****
dont-iconify-ctl-frame))
;; 1 more line for the modeline
! (setq lines (1+ (count-lines (point-min) (point-max)))
fheight lines
fwidth (max (+ (ediff-help-message-line-length) 2)
(ediff-compute-toolbar-width))
--- 1013,1020 ----
dont-iconify-ctl-frame))
;; 1 more line for the modeline
! (setq lines (+ 1 (count-lines (point-min) (point-max))
! (if (and ediff-emacs-p ediff-use-toolbar-p) 2 0))
fheight lines
fwidth (max (+ (ediff-help-message-line-length) 2)
(ediff-compute-toolbar-width))