diff options
author | rhp <rhp> | 2001-06-23 05:49:35 +0000 |
---|---|---|
committer | rhp <rhp> | 2001-06-23 05:49:35 +0000 |
commit | bf64e719a1fea9e99b737b11771a41272c2e881e (patch) | |
tree | f2536630b810b36d7905f78a4720523df8c7b328 /src/frame.c | |
parent | 7ecf21af703d22f2975d7926e71fb453176e4271 (diff) | |
download | metacity-bf64e719a1fea9e99b737b11771a41272c2e881e.tar.gz |
...
Diffstat (limited to 'src/frame.c')
-rw-r--r-- | src/frame.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/frame.c b/src/frame.c index 5f2b3f82..90df8c81 100644 --- a/src/frame.c +++ b/src/frame.c @@ -27,7 +27,8 @@ ExposureMask | \ ButtonPressMask | ButtonReleaseMask | \ PointerMotionMask | PointerMotionHintMask | \ - EnterWindowMask | LeaveWindowMask) + EnterWindowMask | LeaveWindowMask | \ + FocusChangeMask) void meta_window_ensure_frame (MetaWindow *window) @@ -106,6 +107,9 @@ meta_window_ensure_frame (MetaWindow *window) meta_ui_set_frame_title (window->screen->ui, window->frame->xwindow, window->title); + + /* Move keybindings to frame instead of window */ + meta_window_grab_keys (window); } void @@ -117,7 +121,7 @@ meta_window_destroy_frame (MetaWindow *window) return; frame = window->frame; - + meta_ui_remove_frame (window->screen->ui, frame->xwindow); /* Unparent the client window; it may be destroyed, @@ -142,6 +146,9 @@ meta_window_destroy_frame (MetaWindow *window) window->frame = NULL; + /* Move keybindings to window instead of frame */ + meta_window_grab_keys (window); + /* should we push an error trap? */ XDestroyWindow (window->display->xdisplay, frame->xwindow); @@ -270,6 +277,8 @@ meta_frame_event (MetaFrame *frame, switch (event->type) { case KeyPress: + meta_display_process_key_press (frame->window->display, + frame->window, event); break; case KeyRelease: break; @@ -290,8 +299,9 @@ meta_frame_event (MetaFrame *frame, case LeaveNotify: break; case FocusIn: - break; case FocusOut: + meta_window_notify_focus (frame->window, + event); break; case KeymapNotify: break; |