aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/focus.c2
-rw-r--r--sway/handlers.c11
-rw-r--r--sway/workspace.c1
3 files changed, 11 insertions, 3 deletions
diff --git a/sway/focus.c b/sway/focus.c
index 7023d37d..f76b2d9a 100644
--- a/sway/focus.c
+++ b/sway/focus.c
@@ -20,6 +20,8 @@ static void update_focus(swayc_t *c) {
// Case where output changes
case C_OUTPUT:
wlc_output_focus(c->handle);
+ //Set new workspace to the outputs focused workspace
+ active_workspace = c->focused;
break;
// Case where workspace changes
diff --git a/sway/handlers.c b/sway/handlers.c
index 344edd07..24189003 100644
--- a/sway/handlers.c
+++ b/sway/handlers.c
@@ -179,8 +179,14 @@ static bool handle_view_created(wlc_handle handle) {
if (!focused || focused->type == C_OUTPUT) {
focused = get_focused_container(&root_container);
}
- sway_log(L_DEBUG, "creating view %ld with type %x, state %x, with parent %ld",
- handle, wlc_view_get_type(handle), wlc_view_get_state(handle), parent);
+ sway_log(L_DEBUG, "handle:%ld type:%x state:%x parent:%ld "
+ "mask:%d (x:%d y:%d w:%d h:%d) title:%s "
+ "class:%s appid:%s",
+ handle, wlc_view_get_type(handle), wlc_view_get_state(handle), parent,
+ wlc_view_get_mask(handle), wlc_view_get_geometry(handle)->origin.x,
+ wlc_view_get_geometry(handle)->origin.y,wlc_view_get_geometry(handle)->size.w,
+ wlc_view_get_geometry(handle)->size.h, wlc_view_get_title(handle),
+ wlc_view_get_class(handle), wlc_view_get_app_id(handle));
// TODO properly figure out how each window should be handled.
switch (wlc_view_get_type(handle)) {
@@ -319,6 +325,7 @@ static bool handle_key(wlc_handle view, uint32_t time, const struct wlc_modifier
sway_log(L_DEBUG, "modifier %x: state %d: key %d, sym: %d",
modifiers->mods, state, key, sym);
+ //Revert floating container back to original position on keypress
if (state == WLC_KEY_STATE_PRESSED && (dragging || resizing)) {
reset_floating(get_focused_view(&root_container));
}
diff --git a/sway/workspace.c b/sway/workspace.c
index a690e3ae..ec60c8e0 100644
--- a/sway/workspace.c
+++ b/sway/workspace.c
@@ -183,7 +183,6 @@ void workspace_switch(swayc_t *workspace) {
return;
}
sway_log(L_DEBUG, "Switching to workspace %p:%s", workspace, workspace->name);
- active_workspace = workspace;
set_focused_container(get_focused_view(workspace));
arrange_windows(workspace, -1, -1);
}