static void startup_notification_complete(void) { Display *xdisplay; xdisplay = GDK_DISPLAY(); sn_display = sn_display_new(xdisplay, sn_error_trap_push, sn_error_trap_pop); sn_context = sn_launchee_context_new_from_environment(sn_display, DefaultScreen(xdisplay)); if (sn_context != NULL) { sn_launchee_context_complete(sn_context); sn_launchee_context_unref(sn_context); sn_display_unref(sn_display); } }
// Indicate that launchee has completed startup void startup_completed(void) { SnLauncheeContext* launchee; Display* xdisplay; SnDisplay* display; // Open display xdisplay = XOpenDisplay(NULL); if (xdisplay != NULL) { // Create startup notification context display = sn_display_new(xdisplay, NULL, NULL); launchee = sn_launchee_context_new_from_environment(display, DefaultScreen(xdisplay)); // Indicate startup has completed and free resources if (launchee) { sn_launchee_context_complete(launchee); sn_launchee_context_unref(launchee); } sn_display_unref(display); XCloseDisplay(xdisplay); } }