X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fevent.c;h=2c73289ef2ce761a3a63cfafd08dcce1516096c8;hb=fa0ae17adbc8f73b707c33836d37841e81b9303a;hp=f69267db60c63f1dcfed979fd567ad41a2345fed;hpb=6d0c4d7fadd2d67760ef62e11385fd261ba6a3c4;p=chaz%2Fopenbox diff --git a/openbox/event.c b/openbox/event.c index f69267db..2c73289e 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -417,6 +417,7 @@ static void print_focusevent(XEvent *e) case NotifyGrab: modestr="NotifyGrab"; break; case NotifyUngrab: modestr="NotifyUngrab"; break; case NotifyWhileGrabbed: modestr="NotifyWhileGrabbed"; break; + default: g_assert_not_reached(); } switch (detail) { case NotifyAncestor: detailstr="NotifyAncestor"; break; @@ -427,6 +428,7 @@ static void print_focusevent(XEvent *e) case NotifyPointer: detailstr="NotifyPointer"; break; case NotifyPointerRoot: detailstr="NotifyPointerRoot"; break; case NotifyDetailNone: detailstr="NotifyDetailNone"; break; + default: g_assert_not_reached(); } if (mode == NotifyGrab || mode == NotifyUngrab) @@ -656,7 +658,7 @@ static void event_process(const XEvent *ec, gpointer data) else if (e->type == MappingNotify) { /* keyboard layout changes for modifier mapping changes. reload the modifier map, and rebind all the key bindings as appropriate */ - ob_debug("Kepboard map changed. Reloading keyboard bindings."); + ob_debug("Keyboard map changed. Reloading keyboard bindings."); ob_set_state(OB_STATE_RECONFIGURING); obt_keyboard_reload(); keyboard_rebind(); @@ -1526,6 +1528,13 @@ static void event_handle_client(ObClient *client, XEvent *e) reconfigure the window if it needs to. emacs will update its normal hints every time it receives a conigurenotify */ client_reconfigure(client, FALSE); + } else if (msgtype == OBT_PROP_ATOM(MOTIF_WM_HINTS)) { + client_get_mwm_hints(client); + /* This can override some mwm hints */ + client_get_type_and_transientness(client); + + /* Apply the changes to the window */ + client_setup_decor_and_functions(client, TRUE); } else if (msgtype == XA_WM_HINTS) { client_update_wmhints(client); } else if (msgtype == XA_WM_TRANSIENT_FOR) { @@ -1591,6 +1600,8 @@ static void event_handle_client(ObClient *client, XEvent *e) client->shaped_input = ((XShapeEvent*)e)->shaped; kind = ShapeInput; break; + default: + g_assert_not_reached(); } frame_adjust_shape_kind(client->frame, kind); }