commit 034410819d4c8ea28105c5a5eef0563635a36a9d
parent cbbeeb2cc3037d7538c7124e6ac0fe9e239731bb
Author: Zandr Martin <zandrmartin@gmail.com>
Date: Sat, 2 Jul 2016 08:14:40 -0500
Merge remote-tracking branch 'upstream/master' into set-size-command
Diffstat:
7 files changed, 23 insertions(+), 14 deletions(-)
diff --git 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -11,6 +11,7 @@
#include <getopt.h>
#include <signal.h>
#include <stdbool.h>
+#include <unistd.h>
#include "client/window.h"
#include "client/registry.h"