mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-04 04:06:06 -05:00
render: take visible border width into account when setting window geometry
This fixes e.g. window snapping in GNOME.
This commit is contained in:
parent
5539eac590
commit
0e477e2c5e
2 changed files with 14 additions and 5 deletions
|
|
@ -106,6 +106,8 @@
|
|||
(https://codeberg.org/dnkl/foot/issues/1008).
|
||||
* Improved compatibility with XTerm when `modifyOtherKeys=2`
|
||||
(https://codeberg.org/dnkl/foot/issues/1009).
|
||||
* Window geometry when CSDs are enabled and CSD border width set to a
|
||||
non-zero value. This fixes window snapping in e.g. GNOME.
|
||||
|
||||
|
||||
### Security
|
||||
|
|
|
|||
17
render.c
17
render.c
|
|
@ -3760,16 +3760,23 @@ damage_view:
|
|||
#endif
|
||||
|
||||
{
|
||||
bool title_shown = !term->window->is_fullscreen &&
|
||||
bool title_shown =
|
||||
!term->window->is_fullscreen &&
|
||||
term->window->csd_mode == CSD_YES;
|
||||
|
||||
bool border_shown =
|
||||
!term->window->is_fullscreen &&
|
||||
!term->window->is_maximized &&
|
||||
term->window->csd_mode == CSD_YES;
|
||||
|
||||
int title_height = title_shown ? term->conf->csd.title_height : 0;
|
||||
int border_width = border_shown ? term->conf->csd.border_width_visible : 0;
|
||||
xdg_surface_set_window_geometry(
|
||||
term->window->xdg_surface,
|
||||
0,
|
||||
-title_height,
|
||||
term->width / term->scale,
|
||||
term->height / term->scale + title_height);
|
||||
-border_width,
|
||||
-title_height - border_width,
|
||||
term->width / term->scale + 2 * border_width,
|
||||
term->height / term->scale + title_height + 2 * border_width);
|
||||
}
|
||||
|
||||
tll_free(term->normal.scroll_damage);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue