让emacs pgtk知道menu-bar的像素高度

diff --git a/src/pgtkfns.c b/src/pgtkfns.c
index ec708af374..5c54b78e5a 100644
--- a/src/pgtkfns.c
+++ b/src/pgtkfns.c
@@ -3367,6 +3367,9 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
   tab_bar_width = (tab_bar_height
 		   ? native_width - 2 * internal_border_width : 0);
 
+  int menu_bar_height = FRAME_MENUBAR_HEIGHT (f);
+  outer_height += menu_bar_height;
+
   /* Construct list.  */
   if (EQ (attribute, Qouter_edges))
     return list4 (make_fixnum (left_pos), make_fixnum (top_pos),
@@ -3398,8 +3401,8 @@ frame_geometry (Lisp_Object frame, Lisp_Object attribute)
 		    : Fcons (make_fixnum (border), make_fixnum (border)))),
 	    Fcons (Qtitle_bar_size,
 		   Fcons (make_fixnum (0), make_fixnum (title_height))),
-	    Fcons (Qmenu_bar_external, Qnil),
-	    Fcons (Qmenu_bar_size, Fcons (make_fixnum (0), make_fixnum (0))),
+	    Fcons (Qmenu_bar_external, Qt),
+	    Fcons (Qmenu_bar_size, Fcons (make_fixnum (0), make_fixnum (menu_bar_height))),
 	    Fcons (Qtab_bar_size,
 		   Fcons (make_fixnum (tab_bar_width),
 			  make_fixnum (tab_bar_height))),

该补丁由ds4生成,或许有更好的方法将这个问题解决(AIGC内容是不是没法提交给基金会?我不知道有谁能代我提交一下)

AI 写的代码需要自己写一遍,也就是强制review,写一遍也意味着理解了为什么这么改,签了转让协议后会有人组织review,期间还需要回答一些问题。

1 个赞

这种fix可能即使review了也会写出大差不差的方案,毕竟不是一个很复杂的牵一发而动全身的重写,我本想把它放到邮件列表上看看反响,但考虑到GNU项目都讨厌AIGC,最好还是在这同行评审一遍

行数很少的好像不需要走流程,人家可以直接拿去用

我之前用ai解决了pgtk的svg和png背景不透明的问题,有懂的大佬可以自行修改提交,我当时提交中断了。 .emacs.d/scripts/arch/emacs-pgtk/patches/pgtk-alpha-transparency.patch at main · LuciusChen/.emacs.d · GitHub