mirror of
https://github.com/swaywm/sway.git
synced 2024-12-30 17:06:40 +01:00
Add * policies and fix bug
This commit is contained in:
parent
1980a08358
commit
eabfb6c559
3 changed files with 11 additions and 1 deletions
|
@ -224,7 +224,12 @@ enum ipc_feature {
|
||||||
IPC_FEATURE_EVENT_MODE = 1024,
|
IPC_FEATURE_EVENT_MODE = 1024,
|
||||||
IPC_FEATURE_EVENT_WINDOW = 2048,
|
IPC_FEATURE_EVENT_WINDOW = 2048,
|
||||||
IPC_FEATURE_EVENT_BINDING = 4096,
|
IPC_FEATURE_EVENT_BINDING = 4096,
|
||||||
IPC_FEATURE_EVENT_INPUT = 8192
|
IPC_FEATURE_EVENT_INPUT = 8192,
|
||||||
|
|
||||||
|
IPC_FEATURE_ALL_COMMANDS = 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128,
|
||||||
|
IPC_FEATURE_ALL_EVENTS = 256 | 512 | 1024 | 2048 | 4096 | 8192,
|
||||||
|
|
||||||
|
IPC_FEATURE_ALL = IPC_FEATURE_ALL_COMMANDS | IPC_FEATURE_ALL_EVENTS,
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ipc_policy {
|
struct ipc_policy {
|
||||||
|
|
|
@ -297,6 +297,7 @@ static struct cmd_handler bar_colors_handlers[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct cmd_handler ipc_handlers[] = {
|
static struct cmd_handler ipc_handlers[] = {
|
||||||
|
{ "*", cmd_ipc_cmd },
|
||||||
{ "bar-config", cmd_ipc_cmd },
|
{ "bar-config", cmd_ipc_cmd },
|
||||||
{ "command", cmd_ipc_cmd },
|
{ "command", cmd_ipc_cmd },
|
||||||
{ "events", cmd_ipc_events },
|
{ "events", cmd_ipc_events },
|
||||||
|
@ -308,6 +309,7 @@ static struct cmd_handler ipc_handlers[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct cmd_handler ipc_event_handlers[] = {
|
static struct cmd_handler ipc_event_handlers[] = {
|
||||||
|
{ "*", cmd_ipc_event_cmd },
|
||||||
{ "binding", cmd_ipc_event_cmd },
|
{ "binding", cmd_ipc_event_cmd },
|
||||||
{ "input", cmd_ipc_event_cmd },
|
{ "input", cmd_ipc_event_cmd },
|
||||||
{ "mode", cmd_ipc_event_cmd },
|
{ "mode", cmd_ipc_event_cmd },
|
||||||
|
|
|
@ -32,6 +32,7 @@ struct cmd_results *cmd_ipc(int argc, char **argv) {
|
||||||
}
|
}
|
||||||
|
|
||||||
current_policy = alloc_ipc_policy(program);
|
current_policy = alloc_ipc_policy(program);
|
||||||
|
list_add(config->ipc_policies, current_policy);
|
||||||
|
|
||||||
return cmd_results_new(CMD_BLOCK_IPC, NULL, NULL);
|
return cmd_results_new(CMD_BLOCK_IPC, NULL, NULL);
|
||||||
}
|
}
|
||||||
|
@ -74,6 +75,7 @@ struct cmd_results *cmd_ipc_cmd(int argc, char **argv) {
|
||||||
char *name;
|
char *name;
|
||||||
enum ipc_feature type;
|
enum ipc_feature type;
|
||||||
} types[] = {
|
} types[] = {
|
||||||
|
{ "*", IPC_FEATURE_ALL_COMMANDS },
|
||||||
{ "command", IPC_FEATURE_COMMAND },
|
{ "command", IPC_FEATURE_COMMAND },
|
||||||
{ "workspaces", IPC_FEATURE_GET_WORKSPACES },
|
{ "workspaces", IPC_FEATURE_GET_WORKSPACES },
|
||||||
{ "outputs", IPC_FEATURE_GET_OUTPUTS },
|
{ "outputs", IPC_FEATURE_GET_OUTPUTS },
|
||||||
|
@ -123,6 +125,7 @@ struct cmd_results *cmd_ipc_event_cmd(int argc, char **argv) {
|
||||||
char *name;
|
char *name;
|
||||||
enum ipc_feature type;
|
enum ipc_feature type;
|
||||||
} types[] = {
|
} types[] = {
|
||||||
|
{ "*", IPC_FEATURE_ALL_EVENTS },
|
||||||
{ "workspace", IPC_FEATURE_EVENT_WORKSPACE },
|
{ "workspace", IPC_FEATURE_EVENT_WORKSPACE },
|
||||||
{ "output", IPC_FEATURE_EVENT_OUTPUT },
|
{ "output", IPC_FEATURE_EVENT_OUTPUT },
|
||||||
{ "mode", IPC_FEATURE_EVENT_MODE },
|
{ "mode", IPC_FEATURE_EVENT_MODE },
|
||||||
|
|
Loading…
Reference in a new issue