aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
Diffstat (limited to 'sway')
-rw-r--r--sway/commands/bar.c4
-rw-r--r--sway/commands/move.c1
-rw-r--r--sway/commands/scratchpad.c4
-rw-r--r--sway/tree/root.c7
4 files changed, 7 insertions, 9 deletions
diff --git a/sway/commands/bar.c b/sway/commands/bar.c
index e9360603..82441f9e 100644
--- a/sway/commands/bar.c
+++ b/sway/commands/bar.c
@@ -1,10 +1,10 @@
#define _POSIX_C_SOURCE 200809
+#include <stdio.h>
#include <string.h>
#include <strings.h>
#include "sway/commands.h"
#include "sway/config.h"
#include "log.h"
-#include "util.h"
// Must be in alphabetical order for bsearch
static struct cmd_handler bar_handlers[] = {
@@ -89,7 +89,7 @@ struct cmd_results *cmd_bar(int argc, char **argv) {
}
// set bar id
- const int len = 5 + numlen(config->bars->length - 1); // "bar-"+i+\0
+ const int len = snprintf(NULL, 0, "bar-%d", config->bars->length - 1) + 1;
bar->id = malloc(len * sizeof(char));
if (bar->id) {
snprintf(bar->id, len, "bar-%d", config->bars->length - 1);
diff --git a/sway/commands/move.c b/sway/commands/move.c
index b22bb056..acb5f44f 100644
--- a/sway/commands/move.c
+++ b/sway/commands/move.c
@@ -515,6 +515,7 @@ static struct cmd_results *cmd_move_container(int argc, char **argv) {
// move container
if (container->scratchpad) {
root_scratchpad_remove_container(container);
+ root_scratchpad_show(container);
}
switch (destination->type) {
case N_WORKSPACE:
diff --git a/sway/commands/scratchpad.c b/sway/commands/scratchpad.c
index 805dbc0b..714efa2b 100644
--- a/sway/commands/scratchpad.c
+++ b/sway/commands/scratchpad.c
@@ -3,6 +3,7 @@
#include "sway/config.h"
#include "sway/input/input-manager.h"
#include "sway/input/seat.h"
+#include "sway/ipc-server.h"
#include "sway/tree/container.h"
#include "sway/tree/root.h"
#include "sway/tree/workspace.h"
@@ -51,6 +52,7 @@ static void scratchpad_toggle_auto(void) {
"Moving a visible scratchpad window (%s) to this workspace",
con->title);
root_scratchpad_show(con);
+ ipc_event_window(con, "move");
return;
}
}
@@ -62,6 +64,7 @@ static void scratchpad_toggle_auto(void) {
struct sway_container *con = root->scratchpad->items[0];
sway_log(SWAY_DEBUG, "Showing %s from list", con->title);
root_scratchpad_show(con);
+ ipc_event_window(con, "move");
}
static void scratchpad_toggle_container(struct sway_container *con) {
@@ -76,6 +79,7 @@ static void scratchpad_toggle_container(struct sway_container *con) {
}
root_scratchpad_show(con);
+ ipc_event_window(con, "move");
}
struct cmd_results *cmd_scratchpad(int argc, char **argv) {
diff --git a/sway/tree/root.c b/sway/tree/root.c
index ec6bccf6..c4d1145d 100644
--- a/sway/tree/root.c
+++ b/sway/tree/root.c
@@ -85,9 +85,6 @@ void root_scratchpad_remove_container(struct sway_container *con) {
if (!sway_assert(con->scratchpad, "Container is not in scratchpad")) {
return;
}
- if (!con->workspace) {
- root_scratchpad_show(con);
- }
con->scratchpad = false;
int index = list_find(root->scratchpad, con);
if (index != -1) {
@@ -133,10 +130,6 @@ void root_scratchpad_show(struct sway_container *con) {
arrange_workspace(new_ws);
seat_set_focus(seat, seat_get_focus_inactive(seat, &con->node));
-
- if (new_ws != old_ws) {
- ipc_event_window(con, "move");
- }
}
void root_scratchpad_hide(struct sway_container *con) {