--- a/ui/cocoa/toolkit.m Sat Oct 04 14:54:25 2025 +0200 +++ b/ui/cocoa/toolkit.m Sun Oct 19 21:20:08 2025 +0200 @@ -64,7 +64,6 @@ uic_init_global_context(); - uic_docmgr_init(); uic_menu_init(); uic_toolbar_init(); @@ -149,13 +148,22 @@ void ui_show(UiObject *obj) { if(obj->wobj) { - NSWindow *window = (__bridge NSWindow*)obj->wobj; - [window makeKeyAndOrderFront:nil]; + id<UiToplevelObject> window = (__bridge id<UiToplevelObject>)obj->wobj; + + if(![window getIsVisible]) { + obj->ref++; + } + + [window setVisible:YES]; } } void ui_close(UiObject *obj) { - + // TODO: unref, window close, ... + if(obj->wobj) { + id<UiToplevelObject> window = (__bridge id<UiToplevelObject>)obj->wobj; + [window setVisible:NO]; + } } /* ------------------- Job Control / Threadpool functions ------------------- */