diff options
author | Havoc Pennington <hp@redhat.com> | 2002-08-04 20:20:53 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2002-08-04 20:20:53 +0000 |
commit | 585e3625266dd0fadcdb033739760db423d31714 (patch) | |
tree | 0b7009b43fc3b584f5eca6dbe1894c3180ca3e7c | |
parent | 8984fd358b29c2286a0f4763a297205645366dd0 (diff) | |
download | metacity-585e3625266dd0fadcdb033739760db423d31714.tar.gz |
raise/focus on click, even if the click was on the client area (this makes
2002-08-04 Havoc Pennington <hp@redhat.com>
* src/frames.c (meta_frames_button_press_event): raise/focus
on click, even if the click was on the client area
(this makes Alt+button1 raise windows again, yay)
* src/stack.c (compute_layer): put panels in the DOCK layer always
(keep them on top of other windows). Still sloppy-focus raised
with respect to other docks.
* configure.in: remove -Wshadow for now as GTK headers make all
kinds of noise with it.
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | configure.in | 8 | ||||
-rw-r--r-- | src/core.c | 3 | ||||
-rw-r--r-- | src/display.c | 4 | ||||
-rw-r--r-- | src/frames.c | 9 | ||||
-rw-r--r-- | src/stack.c | 2 |
6 files changed, 30 insertions, 9 deletions
@@ -1,3 +1,16 @@ +2002-08-04 Havoc Pennington <hp@redhat.com> + + * src/frames.c (meta_frames_button_press_event): raise/focus + on click, even if the click was on the client area + (this makes Alt+button1 raise windows again, yay) + + * src/stack.c (compute_layer): put panels in the DOCK layer always + (keep them on top of other windows). Still sloppy-focus raised + with respect to other docks. + + * configure.in: remove -Wshadow for now as GTK headers make all + kinds of noise with it. + 2002-08-02 Mark McLoughlin <mark@skynet.ie> * src/screen.c: (meta_screen_new): set active_workspace diff --git a/configure.in b/configure.in index 56bb4c3c..ba3de2fe 100644 --- a/configure.in +++ b/configure.in @@ -28,10 +28,10 @@ if test "x$GCC" = "xyes"; then *) CFLAGS="$CFLAGS -Wall" ;; esac - case " $CFLAGS " in - *[\ \ ]-Wshadow[\ \ ]*) ;; - *) CFLAGS="$CFLAGS -Wshadow" ;; - esac +# case " $CFLAGS " in +# *[\ \ ]-Wshadow[\ \ ]*) ;; +# *) CFLAGS="$CFLAGS -Wshadow" ;; +# esac case " $CFLAGS " in *[\ \ ]-Wchar-subscripts[\ \ ]*) ;; @@ -610,7 +610,8 @@ meta_core_grab_buttons (Display *xdisplay, MetaDisplay *display; display = meta_display_for_x_display (xdisplay); - + + meta_verbose ("Grabbing buttons on frame 0x%lx\n", frame_xwindow); meta_display_grab_window_buttons (display, frame_xwindow); } diff --git a/src/display.c b/src/display.c index 15b96b90..3c6b7a47 100644 --- a/src/display.c +++ b/src/display.c @@ -1022,6 +1022,10 @@ event_callback (XEvent *event, window->frame && modified == window->frame->xwindow) { + /* Note that if the frame and the client both have an + * XGrabButton (as is normal with our setup), the event + * goes to the frame. + */ frame_was_receiver = TRUE; meta_topic (META_DEBUG_EVENTS, "Frame was receiver of event\n"); } diff --git a/src/frames.c b/src/frames.c index fffdcfc5..18ca6091 100644 --- a/src/frames.c +++ b/src/frames.c @@ -1002,9 +1002,7 @@ meta_frames_button_press_event (GtkWidget *widget, control = get_control (frames, frame, event->x, event->y); - if (control == META_FRAME_CONTROL_CLIENT_AREA) - return FALSE; /* not on the frame, just passed through from client */ - + /* raise/focus on click, even if click was on client area */ if (event->button == 1 && !(control == META_FRAME_CONTROL_MINIMIZE || control == META_FRAME_CONTROL_DELETE)) @@ -1018,6 +1016,10 @@ meta_frames_button_press_event (GtkWidget *widget, frame->xwindow, event->time); } + + /* don't do the rest of this if on client area */ + if (control == META_FRAME_CONTROL_CLIENT_AREA) + return FALSE; /* not on the frame, just passed through from client */ /* We want to shade even if we have a GrabOp, since we'll have a move grab * if we double click the titlebar. @@ -1538,6 +1540,7 @@ meta_frames_paint_to_drawable (MetaFrames *frames, button_states[META_BUTTON_TYPE_CLOSE] = META_BUTTON_STATE_PRELIGHT; break; default: + break; } grab_frame = meta_core_get_grab_frame (gdk_display); diff --git a/src/stack.c b/src/stack.c index 50f7342a..c55ef457 100644 --- a/src/stack.c +++ b/src/stack.c @@ -267,7 +267,7 @@ compute_layer (MetaWindow *window) case META_WINDOW_DOCK: /* still experimenting here */ - window->layer = META_LAYER_NORMAL; + window->layer = META_LAYER_DOCK; break; case META_WINDOW_SPLASHSCREEN: |