sway/include/sway/ipc-json.h
Michael Weiser b6c689c72e Add keyboard shortcuts inhibitor ipc subscription
Add a new type of ipc subscription so clients can be notified of changes
in keyboard shortcuts inhibitors. This allows to react to those events
by e.g. changing container properties (title, ...) to notify the user
about this circumstance (add marker, change color, ...). For this reason
the event includes information about the affected container as well.

Signed-off-by: Michael Weiser <michael.weiser@gmx.de>
2024-02-05 20:35:43 +01:00

27 lines
1 KiB
C

#ifndef _SWAY_IPC_JSON_H
#define _SWAY_IPC_JSON_H
#include <json.h>
#include "sway/output.h"
#include "sway/tree/container.h"
#include "sway/desktop/idle_inhibit_v1.h"
#include "sway/input/input-manager.h"
#include "sway/input/seat.h"
#include "sway/tree/container.h"
json_object *ipc_json_get_version(void);
json_object *ipc_json_get_binding_mode(void);
json_object *ipc_json_describe_disabled_output(struct sway_output *o);
json_object *ipc_json_describe_non_desktop_output(struct sway_output_non_desktop *o);
json_object *ipc_json_describe_node(struct sway_node *node);
json_object *ipc_json_describe_node_recursive(struct sway_node *node);
json_object *ipc_json_describe_input(struct sway_input_device *device);
json_object *ipc_json_describe_seat(struct sway_seat *seat);
json_object *ipc_json_describe_bar_config(struct bar_config *bar);
json_object *ipc_json_describe_idle_inhibitor(
struct sway_idle_inhibitor_v1 *sway_inhibitor);
json_object *ipc_json_describe_keyboard_shortcuts_inhibitor(
struct sway_keyboard_shortcuts_inhibitor *sway_inhibitor);
#endif