Clear urgency hints set by i3 (see HEAD~2)

This commit is contained in:
Michael Stapelberg 2010-03-05 20:03:38 +01:00
parent 7a9755ad91
commit f1a011c014
1 changed files with 7 additions and 1 deletions

View File

@ -34,6 +34,7 @@
#include "log.h" #include "log.h"
#include "ewmh.h" #include "ewmh.h"
#include "manage.h" #include "manage.h"
#include "workspace.h"
static iconv_t conversion_descriptor = 0; static iconv_t conversion_descriptor = 0;
struct keyvalue_table_head by_parent = TAILQ_HEAD_INITIALIZER(by_parent); struct keyvalue_table_head by_parent = TAILQ_HEAD_INITIALIZER(by_parent);
@ -299,12 +300,17 @@ void set_focus(xcb_connection_t *conn, Client *client, bool set_anyways) {
redecorate_window(conn, current); redecorate_window(conn, current);
break; break;
} }
} }
SLIST_REMOVE(&(client->workspace->focus_stack), client, Client, focus_clients); SLIST_REMOVE(&(client->workspace->focus_stack), client, Client, focus_clients);
SLIST_INSERT_HEAD(&(client->workspace->focus_stack), client, focus_clients); SLIST_INSERT_HEAD(&(client->workspace->focus_stack), client, focus_clients);
/* Clear the urgency flag if set (necessary when i3 sets the flag, for
* example when automatically putting windows on the workspace of their
* leader) */
client->urgent = false;
workspace_update_urgent_flag(client->workspace);
/* If were in stacking mode, this renders the container to update changes in the title /* If were in stacking mode, this renders the container to update changes in the title
bars and to raise the focused client */ bars and to raise the focused client */
if ((old_client != NULL) && (old_client != client) && !old_client->dock) if ((old_client != NULL) && (old_client != client) && !old_client->dock)