aboutsummaryrefslogtreecommitdiff
path: root/sway/commands
diff options
context:
space:
mode:
authorIan Fan <ianfan0@gmail.com>2019-01-22 11:07:32 +0000
committerIan Fan <ianfan0@gmail.com>2019-01-22 11:47:48 +0000
commit34dea3d9d26a4e50c435a0fc51933fea956743cd (patch)
treed94059d2246a5d8ea9405a44952c8088dbd924d7 /sway/commands
parent42f8a038c9740bb39690446865406c551c755d96 (diff)
commands: allow tiled containers to be stickied
This also stops stickied containers from losing its sticky status when it is tiled, allowing it to be immediately stickied when floated again.
Diffstat (limited to 'sway/commands')
-rw-r--r--sway/commands/floating.c2
-rw-r--r--sway/commands/sticky.c7
2 files changed, 2 insertions, 7 deletions
diff --git a/sway/commands/floating.c b/sway/commands/floating.c
index 57bf0017..52e4ed08 100644
--- a/sway/commands/floating.c
+++ b/sway/commands/floating.c
@@ -45,7 +45,7 @@ struct cmd_results *cmd_floating(int argc, char **argv) {
"Cannot set floating status on a hidden scratchpad container");
}
- bool wants_floating =
+ bool wants_floating =
parse_boolean(argv[0], container_is_floating(container));
container_set_floating(container, wants_floating);
diff --git a/sway/commands/sticky.c b/sway/commands/sticky.c
index 15b726cc..e79af8af 100644
--- a/sway/commands/sticky.c
+++ b/sway/commands/sticky.c
@@ -22,14 +22,9 @@ struct cmd_results *cmd_sticky(int argc, char **argv) {
return cmd_results_new(CMD_FAILURE, "No current container");
};
- if (!container_is_floating(container)) {
- return cmd_results_new(CMD_FAILURE,
- "Can't set sticky on a tiled container");
- }
-
container->is_sticky = parse_boolean(argv[0], container->is_sticky);
- if (container->is_sticky &&
+ if (container->is_sticky && container_is_floating_or_child(container) &&
(!container->scratchpad || container->workspace)) {
// move container to active workspace
struct sway_workspace *active_workspace =