diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-25 19:34:53 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-27 22:51:37 +1000 |
commit | efcfe57b1072283c94a74d074f0e38efc3b57af8 (patch) | |
tree | 2a9008adaa0b60b40cc908ee11773b5e15bbe7a1 /sway/commands/border.c | |
parent | Add CSD to border modes (diff) | |
download | sway-efcfe57b1072283c94a74d074f0e38efc3b57af8.tar.gz sway-efcfe57b1072283c94a74d074f0e38efc3b57af8.tar.zst sway-efcfe57b1072283c94a74d074f0e38efc3b57af8.zip |
Remove CSD from toggle list if client doesn't support it
Diffstat (limited to 'sway/commands/border.c')
-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>' " |