rcxml: allow to disable privileged interfaces

This commit is contained in:
Tobias Bengfort 2026-04-03 20:38:21 +02:00
parent c9b4da2ce2
commit 639fade49a
6 changed files with 121 additions and 0 deletions

View file

@ -76,6 +76,7 @@ struct rcxml {
enum tearing_mode allow_tearing;
bool auto_enable_outputs;
bool reuse_output_mode;
uint32_t allowed_interfaces;
bool xwayland_persistence;
bool primary_selection;
char *prompt_command;
@ -225,4 +226,6 @@ void rcxml_finish(void);
*/
void append_parsed_actions(xmlNode *node, struct wl_list *list);
enum lab_interface parse_privileged_interface(const char *name);
#endif /* LABWC_RCXML_H */

View file

@ -130,4 +130,25 @@ enum cycle_app_id_filter {
CYCLE_APP_ID_CURRENT,
};
enum lab_interface {
LAB_IFACE_INVALID = 0,
LAB_IFACE_NOT_SET = 1,
LAB_IFACE_DRM_LEASE = 1 << 1,
LAB_IFACE_GAMMA = 1 << 2,
LAB_IFACE_OUTPUT = 1 << 3,
LAB_IFACE_OUTPUT_POWER = 1 << 4,
LAB_IFACE_INPUT_METHOD = 1 << 5,
LAB_IFACE_VIRTUAL_POINTER = 1 << 6,
LAB_IFACE_VIRTUAL_KEYBOARD = 1 << 7,
LAB_IFACE_DMABUF = 1 << 8,
LAB_IFACE_SCREENCOPY = 1 << 9,
LAB_IFACE_DATA_CONTROL = 1 << 10,
LAB_IFACE_IDLE_NOTIFIER = 1 << 11,
LAB_IFACE_WORKSPACE = 1 << 12,
LAB_IFACE_TOPLEVEL_MANAGER = 1 << 13,
LAB_IFACE_TOPLEVEL_LIST = 1 << 14,
LAB_IFACE_SESSION_LOCK = 1 << 15,
LAB_IFACE_LAYER_SHELL = 1 << 16,
};
#endif /* LABWC_CONFIG_TYPES_H */