chore: add alt-tab navigation with update_mru flag and MRU-based taskbar rendering

This commit is contained in:
2026-01-16 17:24:59 +00:00
parent a6eeeb978e
commit c32bda853c
28 changed files with 144 additions and 41 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ void client_unmanage(Client *client);
Client *client_find_by_window(Window window);
Client *client_find_by_frame(Window frame);
void client_focus(Client *client);
void client_focus(Client *client, bool update_mru);
void client_unfocus(Client *client);
void client_raise(Client *client);
void client_lower(Client *client);
+3
View File
@@ -171,6 +171,9 @@ typedef struct {
Client *pending_focus_client;
long pending_focus_time;
bool is_alt_tabbing;
Client *alt_tab_client;
} DWNState;
extern DWNState *dwn;
+4
View File
@@ -50,6 +50,10 @@ void workspace_focus_next(void);
void workspace_focus_prev(void);
void workspace_focus_master(void);
void workspace_alt_tab_next(void);
void workspace_alt_tab_prev(void);
void workspace_end_alt_tab(void);
void workspace_mru_push(int workspace, Client *client);
void workspace_mru_remove(int workspace, Client *client);
Client *workspace_mru_get_previous(int workspace, Client *current);