aboutsummaryrefslogtreecommitdiff
path: root/rootston
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-10-27 13:33:38 -0400
committerGitHub <noreply@github.com>2017-10-27 13:33:38 -0400
commit0572abbb252edfc27232c08893b7440561ca171d (patch)
tree03b3181facac74dd0327bb6b14577404e69cb5a9 /rootston
parent4bee96bd301015dd6ceb2087ec07a1cb77c1e5d7 (diff)
parent315c01ba0fc8567ca0320be2d3f28b26faebe607 (diff)
Merge pull request #345 from emersion/remove-last-active-view
Remove input.last_active_view
Diffstat (limited to 'rootston')
-rw-r--r--rootston/cursor.c1
-rw-r--r--rootston/desktop.c3
-rw-r--r--rootston/keyboard.c6
3 files changed, 4 insertions, 6 deletions
diff --git a/rootston/cursor.c b/rootston/cursor.c
index 7d2548eb..bac8b6e7 100644
--- a/rootston/cursor.c
+++ b/rootston/cursor.c
@@ -172,7 +172,6 @@ void set_view_focus(struct roots_input *input, struct roots_desktop *desktop,
if (!view) {
return;
}
- input->last_active_view = view;
size_t index = 0;
for (size_t i = 0; i < desktop->views->length; ++i) {
diff --git a/rootston/desktop.c b/rootston/desktop.c
index df92f0ba..a1d8a632 100644
--- a/rootston/desktop.c
+++ b/rootston/desktop.c
@@ -24,9 +24,6 @@ void view_destroy(struct roots_view *view) {
input->active_view = NULL;
input->mode = ROOTS_CURSOR_PASSTHROUGH;
}
- if (input->last_active_view == view) {
- input->last_active_view = NULL;
- }
for (size_t i = 0; i < desktop->views->length; ++i) {
struct roots_view *_view = desktop->views->items[i];
diff --git a/rootston/keyboard.c b/rootston/keyboard.c
index 142e9c71..c91c326b 100644
--- a/rootston/keyboard.c
+++ b/rootston/keyboard.c
@@ -29,8 +29,10 @@ static void keyboard_binding_execute(struct roots_keyboard *keyboard,
if (strcmp(command, "exit") == 0) {
wl_display_terminate(server->wl_display);
} else if (strcmp(command, "close") == 0) {
- if (keyboard->input->last_active_view != NULL) {
- view_close(keyboard->input->last_active_view);
+ if (server->desktop->views->length > 0) {
+ struct roots_view *view =
+ server->desktop->views->items[server->desktop->views->length-1];
+ view_close(view);
}
} else if (strcmp(command, "next_window") == 0) {
if (server->desktop->views->length > 0) {