aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/window.c
diff options
context:
space:
mode:
authorglepnir <glephunter@gmail.com>2023-09-14 13:30:51 +0800
committerglepnir <glephunter@gmail.com>2023-09-18 18:21:14 +0800
commitfd08fd3de3020647c8ae73f1c7d2cf9a4926c828 (patch)
treed6ea15fe5c720985f146431cac3587ced8516ced /src/nvim/window.c
parenta6e74c1f0a2bbf03f5b99c167b549018f4c8fb0d (diff)
downloadrneovim-fd08fd3de3020647c8ae73f1c7d2cf9a4926c828.tar.gz
rneovim-fd08fd3de3020647c8ae73f1c7d2cf9a4926c828.tar.bz2
rneovim-fd08fd3de3020647c8ae73f1c7d2cf9a4926c828.zip
fix(float): add fixd option
Diffstat (limited to 'src/nvim/window.c')
-rw-r--r--src/nvim/window.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/nvim/window.c b/src/nvim/window.c
index c0d399c4c4..10334083ce 100644
--- a/src/nvim/window.c
+++ b/src/nvim/window.c
@@ -1010,6 +1010,10 @@ void ui_ext_win_position(win_T *wp, bool validate)
comp_col += grid->comp_col;
comp_row = MAX(MIN(comp_row, Rows - wp->w_height_outer - (p_ch > 0 ? 1 : 0)), 0);
comp_col = MAX(MIN(comp_col, Columns - wp->w_width_outer), 0);
+ int right_extra = Columns - (int)c.col - wp->w_width - (c.border_chars[2][0] != 0);
+ if (!(c.anchor & kFloatAnchorEast) && c.fixed && right_extra < 0) {
+ comp_col = (int)c.col;
+ }
wp->w_winrow = comp_row;
wp->w_wincol = comp_col;
ui_comp_put_grid(&wp->w_grid_alloc, comp_row, comp_col,