diff options
author | Drew DeVault <sir@cmpwn.com> | 2015-08-19 16:15:38 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2015-08-19 16:15:38 -0400 |
commit | 532598947d2e995983017846cff66aea1ab63e95 (patch) | |
tree | 8a77cad250649625eddce7af3da1645100a3a9fa /sway | |
parent | c29214f348cef5951eeece3b60383993eaaca305 (diff) | |
parent | 6cc29ebbf53503a2ea72545fcdd495f5c1a89dfc (diff) |
Merge pull request #90 from taiyu-len/master
floating mode_toggle
Diffstat (limited to 'sway')
-rw-r--r-- | sway/commands.c | 11 | ||||
-rw-r--r-- | sway/handlers.c | 3 |
2 files changed, 14 insertions, 0 deletions
diff --git a/sway/commands.c b/sway/commands.c index aafa51f3..f87ab0e5 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -231,6 +231,17 @@ static bool cmd_floating(struct sway_config *config, int argc, char **argv) { return true; } set_focused_container(view); + } else if (strcasecmp(argv[0], "mode_toggle") == 0) { + if (get_focused_view(active_workspace)->is_floating) { + if (active_workspace->children->length > 0) { + set_focused_container(get_focused_view(active_workspace->children->items[0])); + } + } else { + if (active_workspace->floating->length > 0) { + swayc_t *floating = active_workspace->floating->items[active_workspace->floating->length-1]; + set_focused_container(get_focused_view(floating)); + } + } } return true; diff --git a/sway/handlers.c b/sway/handlers.c index 7b82fd03..75adf7dd 100644 --- a/sway/handlers.c +++ b/sway/handlers.c @@ -316,6 +316,9 @@ static bool handle_key(wlc_handle view, uint32_t time, const struct wlc_modifier } bool cmd_success = false; + sway_log(L_DEBUG, "modifier %x: state %d: key %d, sym: %d", + modifiers->mods, state, key, sym); + if ((modifiers->mods & config->floating_mod) && (dragging || resizing)) { reset_floating(get_focused_view(&root_container)); } |