]> git.sur5r.net Git - i3/i3/blobdiff - include/startup.h
Merge branch 'next'
[i3/i3] / include / startup.h
index 555a11914a054603343311aa0352edb0e04f8249..e39fe63b08f751dcd86d1cc26bf8c678bd486cff 100644 (file)
@@ -2,14 +2,16 @@
  * vim:ts=4:sw=4:expandtab
  *
  * i3 - an improved dynamic tiling window manager
+ * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE)
  *
- * © 2009-2011 Michael Stapelberg and contributors
- *
- * See file LICENSE for license information.
+ * startup.c: Startup notification code. Ensures a startup notification context
+ *            is setup when launching applications. We store the current
+ *            workspace to open windows in that startup notification context on
+ *            the appropriate workspace.
  *
  */
-#ifndef _STARTUP_H
-#define _STARTUP_H
+#ifndef I3_STARTUP_H
+#define I3_STARTUP_H
 
 #define SN_API_NOT_YET_FROZEN 1
 #include <libsn/sn-monitor.h>
  * The shell is determined by looking for the SHELL environment variable. If
  * it does not exist, /bin/sh is used.
  *
+ * The no_startup_id flag determines whether a startup notification context
+ * (and ID) should be created, which is the default and encouraged behavior.
+ *
+ */
+void start_application(const char *command, bool no_startup_id);
+
+/**
+ * Deletes a startup sequence, ignoring whether its timeout has elapsed.
+ * Useful when e.g. a window is moved between workspaces and its children
+ * shouldn't spawn on the original workspace.
+ *
  */
-void start_application(const char *command);
+void startup_sequence_delete(struct Startup_Sequence *sequence);
 
 /**
  * Called by libstartup-notification when something happens
@@ -32,6 +45,13 @@ void start_application(const char *command);
  */
 void startup_monitor_event(SnMonitorEvent *event, void *userdata);
 
+/**
+ * Gets the stored startup sequence for the _NET_STARTUP_ID of a given window.
+ *
+ */
+struct Startup_Sequence *startup_sequence_get(i3Window *cwindow,
+    xcb_get_property_reply_t *startup_id_reply, bool ignore_mapped_leader);
+
 /**
  * Checks if the given window belongs to a startup notification by checking if
  * the _NET_STARTUP_ID property is set on the window (or on its leader, if it’s