diff options
-rw-r--r-- | sway/commands/border.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sway/commands/border.c b/sway/commands/border.c index 673fea08..5e101564 100644 --- a/sway/commands/border.c +++ b/sway/commands/border.c | |||
@@ -38,9 +38,14 @@ struct cmd_results *cmd_border(int argc, char **argv) { | |||
38 | } else if (strcmp(argv[0], "pixel") == 0) { | 38 | } else if (strcmp(argv[0], "pixel") == 0) { |
39 | set_border(view, B_PIXEL); | 39 | set_border(view, B_PIXEL); |
40 | } else if (strcmp(argv[0], "csd") == 0) { | 40 | } else if (strcmp(argv[0], "csd") == 0) { |
41 | if (!view->xdg_decoration) { | ||
42 | return cmd_results_new(CMD_INVALID, "border", | ||
43 | "This window doesn't support client side decorations"); | ||
44 | } | ||
41 | set_border(view, B_CSD); | 45 | set_border(view, B_CSD); |
42 | } else if (strcmp(argv[0], "toggle") == 0) { | 46 | } else if (strcmp(argv[0], "toggle") == 0) { |
43 | set_border(view, (view->border + 1) % 4); | 47 | int num_available = view->xdg_decoration ? 4 : 3; |
48 | set_border(view, (view->border + 1) % num_available); | ||
44 | } else { | 49 | } else { |
45 | return cmd_results_new(CMD_INVALID, "border", | 50 | return cmd_results_new(CMD_INVALID, "border", |
46 | "Expected 'border <none|normal|pixel|toggle>' " | 51 | "Expected 'border <none|normal|pixel|toggle>' " |