commit efcfe57b1072283c94a74d074f0e38efc3b57af8
parent 7b138e5ef0f679c9bb0078019d7c9c63fef36273
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date: Tue, 25 Sep 2018 19:34:53 +1000
Remove CSD from toggle list if client doesn't support it
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/sway/commands/border.c b/sway/commands/border.c
@@ -38,9 +38,14 @@ struct cmd_results *cmd_border(int argc, char **argv) {
} else if (strcmp(argv[0], "pixel") == 0) {
set_border(view, B_PIXEL);
} else if (strcmp(argv[0], "csd") == 0) {
+ if (!view->xdg_decoration) {
+ return cmd_results_new(CMD_INVALID, "border",
+ "This window doesn't support client side decorations");
+ }
set_border(view, B_CSD);
} else if (strcmp(argv[0], "toggle") == 0) {
- set_border(view, (view->border + 1) % 4);
+ int num_available = view->xdg_decoration ? 4 : 3;
+ set_border(view, (view->border + 1) % num_available);
} else {
return cmd_results_new(CMD_INVALID, "border",
"Expected 'border <none|normal|pixel|toggle>' "