Add config related code and initial headers

This commit is contained in:
Drew DeVault 2016-12-01 19:38:36 -05:00
parent 5831f7ab68
commit 44cc0ef125
4 changed files with 74 additions and 8 deletions

View file

@ -103,9 +103,6 @@ struct pid_workspace {
time_t *time_added;
};
void pid_workspace_add(struct pid_workspace *pw);
void free_pid_workspace(struct pid_workspace *pw);
struct bar_config {
/**
* One of "dock", "hide", "invisible"
@ -184,6 +181,35 @@ enum edge_border_types {
E_BOTH /**< hide vertical and horizontal edge borders */
};
enum command_context {
CONTEXT_CONFIG = 1,
CONTEXT_BINDING = 2,
CONTEXT_IPC = 4,
CONTEXT_CRITERIA = 8,
CONTEXT_ALL = 0xFFFFFFFF,
};
struct command_policy {
char *command;
enum command_context context;
};
enum secure_feature {
FEATURE_LOCK = 1,
FEATURE_PANEL = 2,
FEATURE_BACKGROUND = 4,
FEATURE_SCREENSHOT = 8,
FEATURE_FULLSCREEN = 16,
FEATURE_KEYBOARD = 32,
FEATURE_MOUSE = 64,
};
struct feature_policy {
char *program;
bool permit;
enum secure_feature features;
};
/**
* The configuration struct. The result of loading a config file.
*/
@ -252,8 +278,15 @@ struct sway_config {
int32_t floating_maximum_height;
int32_t floating_minimum_width;
int32_t floating_minimum_height;
// Security
list_t *command_policies;
list_t *feature_policies;
};
void pid_workspace_add(struct pid_workspace *pw);
void free_pid_workspace(struct pid_workspace *pw);
/**
* Loads the main config from the given path. is_active should be true when
* reloading the config.