]> git.eshelyaron.com Git - emacs.git/commitdiff
Signal error upon setting unsupported tool bar position
authorPo Lu <luangruo@yahoo.com>
Tue, 20 Jun 2023 02:13:41 +0000 (02:13 +0000)
committerPo Lu <luangruo@yahoo.com>
Tue, 20 Jun 2023 02:13:41 +0000 (02:13 +0000)
* src/haikufns.c (haiku_set_tool_bar_position): New function.
Port non-GTK code from X.
(haiku_frame_parm_handlers): Add new function.

src/haikufns.c

index b591c143900458cabfedb9c40ad9aa4c499b9d9e..b4e68495a356e4c5a3e9e157dbf5780e2eb63fbb 100644 (file)
@@ -258,6 +258,22 @@ haiku_set_tool_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval
   haiku_change_tool_bar_height (f, nlines * FRAME_LINE_HEIGHT (f));
 }
 
+static void
+haiku_set_tool_bar_position (struct frame *f,
+                            Lisp_Object new_value,
+                            Lisp_Object old_value)
+{
+  Lisp_Object choice = list4 (Qleft, Qright, Qtop, Qbottom);
+
+  if (!NILP (Fmemq (new_value, choice)))
+    {
+      if (!EQ (new_value, Qtop))
+       error ("The only supported tool bar position is top");
+    }
+  else
+    wrong_choice (choice, new_value);
+}
+
 static void
 haiku_set_tab_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
 {
@@ -3136,7 +3152,7 @@ frame_parm_handler haiku_frame_parm_handlers[] =
     gui_set_font_backend,
     gui_set_alpha,
     haiku_set_sticky,
-    NULL, /* set tool bar pos */
+    haiku_set_tool_bar_position,
     haiku_set_inhibit_double_buffering,
     haiku_set_undecorated,
     haiku_set_parent_frame,