--- a/ui/cocoa/window.m Tue Oct 07 14:59:11 2025 +0200 +++ b/ui/cocoa/window.m Tue Oct 07 15:42:18 2025 +0200 @@ -42,14 +42,14 @@ #include <cx/mempool.h> -static UiObject* create_window(const char *title, BOOL simple, BOOL sidebar) { +static UiObject* create_window(const char *title, BOOL simple, BOOL sidebar, BOOL splitview) { CxMempool *mp = cxMempoolCreateSimple(256); UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject)); obj->ref = 0; obj->ctx = uic_context(obj, mp); - MainWindow *window = [[MainWindow alloc] init:obj withSidebar:sidebar]; + MainWindow *window = [[MainWindow alloc] init:obj withSidebar:sidebar withSplitview:splitview]; [[WindowManager sharedWindowManager] addWindow:window]; window.releasedWhenClosed = false; @@ -64,23 +64,27 @@ } UiObject* ui_window(const char *title, void *window_data) { - UiObject *obj = create_window(title, FALSE, FALSE); + UiObject *obj = create_window(title, FALSE, FALSE, FALSE); obj->window = window_data; return obj; } UiObject* ui_simple_window(const char *title, void *window_data) { - UiObject *obj = create_window(title, TRUE, FALSE); + UiObject *obj = create_window(title, TRUE, FALSE, FALSE); obj->window = window_data; return obj; } UiObject* ui_sidebar_window(const char *title, void *window_data) { - UiObject *obj = create_window(title, FALSE, TRUE); + UiObject *obj = create_window(title, FALSE, TRUE, FALSE); obj->window = window_data; return obj; } +UiObject* ui_splitview_window(const char *title, UiBool sidebar) { + return create_window(title, FALSE, sidebar, TRUE); +} + /* --------------------------------- File Dialogs --------------------------------- */ void ui_openfiledialog(UiObject *obj, unsigned int mode, ui_callback file_selected_callback, void *cbdata) {