# HG changeset patch # User Bram Moolenaar # Date 1368379831 -7200 # Node ID e2db42528a5bf380bc7e92e41afc807b27f01c12 # Parent 977fbe80d49f33578048c77f81d1ac0ddd74395a updated for version 7.3.940 Problem: Python: Can't get position of window. Solution: Add window.row and window.col. (ZyX) diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt --- a/runtime/doc/if_pyth.txt +++ b/runtime/doc/if_pyth.txt @@ -400,6 +400,9 @@ Window attributes are: This is zero in case it cannot be determined (e.g. when the window object belongs to other tab page). + row, col (read-only) On-screen window position in display cells. + First position is zero. + The height attribute is writable only if the screen is split horizontally. The width attribute is writable only if the screen is split vertically. diff --git a/src/if_py_both.h b/src/if_py_both.h --- a/src/if_py_both.h +++ b/src/if_py_both.h @@ -1839,9 +1839,15 @@ WindowAttr(WindowObject *this, char *nam } else if (strcmp(name, "height") == 0) return PyLong_FromLong((long)(this->win->w_height)); +#ifdef FEAT_WINDOWS + else if (strcmp(name, "row") == 0) + return PyLong_FromLong((long)(this->win->w_winrow)); +#endif #ifdef FEAT_VERTSPLIT else if (strcmp(name, "width") == 0) return PyLong_FromLong((long)(W_WIDTH(this->win))); + else if (strcmp(name, "col") == 0) + return PyLong_FromLong((long)(W_WINCOL(this->win))); #endif else if (strcmp(name, "vars") == 0) return DictionaryNew(this->win->w_vars); @@ -1851,8 +1857,8 @@ WindowAttr(WindowObject *this, char *nam else if (strcmp(name, "number") == 0) return PyLong_FromLong((long) get_win_number(this->win)); else if (strcmp(name,"__members__") == 0) - return Py_BuildValue("[ssssss]", "buffer", "cursor", "height", "vars", - "options", "number"); + return Py_BuildValue("[ssssssss]", "buffer", "cursor", "height", "vars", + "options", "number", "row", "col"); else return NULL; } diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -729,6 +729,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 940, +/**/ 939, /**/ 938,