diff options
| author | Randy Palamar <randy@rnpnr.xyz> | 2024-05-23 22:21:40 -0600 |
|---|---|---|
| committer | Randy Palamar <randy@rnpnr.xyz> | 2024-05-24 15:23:41 -0600 |
| commit | 70fa1e8594be04c203179e8249a27ae648a81e71 (patch) | |
| tree | e4160703953dfef02ba74df0f78840088e46c91c /vis-core.h | |
| parent | 66c7dfeec6367eac5f7b0f9eff451a0577d8eae7 (diff) | |
| download | vis-70fa1e8594be04c203179e8249a27ae648a81e71.tar.gz vis-70fa1e8594be04c203179e8249a27ae648a81e71.tar.xz | |
combine Win and UiWin
These are not seperate things and keeping them this way makes
gives this convoluted mess where both Wins and UiWins must have
linked lists to the other Wins and UiWins in the program despite
the fact that neither of them can exist in isolation.
This, like my previous cleanup commits, is part of a larger goal
of properly isolating the various subsystems in vis. Doing so is
required if we ever want to be able to have a vis-server and a
vis-client.
Diffstat (limited to 'vis-core.h')
| -rw-r--r-- | vis-core.h | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -154,11 +154,15 @@ struct File { /* shared state among windows displaying the same file */ }; struct Win { - Vis *vis; /* editor instance to which this window belongs */ - UiWin *ui; /* ui object handling visual appearance of this window */ - File *file; /* file being displayed in this window */ + int id; /* unique identifier for this window */ + int width, height; /* window dimension including status bar */ + int x, y; /* window position */ + int sidebar_width; /* width of the sidebar showing line numbers etc. */ + enum UiOption options; /* display settings for this window */ View view; /* currently displayed part of underlying text */ bool expandtab; /* whether typed tabs should be converted to spaces in this window*/ + Vis *vis; /* editor instance to which this window belongs */ + File *file; /* file being displayed in this window */ MarkList jumplist; /* LRU jump management */ Array saved_selections; /* register used to store selections */ Mode modes[VIS_MODE_INVALID]; /* overlay mods used for per window key bindings */ |
