aboutsummaryrefslogtreecommitdiffstats
path: root/sway/config.c
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2016-12-02 08:10:03 -0500
committerLibravatar Drew DeVault <sir@cmpwn.com>2016-12-02 08:10:03 -0500
commitf23880b1fdd70a21b04317c18208a1f3ce356839 (patch)
tree51a54d43531ac28ef014193abef8f4ccd7a78332 /sway/config.c
parentEnforce mouse permissions (diff)
downloadsway-f23880b1fdd70a21b04317c18208a1f3ce356839.tar.gz
sway-f23880b1fdd70a21b04317c18208a1f3ce356839.tar.zst
sway-f23880b1fdd70a21b04317c18208a1f3ce356839.zip
Add support for command policies in config file
Diffstat (limited to 'sway/config.c')
-rw-r--r--sway/config.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/sway/config.c b/sway/config.c
index a2f6a728..e55c6dea 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -580,7 +580,13 @@ bool read_config(FILE *file, struct sway_config *config) {
580 free(line); 580 free(line);
581 continue; 581 continue;
582 } 582 }
583 struct cmd_results *res = config_command(line, block); 583 struct cmd_results *res;
584 if (block == CMD_BLOCK_COMMANDS) {
585 // Special case
586 res = config_commands_command(line);
587 } else {
588 res = config_command(line, block);
589 }
584 switch(res->status) { 590 switch(res->status) {
585 case CMD_FAILURE: 591 case CMD_FAILURE:
586 case CMD_INVALID: 592 case CMD_INVALID:
@@ -626,6 +632,14 @@ bool read_config(FILE *file, struct sway_config *config) {
626 } 632 }
627 break; 633 break;
628 634
635 case CMD_BLOCK_COMMANDS:
636 if (block == CMD_BLOCK_END) {
637 block = CMD_BLOCK_COMMANDS;
638 } else {
639 sway_log(L_ERROR, "Invalid block '%s'", line);
640 }
641 break;
642
629 case CMD_BLOCK_END: 643 case CMD_BLOCK_END:
630 switch(block) { 644 switch(block) {
631 case CMD_BLOCK_MODE: 645 case CMD_BLOCK_MODE:
@@ -651,6 +665,11 @@ bool read_config(FILE *file, struct sway_config *config) {
651 block = CMD_BLOCK_BAR; 665 block = CMD_BLOCK_BAR;
652 break; 666 break;
653 667
668 case CMD_BLOCK_COMMANDS:
669 sway_log(L_DEBUG, "End of commands block");
670 block = CMD_BLOCK_END;
671 break;
672
654 case CMD_BLOCK_END: 673 case CMD_BLOCK_END:
655 sway_log(L_ERROR, "Unmatched }"); 674 sway_log(L_ERROR, "Unmatched }");
656 break; 675 break;