static gboolean focus_under_pointer()
{
- Window w;
- int i, x, y;
- guint u;
+ int x, y;
GList *it;
- if (XQueryPointer(ob_display, ob_root, &w, &w, &x, &y, &i, &i, &u)) {
+ if (ob_pointer_pos(&x, &y)) {
for (it = stacking_list; it != NULL; it = it->next) {
Client *c = it->data;
if (c->desktop == screen_desktop &&
for (it = focus_order[screen_desktop]; it != NULL; it = it->next)
if (type != Fallback_Unfocusing || it->data != old)
- if (client_normal(it->data) &&
- ((Client*)it->data)->frame->visible &&
- client_focus(it->data))
+ if (client_normal(it->data) && client_focus(it->data))
return;
/* nothing to focus */
}
ft = client_focus_target(it->data);
if (ft == it->data && focus_client != ft && client_normal(ft) &&
- ft->frame->visible && client_focus(ft)) {
+ client_focus(ft)) {
noreorder++; /* avoid reordering the focus_order */
return ft;
}