diff options
| author | Po Lu | 2023-05-13 10:27:57 +0800 |
|---|---|---|
| committer | Po Lu | 2023-05-13 10:28:11 +0800 |
| commit | fa598571adab4858282f337b45984517e197f8a9 (patch) | |
| tree | 1a96cbcefc895d05875fa765449adefd81348afd /src | |
| parent | d9f674aea50cf1fe6ac138f14b602ce2d0f5cf77 (diff) | |
| download | emacs-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.c | 14 | ||||
| -rw-r--r-- | src/pgtkfns.c | 7 | ||||
| -rw-r--r-- | src/pgtkterm.c | 23 | ||||
| -rw-r--r-- | src/pgtkterm.h | 1 | ||||
| -rw-r--r-- | src/window.h | 2 |
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 | |||
| 402 | void | ||
| 403 | pgtk_set_doc_edited (void) | ||
| 404 | { | ||
| 405 | } | ||
| 406 | |||
| 407 | |||
| 408 | static void | 401 | static void |
| 409 | pgtk_set_menu_bar_lines (struct frame *f, Lisp_Object value, Lisp_Object oldval) | 402 | pgtk_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 *); | |||
| 553 | extern char *pgtk_xlfd_to_fontname (const char *); | 553 | extern char *pgtk_xlfd_to_fontname (const char *); |
| 554 | 554 | ||
| 555 | /* Implemented in pgtkfns.c. */ | 555 | /* Implemented in pgtkfns.c. */ |
| 556 | extern void pgtk_set_doc_edited (void); | ||
| 557 | extern const char *pgtk_get_defaults_value (const char *); | 556 | extern const char *pgtk_get_defaults_value (const char *); |
| 558 | extern const char *pgtk_get_string_resource (XrmDatabase, const char *, const char *); | 557 | extern const char *pgtk_get_string_resource (XrmDatabase, const char *, const char *); |
| 559 | extern void pgtk_implicitly_set_name (struct frame *, Lisp_Object, Lisp_Object); | 558 | extern 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)) |