]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix handling of tool-bar-position, also put into default-frame-alist.
authorJan D <jan.h.d@swipnet.se>
Fri, 13 Aug 2010 13:26:13 +0000 (15:26 +0200)
committerJan D <jan.h.d@swipnet.se>
Fri, 13 Aug 2010 13:26:13 +0000 (15:26 +0200)
* 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.

lisp/ChangeLog
lisp/menu-bar.el
src/ChangeLog
src/frame.h
src/xfns.c

index 868d9822b85b1c179f2eeb290250f02ead3dddb8..d61c11b4ef55ce73a8bf1e01226915144e824ac0 100644 (file)
@@ -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"
index 626472605ff224031c9455f8f2e6b5d3291b0792..3c1241237f1f7fbdfc2a5faca0619129d57190e7 100644 (file)
@@ -968,6 +968,14 @@ mail status in mode line"))
              :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 @@ mail status in mode line"))
 (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
index 024cf18efb629b170d84aecbf6276cf25a5678b2..69b1e9866d5a888ff95ba291ec5fe9cc3e321a60 100644 (file)
@@ -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.
index 088b477dfceddd69b744d335cac6dbfd3294dd08..6b307c7c3b149f6d44b833c10458031dbd361039 100644 (file)
@@ -1050,7 +1050,7 @@ extern Lisp_Object Qbackground_color, Qforeground_color;
 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;
index e2d571a847f0a45c92da5b0d3b53e6ff30f5244f..cb6733e8fa12603b0fd7e82b64d4012dbdbdabbc 100644 (file)
@@ -3392,6 +3392,8 @@ This function is an internal primitive--use `make-frame' instead.  */)
                       "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);