diff options
Diffstat (limited to 'sway/commands.c')
-rw-r--r-- | sway/commands.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sway/commands.c b/sway/commands.c index 62852980..d8f61242 100644 --- a/sway/commands.c +++ b/sway/commands.c | |||
@@ -58,6 +58,7 @@ static sway_cmd cmd_exec; | |||
58 | static sway_cmd cmd_exec_always; | 58 | static sway_cmd cmd_exec_always; |
59 | static sway_cmd cmd_exit; | 59 | static sway_cmd cmd_exit; |
60 | static sway_cmd cmd_floating; | 60 | static sway_cmd cmd_floating; |
61 | static sway_cmd cmd_floating_minimum_size; | ||
61 | static sway_cmd cmd_floating_mod; | 62 | static sway_cmd cmd_floating_mod; |
62 | static sway_cmd cmd_floating_scroll; | 63 | static sway_cmd cmd_floating_scroll; |
63 | static sway_cmd cmd_focus; | 64 | static sway_cmd cmd_focus; |
@@ -673,6 +674,40 @@ static struct cmd_results *cmd_floating(int argc, char **argv) { | |||
673 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 674 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); |
674 | } | 675 | } |
675 | 676 | ||
677 | static struct cmd_results *cmd_floating_minimum_size(int argc, char **argv) { | ||
678 | struct cmd_results *error = NULL; | ||
679 | int32_t width; | ||
680 | int32_t height; | ||
681 | char *ptr; | ||
682 | |||
683 | if ((error = checkarg(argc, "floating_minimum_size", EXPECTED_EQUAL_TO, 3))) { | ||
684 | return error; | ||
685 | } | ||
686 | width = strtol(argv[0], &ptr, 10); | ||
687 | height = strtol(argv[2], &ptr, 10); | ||
688 | |||
689 | if (width <= 0) { | ||
690 | sway_log(L_DEBUG, "floating_minimum_size invalid width value: '%s'", argv[0]); | ||
691 | |||
692 | } else { | ||
693 | config->floating_minimum_width = width; | ||
694 | |||
695 | } | ||
696 | |||
697 | if (height <= 0) { | ||
698 | sway_log(L_DEBUG, "floating_minimum_size invalid height value: '%s'", argv[2]); | ||
699 | } | ||
700 | else { | ||
701 | config->floating_minimum_height = height; | ||
702 | |||
703 | } | ||
704 | |||
705 | sway_log(L_DEBUG, "New floating_minimum_size: '%d' x '%d'", config->floating_minimum_width, | ||
706 | config->floating_minimum_height); | ||
707 | |||
708 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | ||
709 | } | ||
710 | |||
676 | static struct cmd_results *cmd_floating_mod(int argc, char **argv) { | 711 | static struct cmd_results *cmd_floating_mod(int argc, char **argv) { |
677 | struct cmd_results *error = NULL; | 712 | struct cmd_results *error = NULL; |
678 | if ((error = checkarg(argc, "floating_modifier", EXPECTED_AT_LEAST, 1))) { | 713 | if ((error = checkarg(argc, "floating_modifier", EXPECTED_AT_LEAST, 1))) { |
@@ -2433,6 +2468,7 @@ static struct cmd_handler handlers[] = { | |||
2433 | { "exec_always", cmd_exec_always }, | 2468 | { "exec_always", cmd_exec_always }, |
2434 | { "exit", cmd_exit }, | 2469 | { "exit", cmd_exit }, |
2435 | { "floating", cmd_floating }, | 2470 | { "floating", cmd_floating }, |
2471 | { "floating_minimum_size", cmd_floating_minimum_size }, | ||
2436 | { "floating_modifier", cmd_floating_mod }, | 2472 | { "floating_modifier", cmd_floating_mod }, |
2437 | { "floating_scroll", cmd_floating_scroll }, | 2473 | { "floating_scroll", cmd_floating_scroll }, |
2438 | { "focus", cmd_focus }, | 2474 | { "focus", cmd_focus }, |