aboutsummaryrefslogtreecommitdiff
path: root/vis-core.h
diff options
context:
space:
mode:
authorRandy Palamar <randy@rnpnr.xyz>2024-05-23 22:21:40 -0600
committerRandy Palamar <randy@rnpnr.xyz>2024-05-24 15:23:41 -0600
commit70fa1e8594be04c203179e8249a27ae648a81e71 (patch)
treee4160703953dfef02ba74df0f78840088e46c91c /vis-core.h
parent66c7dfeec6367eac5f7b0f9eff451a0577d8eae7 (diff)
downloadvis-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.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/vis-core.h b/vis-core.h
index c66924e..bc9736e 100644
--- a/vis-core.h
+++ b/vis-core.h
@@ -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 */