aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/sway/commands.h4
-rw-r--r--sway/commands.c2
-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
-rw-r--r--sway/sway.5.txt20
7 files changed, 114 insertions, 89 deletions
diff --git a/include/sway/commands.h b/include/sway/commands.h
index 3ab8d5af..511bee4d 100644
--- a/include/sway/commands.h
+++ b/include/sway/commands.h
@@ -12,7 +12,7 @@ enum cmd_status {
CMD_SUCCESS, /**< The command was successful */
CMD_FAILURE, /**< The command resulted in an error */
CMD_INVALID, /**< Unknown command or parser error */
- CMD_DEFER, /**< Command execution deferred */
+ CMD_DEFER, /**< Command execution deferred */
// Config Blocks
CMD_BLOCK_END,
CMD_BLOCK_MODE,
@@ -102,6 +102,8 @@ sway_cmd cmd_client_placeholder;
sway_cmd cmd_client_background;
sway_cmd cmd_commands;
sway_cmd cmd_debuglog;
+sway_cmd cmd_default_border;
+sway_cmd cmd_default_floating_border;
sway_cmd cmd_exec;
sway_cmd cmd_exec_always;
sway_cmd cmd_exit;
diff --git a/sway/commands.c b/sway/commands.c
index dbb34705..c330ebee 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -165,6 +165,8 @@ static struct cmd_handler handlers[] = {
{ "client.urgent", cmd_client_urgent },
{ "commands", cmd_commands },
{ "debuglog", cmd_debuglog },
+ { "default_border", cmd_default_border },
+ { "default_floating_border", cmd_default_floating_border },
{ "default_orientation", cmd_orientation },
{ "exec", cmd_exec },
{ "exec_always", cmd_exec_always },
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 @@
+#include <errno.h>
+#include <string.h>
+#include <strings.h>
+#include "sway/commands.h"
+#include "sway/container.h"
+
+struct cmd_results *cmd_default_border(int argc, char **argv) {
+ struct cmd_results *error = NULL;
+ if ((error = checkarg(argc, "default_border", EXPECTED_AT_LEAST, 1))) {
+ return error;
+ }
+
+ if (argc > 2) {
+ return cmd_results_new(CMD_INVALID, "default_border",
+ "Expected 'default_border <normal|none|pixel> [<n>]");
+ }
+
+ enum swayc_border_types border = config->border;
+ int thickness = config->border_thickness;
+
+ if (strcasecmp(argv[0], "none") == 0) {
+ border = B_NONE;
+ } else if (strcasecmp(argv[0], "normal") == 0) {
+ border = B_NORMAL;
+ } else if (strcasecmp(argv[0], "pixel") == 0) {
+ border = B_PIXEL;
+ } else {
+ return cmd_results_new(CMD_INVALID, "default_border",
+ "Expected 'default_border <normal|none|pixel> [<n>]");
+ }
+
+ if (argc == 2 && (border == B_NORMAL || border == B_PIXEL)) {
+ thickness = (int)strtol(argv[1], NULL, 10);
+ if (errno == ERANGE || thickness < 0) {
+ errno = 0;
+ return cmd_results_new(CMD_INVALID, "default_border", "Number is out out of range.");
+ }
+ }
+
+ config->border = border;
+ config->border_thickness = thickness;
+
+ return cmd_results_new(CMD_SUCCESS, NULL, NULL);
+}
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 @@
+#include <errno.h>
+#include <string.h>
+#include <strings.h>
+#include "sway/commands.h"
+#include "sway/container.h"
+
+struct cmd_results *cmd_default_floating_border(int argc, char **argv) {
+ struct cmd_results *error = NULL;
+ if ((error = checkarg(argc, "default_floating_border", EXPECTED_AT_LEAST, 1))) {
+ return error;
+ }
+
+ if (argc > 2) {
+ return cmd_results_new(CMD_INVALID, "default_floating_border",
+ "Expected 'default_floating_border <normal|none|pixel> [<n>]");
+ }
+
+ enum swayc_border_types border = config->floating_border;
+ int thickness = config->floating_border_thickness;
+
+ if (strcasecmp(argv[0], "none") == 0) {
+ border = B_NONE;
+ } else if (strcasecmp(argv[0], "normal") == 0) {
+ border = B_NORMAL;
+ } else if (strcasecmp(argv[0], "pixel") == 0) {
+ border = B_PIXEL;
+ } else {
+ return cmd_results_new(CMD_INVALID, "default_floating_border",
+ "Expected 'default_floating_border <normal|none|pixel> [<n>]");
+ }
+
+ if (argc == 2 && (border == B_NORMAL || border == B_PIXEL)) {
+ thickness = (int)strtol(argv[1], NULL, 10);
+ if (errno == ERANGE || thickness < 0) {
+ errno = 0;
+ return cmd_results_new(CMD_INVALID, "default_floating_border",
+ "Number is out out of range.");
+ }
+ }
+
+ config->floating_border = border;
+ config->floating_border_thickness = thickness;
+
+ return cmd_results_new(CMD_SUCCESS, NULL, NULL);
+}
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 @@
-#include <errno.h>
-#include <string.h>
-#include <strings.h>
+#include "log.h"
#include "sway/commands.h"
-#include "sway/container.h"
struct cmd_results *cmd_new_float(int argc, char **argv) {
- struct cmd_results *error = NULL;
- if ((error = checkarg(argc, "new_float", EXPECTED_AT_LEAST, 1))) {
- return error;
- }
-
- if (argc > 2) {
- return cmd_results_new(CMD_INVALID, "new_float",
- "Expected 'new_float <normal|none|pixel> [<n>]");
- }
-
- enum swayc_border_types border = config->floating_border;
- int thickness = config->floating_border_thickness;
-
- if (strcasecmp(argv[0], "none") == 0) {
- border = B_NONE;
- } else if (strcasecmp(argv[0], "normal") == 0) {
- border = B_NORMAL;
- } else if (strcasecmp(argv[0], "pixel") == 0) {
- border = B_PIXEL;
- } else {
- return cmd_results_new(CMD_INVALID, "new_float",
- "Expected 'border <normal|none|pixel>");
- }
-
- if (argc == 2 && (border == B_NORMAL || border == B_PIXEL)) {
- thickness = (int)strtol(argv[1], NULL, 10);
- if (errno == ERANGE || thickness < 0) {
- errno = 0;
- return cmd_results_new(CMD_INVALID, "new_float", "Number is out out of range.");
- }
- }
-
- config->floating_border = border;
- config->floating_border_thickness = thickness;
-
- return cmd_results_new(CMD_SUCCESS, NULL, NULL);
+ sway_log(L_INFO, "`new_float` is deprecated and will be removed in the future. "
+ "Please use `default_floating_border` instead.");
+ return cmd_default_floating_border(argc, argv);
}
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 @@
-#include <errno.h>
-#include <string.h>
-#include <strings.h>
+#include "log.h"
#include "sway/commands.h"
-#include "sway/container.h"
struct cmd_results *cmd_new_window(int argc, char **argv) {
- struct cmd_results *error = NULL;
- if ((error = checkarg(argc, "new_window", EXPECTED_AT_LEAST, 1))) {
- return error;
- }
-
- if (argc > 2) {
- return cmd_results_new(CMD_INVALID, "new_window",
- "Expected 'new_window <normal|none|pixel> [<n>]");
- }
-
- enum swayc_border_types border = config->border;
- int thickness = config->border_thickness;
-
- if (strcasecmp(argv[0], "none") == 0) {
- border = B_NONE;
- } else if (strcasecmp(argv[0], "normal") == 0) {
- border = B_NORMAL;
- } else if (strcasecmp(argv[0], "pixel") == 0) {
- border = B_PIXEL;
- } else {
- return cmd_results_new(CMD_INVALID, "new_window",
- "Expected 'border <normal|none|pixel>");
- }
-
- if (argc == 2 && (border == B_NORMAL || border == B_PIXEL)) {
- thickness = (int)strtol(argv[1], NULL, 10);
- if (errno == ERANGE || thickness < 0) {
- errno = 0;
- return cmd_results_new(CMD_INVALID, "new_window", "Number is out out of range.");
- }
- }
-
- config->border = border;
- config->border_thickness = thickness;
-
- return cmd_results_new(CMD_SUCCESS, NULL, NULL);
+ sway_log(L_INFO, "`new_window` is deprecated and will be removed in the future. "
+ "Please use `default_border` instead.");
+ return cmd_default_border(argc, argv);
}
diff --git a/sway/sway.5.txt b/sway/sway.5.txt
index 9c60af71..5d143d97 100644
--- a/sway/sway.5.txt
+++ b/sway/sway.5.txt
@@ -227,6 +227,18 @@ The default colors are:
Enables, disables or toggles debug logging. The toggle argument cannot be used
in the configuration file.
+**default_border** <normal|none|pixel> [<n>]::
+ Set default border style for new windows. This command was previously called
+ **new_window**. While **new_window** still works, it is considered deprecated
+ and support for it will be removed in the future.
+
+**default_floating_border** <normal|none|pixel> [<n>]::
+ Set default border style for new floating windows. This only applies to
+ windows that are spawned in floating mode, not windows that become floating
+ after the fact. This command was previously called **new_float**. While
+ **new_float** still works, it is considered deprecated and support for it will
+ be removed in the future.
+
**exec** <shell command>::
Executes _shell command_ with sh.
@@ -313,14 +325,6 @@ The default colors are:
When _output_: place mouse at center of newly focused window when changing
output. When _none_: don't move mouse.
-**new_window** <normal|none|pixel> [<n>]::
- Set default border style for new windows.
-
-**new_float** <normal|none|pixel> [<n>]::
- Set default border style for new floating windows. This only applies to
- windows that are spawned in floating mode, not windows that become floating
- after the fact.
-
**output** <name> <resolution|res> <WIDTHxHEIGHT>::
Configures the specified output to use the given resolution.
+