mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	Add IPC policy to config
Also reduces enum abuse, cc @minus7
This commit is contained in:
		
							parent
							
								
									0a1b211e09
								
							
						
					
					
						commit
						e9e1a6a409
					
				
					 4 changed files with 8 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -1,6 +1,8 @@
 | 
			
		|||
#ifndef _SWAY_IPC_H
 | 
			
		||||
#define _SWAY_IPC_H
 | 
			
		||||
 | 
			
		||||
#define event_mask(ev) (1 << (ev & 0x7F))
 | 
			
		||||
 | 
			
		||||
enum ipc_command_type {
 | 
			
		||||
	IPC_COMMAND = 0,
 | 
			
		||||
	IPC_GET_WORKSPACES = 1,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -135,7 +135,7 @@ struct bar_config {
 | 
			
		|||
	int height; // -1 not defined
 | 
			
		||||
	int tray_padding;
 | 
			
		||||
	bool workspace_buttons;
 | 
			
		||||
    bool wrap_scroll;
 | 
			
		||||
	bool wrap_scroll;
 | 
			
		||||
	char *separator_symbol;
 | 
			
		||||
	bool strip_workspace_numbers;
 | 
			
		||||
	bool binding_mode_indicator;
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +191,7 @@ enum command_context {
 | 
			
		|||
 | 
			
		||||
struct command_policy {
 | 
			
		||||
	char *command;
 | 
			
		||||
	enum command_context context;
 | 
			
		||||
	uint32_t context;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
enum secure_feature {
 | 
			
		||||
| 
						 | 
				
			
			@ -206,7 +206,7 @@ enum secure_feature {
 | 
			
		|||
 | 
			
		||||
struct feature_policy {
 | 
			
		||||
	char *program;
 | 
			
		||||
	enum secure_feature features;
 | 
			
		||||
	uint32_t features;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
| 
						 | 
				
			
			@ -228,7 +228,7 @@ struct sway_config {
 | 
			
		|||
	uint32_t floating_mod;
 | 
			
		||||
	uint32_t dragging_key;
 | 
			
		||||
	uint32_t resizing_key;
 | 
			
		||||
    	char *floating_scroll_up_cmd;
 | 
			
		||||
	char *floating_scroll_up_cmd;
 | 
			
		||||
	char *floating_scroll_down_cmd;
 | 
			
		||||
	char *floating_scroll_left_cmd;
 | 
			
		||||
	char *floating_scroll_right_cmd;
 | 
			
		||||
| 
						 | 
				
			
			@ -281,6 +281,7 @@ struct sway_config {
 | 
			
		|||
	// Security
 | 
			
		||||
	list_t *command_policies;
 | 
			
		||||
	list_t *feature_policies;
 | 
			
		||||
	uint32_t ipc_policy;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
void pid_workspace_add(struct pid_workspace *pw);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -345,6 +345,7 @@ static void config_defaults(struct sway_config *config) {
 | 
			
		|||
	// Security
 | 
			
		||||
	config->command_policies = create_list();
 | 
			
		||||
	config->feature_policies = create_list();
 | 
			
		||||
	config->ipc_policy = UINT32_MAX;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int compare_modifiers(const void *left, const void *right) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -55,8 +55,6 @@ bool ipc_send_reply(struct ipc_client *client, const char *payload, uint32_t pay
 | 
			
		|||
void ipc_get_workspaces_callback(swayc_t *workspace, void *data);
 | 
			
		||||
void ipc_get_outputs_callback(swayc_t *container, void *data);
 | 
			
		||||
 | 
			
		||||
#define event_mask(ev) (1 << (ev & 0x7F))
 | 
			
		||||
 | 
			
		||||
void ipc_init(void) {
 | 
			
		||||
	ipc_socket = socket(AF_UNIX, SOCK_STREAM | SOCK_NONBLOCK | SOCK_CLOEXEC, 0);
 | 
			
		||||
	if (ipc_socket == -1) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue