i3
startup.h
Go to the documentation of this file.
1/*
2 * vim:ts=4:sw=4:expandtab
3 *
4 * i3 - an improved tiling window manager
5 * © 2009 Michael Stapelberg and contributors (see also: LICENSE)
6 *
7 * startup.c: Startup notification code. Ensures a startup notification context
8 * is setup when launching applications. We store the current
9 * workspace to open windows in that startup notification context on
10 * the appropriate workspace.
11 *
12 */
13#pragma once
14
15#include <config.h>
16
17#define SN_API_NOT_YET_FROZEN 1
18#include <libsn/sn-monitor.h>
19
33void start_application(const char *command, bool no_startup_id);
34
41void startup_sequence_delete(struct Startup_Sequence *sequence);
42
47void startup_monitor_event(SnMonitorEvent *event, void *userdata);
48
53void startup_sequence_rename_workspace(const char *old_name, const char *new_name);
54
60 xcb_get_property_reply_t *startup_id_reply, bool ignore_mapped_leader);
61
71char *startup_workspace_for_window(i3Window *cwindow, xcb_get_property_reply_t *startup_id_reply);
72
void startup_sequence_delete_by_window(i3Window *win)
Deletes the startup sequence for a window if it exists.
Definition startup.c:372
char * startup_workspace_for_window(i3Window *cwindow, xcb_get_property_reply_t *startup_id_reply)
Checks if the given window belongs to a startup notification by checking if the _NET_STARTUP_ID prope...
Definition startup.c:351
void start_application(const char *command, bool no_startup_id)
Starts the given application by passing it through a shell.
Definition startup.c:134
void startup_sequence_delete(struct Startup_Sequence *sequence)
Deletes a startup sequence, ignoring whether its timeout has elapsed.
Definition startup.c:106
struct Startup_Sequence * startup_sequence_get(i3Window *cwindow, xcb_get_property_reply_t *startup_id_reply, bool ignore_mapped_leader)
Gets the stored startup sequence for the _NET_STARTUP_ID of a given window.
Definition startup.c:277
void startup_sequence_rename_workspace(const char *old_name, const char *new_name)
Renames workspaces that are mentioned in the startup sequences.
Definition startup.c:260
void startup_monitor_event(SnMonitorEvent *event, void *userdata)
Called by libstartup-notification when something happens.
Definition startup.c:212
Stores internal information about a startup sequence, like the workspace it was initiated on.
Definition data.h:257
A 'Window' is a type which contains an xcb_window_t and all the related information (hints like _NET_...
Definition data.h:424