aboutsummaryrefslogtreecommitdiff
path: root/rootston
diff options
context:
space:
mode:
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) {