aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2023-05-13 10:27:57 +0800
committerPo Lu2023-05-13 10:28:11 +0800
commitfa598571adab4858282f337b45984517e197f8a9 (patch)
tree1a96cbcefc895d05875fa765449adefd81348afd /src
parentd9f674aea50cf1fe6ac138f14b602ce2d0f5cf77 (diff)
downloademacs-fa598571adab4858282f337b45984517e197f8a9.tar.gz
emacs-fa598571adab4858282f337b45984517e197f8a9.zip
Fix detection of tab bar windows on PGTK
* src/dispnew.c (adjust_frame_glyphs_for_window_redisplay): Adjust commentary. * src/pgtkfns.c (pgtk_set_doc_edited): Remove unused function. * src/pgtkterm.c (pgtk_clear_under_internal_border): Clean up X related code. * src/pgtkterm.h: Update prototypes. * src/window.h: Define WIDNOW_TAB_BAR_P on PGTK. (bug#63472)
Diffstat (limited to 'src')
-rw-r--r--src/dispnew.c14
-rw-r--r--src/pgtkfns.c7
-rw-r--r--src/pgtkterm.c23
-rw-r--r--src/pgtkterm.h1
-rw-r--r--src/window.h2
5 files changed, 21 insertions, 26 deletions
diff --git a/src/dispnew.c b/src/dispnew.c
index fe661579daf..a928a5d1b14 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -2212,10 +2212,16 @@ adjust_frame_glyphs_for_window_redisplay (struct frame *f)
2212 2212
2213 w->pixel_left = 0; 2213 w->pixel_left = 0;
2214 w->left_col = 0; 2214 w->left_col = 0;
2215 w->pixel_top = FRAME_MENU_BAR_HEIGHT (f) 2215
2216 + (!NILP (Vtab_bar_position) ? FRAME_TOOL_BAR_HEIGHT (f) : 0); 2216 /* Note that tab and tool bar windows appear above the internal
2217 w->top_line = FRAME_MENU_BAR_LINES (f) 2217 border, as enforced by WINDOW_TOP_EDGE_Y. */
2218 + (!NILP (Vtab_bar_position) ? FRAME_TOOL_BAR_LINES (f) : 0); 2218
2219 w->pixel_top = (FRAME_MENU_BAR_HEIGHT (f)
2220 + (!NILP (Vtab_bar_position)
2221 ? FRAME_TOOL_BAR_HEIGHT (f) : 0));
2222 w->top_line = (FRAME_MENU_BAR_LINES (f)
2223 + (!NILP (Vtab_bar_position)
2224 ? FRAME_TOOL_BAR_LINES (f) : 0));
2219 w->total_cols = FRAME_TOTAL_COLS (f); 2225 w->total_cols = FRAME_TOTAL_COLS (f);
2220 w->pixel_width = (FRAME_PIXEL_WIDTH (f) 2226 w->pixel_width = (FRAME_PIXEL_WIDTH (f)
2221 - 2 * FRAME_INTERNAL_BORDER_WIDTH (f)); 2227 - 2 * FRAME_INTERNAL_BORDER_WIDTH (f));
diff --git a/src/pgtkfns.c b/src/pgtkfns.c
index 6e5bb22375a..801f97d26d2 100644
--- a/src/pgtkfns.c
+++ b/src/pgtkfns.c
@@ -398,13 +398,6 @@ pgtk_set_title (struct frame *f, Lisp_Object name, Lisp_Object old_name)
398 pgtk_set_name_internal (f, name); 398 pgtk_set_name_internal (f, name);
399} 399}
400 400
401
402void
403pgtk_set_doc_edited (void)
404{
405}
406
407
408static void 401static void
409pgtk_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) 402pgtk_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval)
410{ 403{
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
index c00e13550bd..6cb1a3a4626 100644
--- a/src/pgtkterm.c
+++ b/src/pgtkterm.c
@@ -4954,22 +4954,19 @@ pgtk_clear_under_internal_border (struct frame *f)
4954 4954
4955 if (face) 4955 if (face)
4956 { 4956 {
4957#define x_fill_rectangle(f, gc, x, y, w, h) \ 4957 fill_background_by_face (f, face, 0, margin, width, border);
4958 fill_background_by_face (f, face, x, y, w, h) 4958 fill_background_by_face (f, face, 0, 0, border, height);
4959 x_fill_rectangle (f, gc, 0, margin, width, border); 4959 fill_background_by_face (f, face, width - border, 0, border,
4960 x_fill_rectangle (f, gc, 0, 0, border, height); 4960 height);
4961 x_fill_rectangle (f, gc, width - border, 0, border, height); 4961 fill_background_by_face (f, face, 0, height - border, width,
4962 x_fill_rectangle (f, gc, 0, height - border, width, border); 4962 border);
4963#undef x_fill_rectangle
4964 } 4963 }
4965 else 4964 else
4966 { 4965 {
4967#define x_clear_area(f, x, y, w, h) pgtk_clear_area (f, x, y, w, h) 4966 pgtk_clear_area (f, 0, 0, border, height);
4968 x_clear_area (f, 0, 0, border, height); 4967 pgtk_clear_area (f, 0, margin, width, border);
4969 x_clear_area (f, 0, margin, width, border); 4968 pgtk_clear_area (f, width - border, 0, border, height);
4970 x_clear_area (f, width - border, 0, border, height); 4969 pgtk_clear_area (f, 0, height - border, width, border);
4971 x_clear_area (f, 0, height - border, width, border);
4972#undef x_clear_area
4973 } 4970 }
4974 4971
4975 unblock_input (); 4972 unblock_input ();
diff --git a/src/pgtkterm.h b/src/pgtkterm.h
index 202c6622ce3..8f2f00efdad 100644
--- a/src/pgtkterm.h
+++ b/src/pgtkterm.h
@@ -553,7 +553,6 @@ extern void pgtk_clear_frame (struct frame *);
553extern char *pgtk_xlfd_to_fontname (const char *); 553extern char *pgtk_xlfd_to_fontname (const char *);
554 554
555/* Implemented in pgtkfns.c. */ 555/* Implemented in pgtkfns.c. */
556extern void pgtk_set_doc_edited (void);
557extern const char *pgtk_get_defaults_value (const char *); 556extern const char *pgtk_get_defaults_value (const char *);
558extern const char *pgtk_get_string_resource (XrmDatabase, const char *, const char *); 557extern const char *pgtk_get_string_resource (XrmDatabase, const char *, const char *);
559extern void pgtk_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object); 558extern void pgtk_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object);
diff --git a/src/window.h b/src/window.h
index 32b5fe14f4f..2f793ebe438 100644
--- a/src/window.h
+++ b/src/window.h
@@ -750,7 +750,7 @@ wset_next_buffers (struct window *w, Lisp_Object val)
750#endif 750#endif
751 751
752/* True if W is a tab bar window. */ 752/* True if W is a tab bar window. */
753#if defined (HAVE_WINDOW_SYSTEM) && !defined (HAVE_PGTK) 753#if defined (HAVE_WINDOW_SYSTEM)
754# define WINDOW_TAB_BAR_P(W) \ 754# define WINDOW_TAB_BAR_P(W) \
755 (WINDOWP (WINDOW_XFRAME (W)->tab_bar_window) \ 755 (WINDOWP (WINDOW_XFRAME (W)->tab_bar_window) \
756 && (W) == XWINDOW (WINDOW_XFRAME (W)->tab_bar_window)) 756 && (W) == XWINDOW (WINDOW_XFRAME (W)->tab_bar_window))