/* config options */
static gboolean follow_mouse = TRUE;
static gboolean warp_on_desk_switch = FALSE;
-static gboolean focus_new = FALSE;
+static gboolean focus_new = TRUE;
-static int skip_enter = 0;
+/*static int skip_enter = 0;*/
static gboolean focus_under_pointer()
{
}
}
-static void events(ObEvent *e, void *foo)
+static void event(ObEvent *e, void *foo)
{
switch (e->type) {
case Event_Client_Mapped:
case Event_Client_Unmapped:
if (ob_state == State_Exiting) break;
- if (e->data.c.client->focused)
+ if (client_focused(e->data.c.client))
if (!follow_mouse || !focus_under_pointer())
focus_fallback(FALSE);
break;
break;
case Event_X_EnterNotify:
- if (skip_enter) {
+/* if (skip_enter) {
if (e->data.x.client != NULL)
g_message("skipped enter %lx", e->data.x.client->window);
else
g_message("skipped enter 'root'");
--skip_enter;
}
- else if (e->data.x.client != NULL && client_normal(e->data.x.client)) {
- g_message("enter %lx", e->data.x.client->window);
+ else*/
+ if (e->data.x.client != NULL && client_normal(e->data.x.client))
client_focus(e->data.x.client);
- }
break;
default:
Event_Ob_Desktop |
Event_Client_Unmapped |
Event_X_EnterNotify,
- (EventHandler)events, NULL);
+ (EventHandler)event, NULL);
}
void plugin_shutdown()
{
- dispatch_register(0, (EventHandler)events, NULL);
+ dispatch_register(0, (EventHandler)event, NULL);
}