startupnotify.c for the Openbox window manager
Copyright (c) 2006 Mikael Magnusson
- Copyright (c) 2003 Ben Jansens
+ Copyright (c) 2003-2007 Dana Jansens
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
#ifndef USE_LIBSN
-void sn_startup(gboolean reconfig) {}
+void sn_startup(gboolean reconfig) {
+ /* unset this so we don't pass it on unknowingly */
+ if (!reconfig) unsetenv("DESKTOP_STARTUP_ID");
+}
void sn_shutdown(gboolean reconfig) {}
gboolean sn_app_starting() { return FALSE; }
Time sn_app_started(const gchar *id, const gchar *wmclass)
{
if (reconfig) return;
+ /* unset this so we don't pass it on unknowingly */
+ unsetenv("DESKTOP_STARTUP_ID");
+
sn_display = sn_display_new(ob_display, NULL, NULL);
sn_context = sn_monitor_context_new(sn_display, ob_screen,
sn_event_func, NULL, NULL);
have a timeout */
ob_main_loop_timeout_add(ob_main_loop, 30 * G_USEC_PER_SEC,
sn_wait_timeout, seq,
+ g_direct_equal,
(GDestroyNotify)sn_startup_sequence_unref);
change = TRUE;
break;
sn_launcher_context_ref(sn_launcher);
ob_main_loop_timeout_add(ob_main_loop, 30 * G_USEC_PER_SEC,
sn_launch_wait_timeout, sn_launcher,
+ g_direct_equal,
(GDestroyNotify)sn_launcher_context_unref);
setenv("DESKTOP_STARTUP_ID", id, TRUE);