aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common/log.c10
-rw-r--r--include/log.h1
-rw-r--r--sway/commands.c4
-rw-r--r--sway/container.c4
-rw-r--r--sway/debug_log.c4
-rw-r--r--sway/handlers.c13
-rw-r--r--swaylock/main.c1
7 files changed, 23 insertions, 14 deletions
diff --git a/common/log.c b/common/log.c
index ef791bec..56c3834a 100644
--- a/common/log.c
+++ b/common/log.c
@@ -12,9 +12,9 @@
#include <string.h>
#include <stringop.h>
-int colored = 1;
-log_importance_t loglevel_default = L_ERROR;
-log_importance_t v = L_SILENT;
+static int colored = 1;
+static log_importance_t loglevel_default = L_ERROR;
+static log_importance_t v = L_SILENT;
static const char *verbosity_colors[] = {
[L_SILENT] = "",
@@ -38,6 +38,10 @@ void set_log_level(log_importance_t verbosity) {
v = verbosity;
}
+log_importance_t get_log_level(void) {
+ return v;
+}
+
void reset_log_level(void) {
v = loglevel_default;
}
diff --git a/include/log.h b/include/log.h
index efacf90f..ca8c1fe3 100644
--- a/include/log.h
+++ b/include/log.h
@@ -11,6 +11,7 @@ typedef enum {
void init_log(log_importance_t verbosity);
void set_log_level(log_importance_t verbosity);
+log_importance_t get_log_level(void);
void reset_log_level(void);
// returns whether debug logging is on after switching.
bool toggle_debug_logging(void);
diff --git a/sway/commands.c b/sway/commands.c
index 4009997b..55f46f79 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -251,7 +251,7 @@ static struct cmd_results *cmd_bindsym(int argc, char **argv) {
} else {
free_sway_binding(binding);
return cmd_results_new(CMD_FAILURE, "bindsym",
- "Invalid bindsym command"
+ "Invalid bindsym command "
"(expected more than 2 arguments, got %d)", argc);
}
}
@@ -317,7 +317,7 @@ static struct cmd_results *cmd_bindcode(int argc, char **argv) {
} else {
free_sway_binding(binding);
return cmd_results_new(CMD_FAILURE, "bindcode",
- "Invalid bindcode command"
+ "Invalid bindcode command "
"(expected more than 2 arguments, got %d)", argc);
}
}
diff --git a/sway/container.c b/sway/container.c
index 15975064..21538ab4 100644
--- a/sway/container.c
+++ b/sway/container.c
@@ -853,12 +853,12 @@ swayc_t *swayc_tabbed_stacked_parent(swayc_t *view) {
if (!ASSERT_NONNULL(view)) {
return NULL;
}
- do {
+ while (view->type != C_WORKSPACE && view->parent) {
view = view->parent;
if (view->layout == L_TABBED || view->layout == L_STACKED) {
parent = view;
}
- } while (view && view->type != C_WORKSPACE);
+ }
return parent;
}
diff --git a/sway/debug_log.c b/sway/debug_log.c
index f804a541..7c988464 100644
--- a/sway/debug_log.c
+++ b/sway/debug_log.c
@@ -12,8 +12,6 @@
#include <stringop.h>
#include "workspace.h"
-extern log_importance_t v;
-
/* XXX:DEBUG:XXX */
static void container_log(const swayc_t *c, int depth) {
fprintf(stderr, "focus:%c",
@@ -49,7 +47,7 @@ static void container_log(const swayc_t *c, int depth) {
fprintf(stderr, "name:%.16s\n", c->name);
}
void layout_log(const swayc_t *c, int depth) {
- if (L_DEBUG > v) return;
+ if (L_DEBUG > get_log_level()) return;
int i, d;
int e = c->children ? c->children->length : 0;
container_log(c, depth);
diff --git a/sway/handlers.c b/sway/handlers.c
index b38f05a6..53dbeb87 100644
--- a/sway/handlers.c
+++ b/sway/handlers.c
@@ -198,11 +198,12 @@ static bool handle_view_created(wlc_handle handle) {
if (pid) {
// using newview as a temp storage location here,
// rather than adding yet another workspace var
- if ((newview = workspace_for_pid(pid))) {
+ newview = workspace_for_pid(pid);
+ if (newview && newview != current_ws) {
focused = newview;
- newview = NULL;
return_to_workspace = true;
}
+ newview = NULL;
}
}
@@ -234,8 +235,12 @@ static bool handle_view_created(wlc_handle handle) {
switch (wlc_view_get_type(handle)) {
// regular view created regularly
case 0:
- newview = new_view(focused, handle);
- wlc_view_set_state(handle, WLC_BIT_MAXIMIZED, true);
+ if (parent) {
+ newview = new_floating_view(handle);
+ } else {
+ newview = new_view(focused, handle);
+ wlc_view_set_state(handle, WLC_BIT_MAXIMIZED, true);
+ }
break;
// Dmenu keeps viewfocus, but others with this flag don't, for now simulate
diff --git a/swaylock/main.c b/swaylock/main.c
index b5ce63ef..a0a2f1cb 100644
--- a/swaylock/main.c
+++ b/swaylock/main.c
@@ -11,6 +11,7 @@
#include <getopt.h>
#include <signal.h>
#include <stdbool.h>
+#include <unistd.h>
#include "client/window.h"
#include "client/registry.h"