diff options
| author | Dana Jansens <danakj@orodu.net> | 2008-01-11 21:19:58 -0500 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2008-01-11 21:19:58 -0500 |
| commit | 405d9a3e431b01a221be65f41bccb6c80c43b0a4 (patch) | |
| tree | 753ee1e167be50ba6d9d26cecf52bd47a737e29d /openbox/event.c | |
| parent | c2e495c720d93521bdb0e1bfd7e76584a1b329b7 (diff) | |
dont reparse the config file when the keyboard map changes. just rebind everything. yay for mika as inspiration
Diffstat (limited to 'openbox/event.c')
| -rw-r--r-- | openbox/event.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/openbox/event.c b/openbox/event.c index 6b0ecdd7..bc59d67e 100644 --- a/openbox/event.c +++ b/openbox/event.c @@ -639,9 +639,12 @@ static void event_process(const XEvent *ec, gpointer data) else if (e->type == MapRequest) client_manage(window); else if (e->type == MappingNotify) { - /* keyboard layout changes, reconfigure openbox. need to restart the - modkeys system, but also to reload the key bindings. */ - ob_reconfigure(); + /* 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.\n"); + modkeys_shutdown(TRUE); + modkeys_startup(TRUE); + keyboard_rebind(); } else if (e->type == ClientMessage) { /* This is for _NET_WM_REQUEST_FRAME_EXTENTS messages. They come for |
