summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2016-06-11 15:02:26 -0400
committerLibravatar GitHub <noreply@github.com>2016-06-11 15:02:26 -0400
commit6388e1e288009fc12af3fe418a6faf8cfe9926f7 (patch)
treed1b4fb33848d09c71602005c57919a903ce3d72d /include
parentMany improvements to man pages (diff)
parentcleanup + add timeouts for pid_workspace list (diff)
downloadsway-6388e1e288009fc12af3fe418a6faf8cfe9926f7.tar.gz
sway-6388e1e288009fc12af3fe418a6faf8cfe9926f7.tar.zst
sway-6388e1e288009fc12af3fe418a6faf8cfe9926f7.zip
Merge pull request #701 from zandrmartin/assign-command
messy start of a fix for #462
Diffstat (limited to 'include')
-rw-r--r--include/config.h13
-rw-r--r--include/util.h8
-rw-r--r--include/workspace.h2
3 files changed, 23 insertions, 0 deletions
diff --git a/include/config.h b/include/config.h
index d591daf2..bf278ddb 100644
--- a/include/config.h
+++ b/include/config.h
@@ -1,11 +1,14 @@
1#ifndef _SWAY_CONFIG_H 1#ifndef _SWAY_CONFIG_H
2#define _SWAY_CONFIG_H 2#define _SWAY_CONFIG_H
3 3
4#define PID_WORKSPACE_TIMEOUT 60
5
4#include <libinput.h> 6#include <libinput.h>
5#include <stdint.h> 7#include <stdint.h>
6#include <wlc/geometry.h> 8#include <wlc/geometry.h>
7#include <wlc/wlc.h> 9#include <wlc/wlc.h>
8#include <xkbcommon/xkbcommon.h> 10#include <xkbcommon/xkbcommon.h>
11#include <time.h>
9#include "wayland-desktop-shell-server-protocol.h" 12#include "wayland-desktop-shell-server-protocol.h"
10#include "list.h" 13#include "list.h"
11#include "layout.h" 14#include "layout.h"
@@ -92,6 +95,15 @@ struct workspace_output {
92 char *workspace; 95 char *workspace;
93}; 96};
94 97
98struct pid_workspace {
99 pid_t *pid;
100 char *workspace;
101 time_t *time_added;
102};
103
104void pid_workspace_add(struct pid_workspace *pw);
105void free_pid_workspace(struct pid_workspace *pw);
106
95struct bar_config { 107struct bar_config {
96 /** 108 /**
97 * One of "dock", "hide", "invisible" 109 * One of "dock", "hide", "invisible"
@@ -175,6 +187,7 @@ struct sway_config {
175 list_t *bars; 187 list_t *bars;
176 list_t *cmd_queue; 188 list_t *cmd_queue;
177 list_t *workspace_outputs; 189 list_t *workspace_outputs;
190 list_t *pid_workspaces;
178 list_t *output_configs; 191 list_t *output_configs;
179 list_t *input_configs; 192 list_t *input_configs;
180 list_t *criteria; 193 list_t *criteria;
diff --git a/include/util.h b/include/util.h
index dc47e343..6f21bff0 100644
--- a/include/util.h
+++ b/include/util.h
@@ -2,6 +2,7 @@
2#define _SWAY_UTIL_H 2#define _SWAY_UTIL_H
3 3
4#include <stdint.h> 4#include <stdint.h>
5#include <unistd.h>
5#include <wlc/wlc.h> 6#include <wlc/wlc.h>
6#include <xkbcommon/xkbcommon.h> 7#include <xkbcommon/xkbcommon.h>
7 8
@@ -36,4 +37,11 @@ const char *get_modifier_name_by_mask(uint32_t modifier);
36 */ 37 */
37int get_modifier_names(const char **names, uint32_t modifier_masks); 38int get_modifier_names(const char **names, uint32_t modifier_masks);
38 39
40/**
41 * Get the pid of a parent process given the pid of a child process.
42 *
43 * Returns the parent pid or NULL if the parent pid cannot be determined.
44 */
45pid_t get_parent_pid(pid_t pid);
46
39#endif 47#endif
diff --git a/include/workspace.h b/include/workspace.h
index 6911e3d4..c268fafa 100644
--- a/include/workspace.h
+++ b/include/workspace.h
@@ -2,6 +2,7 @@
2#define _SWAY_WORKSPACE_H 2#define _SWAY_WORKSPACE_H
3 3
4#include <wlc/wlc.h> 4#include <wlc/wlc.h>
5#include <unistd.h>
5#include "list.h" 6#include "list.h"
6#include "layout.h" 7#include "layout.h"
7 8
@@ -16,5 +17,6 @@ swayc_t *workspace_output_next();
16swayc_t *workspace_next(); 17swayc_t *workspace_next();
17swayc_t *workspace_output_prev(); 18swayc_t *workspace_output_prev();
18swayc_t *workspace_prev(); 19swayc_t *workspace_prev();
20swayc_t *workspace_for_pid(pid_t pid);
19 21
20#endif 22#endif