@@ -441,6 +441,7 @@ static void f_win_getid(typval_T *argvars, typval_T *rettv);
441441static void f_win_gotoid (typval_T * argvars , typval_T * rettv );
442442static void f_win_id2tabwin (typval_T * argvars , typval_T * rettv );
443443static void f_win_id2win (typval_T * argvars , typval_T * rettv );
444+ static void f_win_screenpos (typval_T * argvars , typval_T * rettv );
444445static void f_winbufnr (typval_T * argvars , typval_T * rettv );
445446static void f_wincol (typval_T * argvars , typval_T * rettv );
446447static void f_winheight (typval_T * argvars , typval_T * rettv );
@@ -899,6 +900,7 @@ static struct fst
899900 {"win_gotoid" , 1 , 1 , f_win_gotoid },
900901 {"win_id2tabwin" , 1 , 1 , f_win_id2tabwin },
901902 {"win_id2win" , 1 , 1 , f_win_id2win },
903+ {"win_screenpos" , 1 , 1 , f_win_screenpos },
902904 {"winbufnr" , 1 , 1 , f_winbufnr },
903905 {"wincol" , 0 , 0 , f_wincol },
904906 {"winheight" , 1 , 1 , f_winheight },
@@ -5378,6 +5380,22 @@ f_win_id2win(typval_T *argvars, typval_T *rettv)
53785380 rettv -> vval .v_number = win_id2win (argvars );
53795381}
53805382
5383+ /*
5384+ * "win_screenpos()" function
5385+ */
5386+ static void
5387+ f_win_screenpos (typval_T * argvars , typval_T * rettv )
5388+ {
5389+ win_T * wp ;
5390+
5391+ if (rettv_list_alloc (rettv ) == FAIL )
5392+ return ;
5393+
5394+ wp = find_win_by_nr (& argvars [0 ], NULL );
5395+ list_append_number (rettv -> vval .v_list , wp == NULL ? 0 : wp -> w_winrow + 1 );
5396+ list_append_number (rettv -> vval .v_list , wp == NULL ? 0 : wp -> w_wincol + 1 );
5397+ }
5398+
53815399/*
53825400 * "getwinposx()" function
53835401 */
0 commit comments