aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands
diff options
context:
space:
mode:
Diffstat (limited to 'sway/commands')
-rw-r--r--sway/commands/default_border.c44
-rw-r--r--sway/commands/default_floating_border.c45
-rw-r--r--sway/commands/new_float.c44
-rw-r--r--sway/commands/new_window.c44
4 files changed, 97 insertions, 80 deletions
diff --git a/sway/commands/default_border.c b/sway/commands/default_border.c
new file mode 100644
index 00000000..8fbe8d19
--- /dev/null
+++ b/sway/commands/default_border.c
@@ -0,0 +1,44 @@
1#include <errno.h>
2#include <string.h>
3#include <strings.h>
4#include "sway/commands.h"
5#include "sway/container.h"
6
7struct cmd_results *cmd_default_border(int argc, char **argv) {
8 struct cmd_results *error = NULL;
9 if ((error = checkarg(argc, "default_border", EXPECTED_AT_LEAST, 1))) {
10 return error;
11 }
12
13 if (argc > 2) {
14 return cmd_results_new(CMD_INVALID, "default_border",
15 "Expected 'default_border <normal|none|pixel> [<n>]");
16 }
17
18 enum swayc_border_types border = config->border;
19 int thickness = config->border_thickness;
20
21 if (strcasecmp(argv[0], "none") == 0) {
22 border = B_NONE;
23 } else if (strcasecmp(argv[0], "normal") == 0) {
24 border = B_NORMAL;
25 } else if (strcasecmp(argv[0], "pixel") == 0) {
26 border = B_PIXEL;
27 } else {
28 return cmd_results_new(CMD_INVALID, "default_border",
29 "Expected 'default_border <normal|none|pixel> [<n>]");
30 }
31
32 if (argc == 2 && (border == B_NORMAL || border == B_PIXEL)) {
33 thickness = (int)strtol(argv[1], NULL, 10);
34 if (errno == ERANGE || thickness < 0) {
35 errno = 0;
36 return cmd_results_new(CMD_INVALID, "default_border", "Number is out out of range.");
37 }
38 }
39
40 config->border = border;
41 config->border_thickness = thickness;
42
43 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
44}
diff --git a/sway/commands/default_floating_border.c b/sway/commands/default_floating_border.c
new file mode 100644
index 00000000..fb48c1c0
--- /dev/null
+++ b/sway/commands/default_floating_border.c
@@ -0,0 +1,45 @@
1#include <errno.h>
2#include <string.h>
3#include <strings.h>
4#include "sway/commands.h"
5#include "sway/container.h"
6
7struct cmd_results *cmd_default_floating_border(int argc, char **argv) {
8 struct cmd_results *error = NULL;
9 if ((error = checkarg(argc, "default_floating_border", EXPECTED_AT_LEAST, 1))) {
10 return error;
11 }
12
13 if (argc > 2) {
14 return cmd_results_new(CMD_INVALID, "default_floating_border",
15 "Expected 'default_floating_border <normal|none|pixel> [<n>]");
16 }
17
18 enum swayc_border_types border = config->floating_border;
19 int thickness = config->floating_border_thickness;
20
21 if (strcasecmp(argv[0], "none") == 0) {
22 border = B_NONE;
23 } else if (strcasecmp(argv[0], "normal") == 0) {
24 border = B_NORMAL;
25 } else if (strcasecmp(argv[0], "pixel") == 0) {
26 border = B_PIXEL;
27 } else {
28 return cmd_results_new(CMD_INVALID, "default_floating_border",
29 "Expected 'default_floating_border <normal|none|pixel> [<n>]");
30 }
31
32 if (argc == 2 && (border == B_NORMAL || border == B_PIXEL)) {
33 thickness = (int)strtol(argv[1], NULL, 10);
34 if (errno == ERANGE || thickness < 0) {
35 errno = 0;
36 return cmd_results_new(CMD_INVALID, "default_floating_border",
37 "Number is out out of range.");
38 }
39 }
40
41 config->floating_border = border;
42 config->floating_border_thickness = thickness;
43
44 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
45}
diff --git a/sway/commands/new_float.c b/sway/commands/new_float.c
index 432af436..d0f96093 100644
--- a/sway/commands/new_float.c
+++ b/sway/commands/new_float.c
@@ -1,44 +1,8 @@
1#include <errno.h> 1#include "log.h"
2#include <string.h>
3#include <strings.h>
4#include "sway/commands.h" 2#include "sway/commands.h"
5#include "sway/container.h"
6 3
7struct cmd_results *cmd_new_float(int argc, char **argv) { 4struct cmd_results *cmd_new_float(int argc, char **argv) {
8 struct cmd_results *error = NULL; 5 sway_log(L_INFO, "`new_float` is deprecated and will be removed in the future. "
9 if ((error = checkarg(argc, "new_float", EXPECTED_AT_LEAST, 1))) { 6 "Please use `default_floating_border` instead.");
10 return error; 7 return cmd_default_floating_border(argc, argv);
11 }
12
13 if (argc > 2) {
14 return cmd_results_new(CMD_INVALID, "new_float",
15 "Expected 'new_float <normal|none|pixel> [<n>]");
16 }
17
18 enum swayc_border_types border = config->floating_border;
19 int thickness = config->floating_border_thickness;
20
21 if (strcasecmp(argv[0], "none") == 0) {
22 border = B_NONE;
23 } else if (strcasecmp(argv[0], "normal") == 0) {
24 border = B_NORMAL;
25 } else if (strcasecmp(argv[0], "pixel") == 0) {
26 border = B_PIXEL;
27 } else {
28 return cmd_results_new(CMD_INVALID, "new_float",
29 "Expected 'border <normal|none|pixel>");
30 }
31
32 if (argc == 2 && (border == B_NORMAL || border == B_PIXEL)) {
33 thickness = (int)strtol(argv[1], NULL, 10);
34 if (errno == ERANGE || thickness < 0) {
35 errno = 0;
36 return cmd_results_new(CMD_INVALID, "new_float", "Number is out out of range.");
37 }
38 }
39
40 config->floating_border = border;
41 config->floating_border_thickness = thickness;
42
43 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
44} 8}
diff --git a/sway/commands/new_window.c b/sway/commands/new_window.c
index 722d7d75..574a4527 100644
--- a/sway/commands/new_window.c
+++ b/sway/commands/new_window.c
@@ -1,44 +1,8 @@
1#include <errno.h> 1#include "log.h"
2#include <string.h>
3#include <strings.h>
4#include "sway/commands.h" 2#include "sway/commands.h"
5#include "sway/container.h"
6 3
7struct cmd_results *cmd_new_window(int argc, char **argv) { 4struct cmd_results *cmd_new_window(int argc, char **argv) {
8 struct cmd_results *error = NULL; 5 sway_log(L_INFO, "`new_window` is deprecated and will be removed in the future. "
9 if ((error = checkarg(argc, "new_window", EXPECTED_AT_LEAST, 1))) { 6 "Please use `default_border` instead.");
10 return error; 7 return cmd_default_border(argc, argv);
11 }
12
13 if (argc > 2) {
14 return cmd_results_new(CMD_INVALID, "new_window",
15 "Expected 'new_window <normal|none|pixel> [<n>]");
16 }
17
18 enum swayc_border_types border = config->border;
19 int thickness = config->border_thickness;
20
21 if (strcasecmp(argv[0], "none") == 0) {
22 border = B_NONE;
23 } else if (strcasecmp(argv[0], "normal") == 0) {
24 border = B_NORMAL;
25 } else if (strcasecmp(argv[0], "pixel") == 0) {
26 border = B_PIXEL;
27 } else {
28 return cmd_results_new(CMD_INVALID, "new_window",
29 "Expected 'border <normal|none|pixel>");
30 }
31
32 if (argc == 2 && (border == B_NORMAL || border == B_PIXEL)) {
33 thickness = (int)strtol(argv[1], NULL, 10);
34 if (errno == ERANGE || thickness < 0) {
35 errno = 0;
36 return cmd_results_new(CMD_INVALID, "new_window", "Number is out out of range.");
37 }
38 }
39
40 config->border = border;
41 config->border_thickness = thickness;
42
43 return cmd_results_new(CMD_SUCCESS, NULL, NULL);
44} 8}