// main.el — Entry point for native-hello. // // Boot sequence: // 1. Initialize the native widget system. // 2. Read the manifest.el app{} block for window config. // 3. Create the window. // 4. Build the widget tree (App.el: app_build). // 5. Show the window. // 6. Start the run loop (never returns). import "App.el" // ── Boot ────────────────────────────────────────────────────────────────────── native_init() // Determine the manifest path relative to where we are invoked. // When running from the example directory: manifest.el is at ./manifest.el. // When invoked from elsewhere: pass EL_MANIFEST env var. let manifest_env: String = env("EL_MANIFEST") let manifest_path: String = if str_len(manifest_env) > 0 { manifest_env } else { "manifest.el" } // Create window from manifest. let win: Int = window_from_manifest(manifest_path) let g_window = win if win < 0 { println("Error: failed to create window. Is EL_TARGET_MACOS defined?") exit_program(1) } // Build the widget tree. app_build(win) // Show the window. window_show(win) // Hand control to AppKit. Never returns. native_run_loop()