diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2019-04-14 13:35:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-14 13:35:11 +0200 |
commit | 0be8fb47a46ee472af41dd96c5884e8e69b94639 (patch) | |
tree | 00a797d93f99fabad6a08e71eb482a9eb78e3ab2 /src/nvim/api/window.c | |
parent | 9ddf99172cc9e8ea3ac47516083751fca75c3501 (diff) | |
parent | c8acbe3b623a4d7636e88b30f779c03845cf548f (diff) | |
download | rneovim-0be8fb47a46ee472af41dd96c5884e8e69b94639.tar.gz rneovim-0be8fb47a46ee472af41dd96c5884e8e69b94639.tar.bz2 rneovim-0be8fb47a46ee472af41dd96c5884e8e69b94639.zip |
Merge pull request #9898 from bfredl/floatwidth
windows: float config changes
Diffstat (limited to 'src/nvim/api/window.c')
-rw-r--r-- | src/nvim/api/window.c | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c index 01cb9a6847..e1c50cb89d 100644 --- a/src/nvim/api/window.c +++ b/src/nvim/api/window.c @@ -466,8 +466,6 @@ void nvim_win_set_config(Window window, Dictionary config, Error *err) if (!parse_float_config(config, &fconfig, !new_float, err)) { return; } - fconfig.height = fconfig.height > 0 ? fconfig.height : win->w_height; - fconfig.width = fconfig.width > 0 ? fconfig.width : win->w_width; if (new_float) { if (!win_new_float(win, fconfig, err)) { return; @@ -499,26 +497,25 @@ Dictionary nvim_win_get_config(Window window, Error *err) return rv; } - PUT(rv, "width", INTEGER_OBJ(wp->w_float_config.width)); - PUT(rv, "height", INTEGER_OBJ(wp->w_float_config.height)); PUT(rv, "focusable", BOOLEAN_OBJ(wp->w_float_config.focusable)); PUT(rv, "external", BOOLEAN_OBJ(wp->w_float_config.external)); - PUT(rv, "anchor", STRING_OBJ(cstr_to_string( - float_anchor_str[wp->w_float_config.anchor]))); - if (wp->w_float_config.relative == kFloatRelativeWindow) { - PUT(rv, "win", INTEGER_OBJ(wp->w_float_config.window)); - } - - if (wp->w_float_config.external) { - return rv; + if (wp->w_floating) { + PUT(rv, "width", INTEGER_OBJ(wp->w_float_config.width)); + PUT(rv, "height", INTEGER_OBJ(wp->w_float_config.height)); + if (!wp->w_float_config.external) { + if (wp->w_float_config.relative == kFloatRelativeWindow) { + PUT(rv, "win", INTEGER_OBJ(wp->w_float_config.window)); + } + PUT(rv, "anchor", STRING_OBJ(cstr_to_string( + float_anchor_str[wp->w_float_config.anchor]))); + PUT(rv, "row", FLOAT_OBJ(wp->w_float_config.row)); + PUT(rv, "col", FLOAT_OBJ(wp->w_float_config.col)); + } } - PUT(rv, "row", FLOAT_OBJ(wp->w_float_config.row)); - PUT(rv, "col", FLOAT_OBJ(wp->w_float_config.col)); - - const char *rel = - wp->w_floating ? float_relative_str[wp->w_float_config.relative] : ""; + const char *rel = (wp->w_floating && !wp->w_float_config.external + ? float_relative_str[wp->w_float_config.relative] : ""); PUT(rv, "relative", STRING_OBJ(cstr_to_string(rel))); return rv; |