Merge pull request #1108 from zandrmartin/new-command-aliases

deprecate new_window and new_float commands
This commit is contained in:
Drew DeVault 2017-03-13 15:13:07 -04:00 committed by GitHub
commit 39ecc10553
7 changed files with 114 additions and 89 deletions

View file

@ -12,7 +12,7 @@ enum cmd_status {
CMD_SUCCESS, /**< The command was successful */ CMD_SUCCESS, /**< The command was successful */
CMD_FAILURE, /**< The command resulted in an error */ CMD_FAILURE, /**< The command resulted in an error */
CMD_INVALID, /**< Unknown command or parser error */ CMD_INVALID, /**< Unknown command or parser error */
CMD_DEFER, /**< Command execution deferred */ CMD_DEFER, /**< Command execution deferred */
// Config Blocks // Config Blocks
CMD_BLOCK_END, CMD_BLOCK_END,
CMD_BLOCK_MODE, CMD_BLOCK_MODE,
@ -102,6 +102,8 @@ sway_cmd cmd_client_placeholder;
sway_cmd cmd_client_background; sway_cmd cmd_client_background;
sway_cmd cmd_commands; sway_cmd cmd_commands;
sway_cmd cmd_debuglog; sway_cmd cmd_debuglog;
sway_cmd cmd_default_border;
sway_cmd cmd_default_floating_border;
sway_cmd cmd_exec; sway_cmd cmd_exec;
sway_cmd cmd_exec_always; sway_cmd cmd_exec_always;
sway_cmd cmd_exit; sway_cmd cmd_exit;

View file

@ -165,6 +165,8 @@ static struct cmd_handler handlers[] = {
{ "client.urgent", cmd_client_urgent }, { "client.urgent", cmd_client_urgent },
{ "commands", cmd_commands }, { "commands", cmd_commands },
{ "debuglog", cmd_debuglog }, { "debuglog", cmd_debuglog },
{ "default_border", cmd_default_border },
{ "default_floating_border", cmd_default_floating_border },
{ "default_orientation", cmd_orientation }, { "default_orientation", cmd_orientation },
{ "exec", cmd_exec }, { "exec", cmd_exec },
{ "exec_always", cmd_exec_always }, { "exec_always", cmd_exec_always },

View file

@ -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);
}

View file

@ -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);
}

View file

@ -1,44 +1,8 @@
#include <errno.h> #include "log.h"
#include <string.h>
#include <strings.h>
#include "sway/commands.h" #include "sway/commands.h"
#include "sway/container.h"
struct cmd_results *cmd_new_float(int argc, char **argv) { struct cmd_results *cmd_new_float(int argc, char **argv) {
struct cmd_results *error = NULL; sway_log(L_INFO, "`new_float` is deprecated and will be removed in the future. "
if ((error = checkarg(argc, "new_float", EXPECTED_AT_LEAST, 1))) { "Please use `default_floating_border` instead.");
return error; return cmd_default_floating_border(argc, argv);
}
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);
} }

View file

@ -1,44 +1,8 @@
#include <errno.h> #include "log.h"
#include <string.h>
#include <strings.h>
#include "sway/commands.h" #include "sway/commands.h"
#include "sway/container.h"
struct cmd_results *cmd_new_window(int argc, char **argv) { struct cmd_results *cmd_new_window(int argc, char **argv) {
struct cmd_results *error = NULL; sway_log(L_INFO, "`new_window` is deprecated and will be removed in the future. "
if ((error = checkarg(argc, "new_window", EXPECTED_AT_LEAST, 1))) { "Please use `default_border` instead.");
return error; return cmd_default_border(argc, argv);
}
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);
} }

View file

@ -227,6 +227,18 @@ The default colors are:
Enables, disables or toggles debug logging. The toggle argument cannot be used Enables, disables or toggles debug logging. The toggle argument cannot be used
in the configuration file. 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>:: **exec** <shell command>::
Executes _shell command_ with sh. 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 When _output_: place mouse at center of newly focused window when changing
output. When _none_: don't move mouse. 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>:: **output** <name> <resolution|res> <WIDTHxHEIGHT>::
Configures the specified output to use the given resolution. Configures the specified output to use the given resolution.
+ +