changeset 109771:3c2274d0da65

Fix handling of tool-bar-position, also put into default-frame-alist. * lisp/menu-bar.el (menu-bar-set-tool-bar-position): New function. (menu-bar-showhide-tool-bar-menu-customize-enable-left) (menu-bar-showhide-tool-bar-menu-customize-enable-right) (menu-bar-showhide-tool-bar-menu-customize-enable-top) (menu-bar-showhide-tool-bar-menu-customize-enable-bottom): Call menu-bar-set-tool-bar-position. * src/frame.h (Qtool_bar_position): Declare. * src/xfns.c (Fx_create_frame): Call x_default_parameter for Qtool_bar_position.
author Jan D <jan.h.d@swipnet.se>
date Fri, 13 Aug 2010 15:26:13 +0200
parents 30994c3466ad
children 7ce174214df2
files lisp/ChangeLog lisp/menu-bar.el src/ChangeLog src/frame.h src/xfns.c
diffstat 5 files changed, 31 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Aug 13 14:09:51 2010 +0300
+++ b/lisp/ChangeLog	Fri Aug 13 15:26:13 2010 +0200
@@ -1,3 +1,12 @@
+2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* menu-bar.el (menu-bar-set-tool-bar-position): New function.
+	(menu-bar-showhide-tool-bar-menu-customize-enable-left)
+	(menu-bar-showhide-tool-bar-menu-customize-enable-right)
+	(menu-bar-showhide-tool-bar-menu-customize-enable-top)
+	(menu-bar-showhide-tool-bar-menu-customize-enable-bottom): Call
+	menu-bar-set-tool-bar-position.
+
 2010-08-12  Stefan Monnier  <monnier@iro.umontreal.ca>
 
 	* progmodes/octave-mod.el (octave-mode-syntax-table): Use the new "c"
--- a/lisp/menu-bar.el	Fri Aug 13 14:09:51 2010 +0300
+++ b/lisp/menu-bar.el	Fri Aug 13 15:26:13 2010 +0200
@@ -968,6 +968,14 @@
 	      :help ,(purecopy "Turn menu-bar on/off")
 	      :button (:toggle . (> (frame-parameter nil 'menu-bar-lines) 0))))
 
+(defun menu-bar-set-tool-bar-position (position)
+  (customize-set-variable 'tool-bar-mode t)
+  (set-frame-parameter nil 'tool-bar-position position)
+  (customize-set-variable 'default-frame-alist
+			  (cons (cons 'tool-bar-position position)
+				(assq-delete-all 'tool-bar-position
+						 default-frame-alist))))
+
 (defun menu-bar-showhide-tool-bar-menu-customize-disable ()
   "Do not display tool bars."
   (interactive)
@@ -975,24 +983,20 @@
 (defun menu-bar-showhide-tool-bar-menu-customize-enable-left ()
   "Display tool bars on the left side."
   (interactive)
-  (customize-set-variable 'tool-bar-mode t)
-  (set-frame-parameter nil 'tool-bar-position 'left))
+  (menu-bar-set-tool-bar-position 'left))
 
 (defun menu-bar-showhide-tool-bar-menu-customize-enable-right ()
   "Display tool bars on the right side."
   (interactive)
-  (customize-set-variable 'tool-bar-mode t)
-  (set-frame-parameter nil 'tool-bar-position 'right))
+  (menu-bar-set-tool-bar-position 'right))
 (defun menu-bar-showhide-tool-bar-menu-customize-enable-top ()
   "Display tool bars on the top side."
   (interactive)
-  (customize-set-variable 'tool-bar-mode t)
-  (set-frame-parameter nil 'tool-bar-position 'top))
+  (menu-bar-set-tool-bar-position 'top))
 (defun menu-bar-showhide-tool-bar-menu-customize-enable-bottom ()
   "Display tool bars on the bottom side."
   (interactive)
-  (customize-set-variable 'tool-bar-mode t)
-  (set-frame-parameter nil 'tool-bar-position 'bottom))
+  (menu-bar-set-tool-bar-position 'bottom))
 
 (if (featurep 'move-toolbar)
     (progn
--- a/src/ChangeLog	Fri Aug 13 14:09:51 2010 +0300
+++ b/src/ChangeLog	Fri Aug 13 15:26:13 2010 +0200
@@ -1,3 +1,10 @@
+2010-08-13  Jan Djärv  <jan.h.d@swipnet.se>
+
+	* frame.h (Qtool_bar_position): Declare.
+
+	* xfns.c (Fx_create_frame): Call x_default_parameter for
+	Qtool_bar_position.
+
 2010-08-13  Eli Zaretskii  <eliz@gnu.org>
 
 	* unexcoff.c: Remove the parts used when "emacs" is not defined.
--- a/src/frame.h	Fri Aug 13 14:09:51 2010 +0300
+++ b/src/frame.h	Fri Aug 13 15:26:13 2010 +0200
@@ -1050,7 +1050,7 @@
 extern Lisp_Object Qicon, Qicon_name, Qicon_type, Qicon_left, Qicon_top;
 extern Lisp_Object Qinternal_border_width;
 extern Lisp_Object Qtooltip;
-extern Lisp_Object Qmenu_bar_lines, Qtool_bar_lines;
+extern Lisp_Object Qmenu_bar_lines, Qtool_bar_lines, Qtool_bar_position;
 extern Lisp_Object Qmouse_color;
 extern Lisp_Object Qname, Qtitle;
 extern Lisp_Object Qparent_id;
--- a/src/xfns.c	Fri Aug 13 14:09:51 2010 +0300
+++ b/src/xfns.c	Fri Aug 13 15:26:13 2010 +0200
@@ -3392,6 +3392,8 @@
 		       "waitForWM", "WaitForWM", RES_TYPE_BOOLEAN);
   x_default_parameter (f, parms, Qfullscreen, Qnil,
                        "fullscreen", "Fullscreen", RES_TYPE_SYMBOL);
+  x_default_parameter (f, parms, Qtool_bar_position,
+                       f->tool_bar_position, 0, 0, RES_TYPE_SYMBOL);
 
   /* Compute the size of the X window.  */
   window_prompting = x_figure_window_size (f, parms, 1);