X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=cb8babf078d2a059de071a728e0d53c8ccfd654b;hb=eea43e64883fc0c988b916db99bc5b45ccffc432;hp=6260e9125cd2b1d0d64c0c0d798c0edb4c6c1675;hpb=6357583c396382dd6ed8ac42004177f204fabe62;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index 6260e912..cb8babf0 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -38,10 +38,10 @@ static void event_process(XEvent *e); static void event_handle_root(XEvent *e); -static void event_handle_dock(Dock *s, XEvent *e); -static void event_handle_dockapp(DockApp *app, XEvent *e); -static void event_handle_client(Client *c, XEvent *e); -static void event_handle_menu(Client *c, XEvent *e); +static void event_handle_dock(ObDock *s, XEvent *e); +static void event_handle_dockapp(ObDockApp *app, XEvent *e); +static void event_handle_client(ObClient *c, XEvent *e); +static void event_handle_menu(ObClient *c, XEvent *e); static void fd_event_handle(); #ifdef USE_SM static void ice_watch(IceConn conn, IcePointer data, Bool opening, @@ -149,28 +149,7 @@ void event_loop() struct timeval *wait; gboolean had_event = FALSE; - while (TRUE) { - /* - There are slightly different event retrieval semantics here for - local (or high bandwidth) versus remote (or low bandwidth) - connections to the display/Xserver. - */ - if (ob_remote) { - if (!XPending(ob_display)) - break; - } else { - /* - This XSync allows for far more compression of events, which - makes things like Motion events perform far far better. Since - it also means network traffic for every event instead of every - X events (where X is the number retrieved at a time), it - probably should not be used for setups where Openbox is - running on a remote/low bandwidth display/Xserver. - */ - XSync(ob_display, FALSE); - if (!XEventsQueued(ob_display, QueuedAlready)) - break; - } + while (XPending(ob_display)) { XNextEvent(ob_display, &e); #ifdef USE_LIBSN @@ -320,7 +299,7 @@ static void event_hack_mods(XEvent *e) } } -static gboolean event_ignore(XEvent *e, Client *client) +static gboolean event_ignore(XEvent *e, ObClient *client) { switch(e->type) { case FocusIn: @@ -432,7 +411,7 @@ static gboolean event_ignore(XEvent *e, Client *client) g_message("no valid FocusIn and no FocusOut events found, " "falling back"); #endif - focus_fallback(Fallback_NoFocus); + focus_fallback(OB_FOCUS_FALLBACK_NOFOCUS); } } break; @@ -467,9 +446,9 @@ static gboolean event_ignore(XEvent *e, Client *client) static void event_process(XEvent *e) { Window window; - Client *client = NULL; - Dock *dock = NULL; - DockApp *dockapp = NULL; + ObClient *client = NULL; + ObDock *dock = NULL; + ObDockApp *dockapp = NULL; Menu *menu = NULL; ObWindow *obwin = NULL; @@ -607,7 +586,7 @@ static void event_handle_root(XEvent *e) } } -static void event_handle_client(Client *client, XEvent *e) +static void event_handle_client(ObClient *client, XEvent *e) { XEvent ce; Atom msgtype; @@ -620,23 +599,23 @@ static void event_handle_client(Client *client, XEvent *e) is a waste of resources to go drawing it. */ if (!(e->xbutton.button == 4 || e->xbutton.button == 5)) { switch (frame_context(client, e->xbutton.window)) { - case Context_Maximize: + case OB_FRAME_CONTEXT_MAXIMIZE: client->frame->max_press = (e->type == ButtonPress); framerender_frame(client->frame); break; - case Context_Close: + case OB_FRAME_CONTEXT_CLOSE: client->frame->close_press = (e->type == ButtonPress); framerender_frame(client->frame); break; - case Context_Iconify: + case OB_FRAME_CONTEXT_ICONIFY: client->frame->iconify_press = (e->type == ButtonPress); framerender_frame(client->frame); break; - case Context_AllDesktops: + case OB_FRAME_CONTEXT_ALLDESKTOPS: client->frame->desk_press = (e->type == ButtonPress); framerender_frame(client->frame); break; - case Context_Shade: + case OB_FRAME_CONTEXT_SHADE: client->frame->shade_press = (e->type == ButtonPress); framerender_frame(client->frame); break; @@ -662,7 +641,7 @@ static void event_handle_client(Client *client, XEvent *e) /* are we a fullscreen window or a transient of one? (checks layer) if we are then we need to be iconified since we are losing focus */ - if (client->layer == Layer_Fullscreen && !client->iconic && + if (client->layer == OB_STACKING_LAYER_FULLSCREEN && !client->iconic && !client_search_focus_tree_full(client)) /* iconify fullscreen windows when they and their transients aren't focused */ @@ -671,7 +650,7 @@ static void event_handle_client(Client *client, XEvent *e) break; case EnterNotify: if (client_normal(client)) { - if (ob_state == State_Starting) { + if (ob_state == OB_STATE_STARTING) { /* move it to the top of the focus order */ guint desktop = client->desktop; if (desktop == DESKTOP_ALL) desktop = screen_desktop; @@ -722,7 +701,7 @@ static void event_handle_client(Client *client, XEvent *e) if (e->xconfigurerequest.value_mask & (CWWidth | CWHeight | CWX | CWY)) { int x, y, w, h; - Corner corner; + ObCorner corner; x = (e->xconfigurerequest.value_mask & CWX) ? e->xconfigurerequest.x : client->area.x; @@ -736,17 +715,17 @@ static void event_handle_client(Client *client, XEvent *e) switch (client->gravity) { case NorthEastGravity: case EastGravity: - corner = Corner_TopRight; + corner = OB_CORNER_TOPRIGHT; break; case SouthWestGravity: case SouthGravity: - corner = Corner_BottomLeft; + corner = OB_CORNER_BOTTOMLEFT; break; case SouthEastGravity: - corner = Corner_BottomRight; + corner = OB_CORNER_BOTTOMRIGHT; break; default: /* NorthWest, Static, etc */ - corner = Corner_TopLeft; + corner = OB_CORNER_TOPLEFT; } client_configure(client, corner, x, y, w, h, FALSE, TRUE); @@ -920,7 +899,8 @@ static void event_handle_client(Client *client, XEvent *e) else h = client->area.y; client->gravity = tmpg; - client_configure(client, Corner_TopLeft, x, y, w, h, FALSE, TRUE); + client_configure(client, OB_CORNER_TOPLEFT, + x, y, w, h, FALSE, TRUE); client->gravity = oldg; } break; @@ -981,7 +961,7 @@ static void event_handle_client(Client *client, XEvent *e) } } -static void event_handle_menu(Client *client, XEvent *e) +static void event_handle_menu(ObClient *client, XEvent *e) { static MenuEntry *over = NULL; MenuEntry *entry; @@ -1144,7 +1124,7 @@ static void fd_event_handle() g_datalist_foreach(&fd_handler_list, fd_event_handle_foreach, NULL); } -static void event_handle_dock(Dock *s, XEvent *e) +static void event_handle_dock(ObDock *s, XEvent *e) { switch (e->type) { case ButtonPress: @@ -1159,7 +1139,7 @@ static void event_handle_dock(Dock *s, XEvent *e) } } -static void event_handle_dockapp(DockApp *app, XEvent *e) +static void event_handle_dockapp(ObDockApp *app, XEvent *e) { switch (e->type) { case MotionNotify: