mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-03-20 05:33:47 -04: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).
|
(https://codeberg.org/dnkl/foot/issues/1008).
|
||||||
* Improved compatibility with XTerm when `modifyOtherKeys=2`
|
* Improved compatibility with XTerm when `modifyOtherKeys=2`
|
||||||
(https://codeberg.org/dnkl/foot/issues/1009).
|
(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
|
### Security
|
||||||
|
|
|
||||||
17
render.c
17
render.c
|
|
@ -3760,16 +3760,23 @@ damage_view:
|
||||||
#endif
|
#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;
|
term->window->csd_mode == CSD_YES;
|
||||||
|
|
||||||
int title_height = title_shown ? term->conf->csd.title_height : 0;
|
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(
|
xdg_surface_set_window_geometry(
|
||||||
term->window->xdg_surface,
|
term->window->xdg_surface,
|
||||||
0,
|
-border_width,
|
||||||
-title_height,
|
-title_height - border_width,
|
||||||
term->width / term->scale,
|
term->width / term->scale + 2 * border_width,
|
||||||
term->height / term->scale + title_height);
|
term->height / term->scale + title_height + 2 * border_width);
|
||||||
}
|
}
|
||||||
|
|
||||||
tll_free(term->normal.scroll_damage);
|
tll_free(term->normal.scroll_damage);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue