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.
This commit is contained in:
Havoc Pennington 2002-08-04 20:20:53 +00:00 committed by Havoc Pennington
parent 8984fd358b
commit 585e362526
6 changed files with 30 additions and 9 deletions

View File

@ -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> 2002-08-02 Mark McLoughlin <mark@skynet.ie>
* src/screen.c: (meta_screen_new): set active_workspace * src/screen.c: (meta_screen_new): set active_workspace

View File

@ -28,10 +28,10 @@ if test "x$GCC" = "xyes"; then
*) CFLAGS="$CFLAGS -Wall" ;; *) CFLAGS="$CFLAGS -Wall" ;;
esac esac
case " $CFLAGS " in # case " $CFLAGS " in
*[\ \ ]-Wshadow[\ \ ]*) ;; # *[\ \ ]-Wshadow[\ \ ]*) ;;
*) CFLAGS="$CFLAGS -Wshadow" ;; # *) CFLAGS="$CFLAGS -Wshadow" ;;
esac # esac
case " $CFLAGS " in case " $CFLAGS " in
*[\ \ ]-Wchar-subscripts[\ \ ]*) ;; *[\ \ ]-Wchar-subscripts[\ \ ]*) ;;

View File

@ -611,6 +611,7 @@ meta_core_grab_buttons (Display *xdisplay,
display = meta_display_for_x_display (xdisplay); 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); meta_display_grab_window_buttons (display, frame_xwindow);
} }

View File

@ -1022,6 +1022,10 @@ event_callback (XEvent *event,
window->frame && window->frame &&
modified == window->frame->xwindow) 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; frame_was_receiver = TRUE;
meta_topic (META_DEBUG_EVENTS, "Frame was receiver of event\n"); meta_topic (META_DEBUG_EVENTS, "Frame was receiver of event\n");
} }

View File

@ -1002,9 +1002,7 @@ meta_frames_button_press_event (GtkWidget *widget,
control = get_control (frames, frame, event->x, event->y); control = get_control (frames, frame, event->x, event->y);
if (control == META_FRAME_CONTROL_CLIENT_AREA) /* raise/focus on click, even if click was on client area */
return FALSE; /* not on the frame, just passed through from client */
if (event->button == 1 && if (event->button == 1 &&
!(control == META_FRAME_CONTROL_MINIMIZE || !(control == META_FRAME_CONTROL_MINIMIZE ||
control == META_FRAME_CONTROL_DELETE)) control == META_FRAME_CONTROL_DELETE))
@ -1019,6 +1017,10 @@ meta_frames_button_press_event (GtkWidget *widget,
event->time); 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 /* We want to shade even if we have a GrabOp, since we'll have a move grab
* if we double click the titlebar. * 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; button_states[META_BUTTON_TYPE_CLOSE] = META_BUTTON_STATE_PRELIGHT;
break; break;
default: default:
break;
} }
grab_frame = meta_core_get_grab_frame (gdk_display); grab_frame = meta_core_get_grab_frame (gdk_display);

View File

@ -267,7 +267,7 @@ compute_layer (MetaWindow *window)
case META_WINDOW_DOCK: case META_WINDOW_DOCK:
/* still experimenting here */ /* still experimenting here */
window->layer = META_LAYER_NORMAL; window->layer = META_LAYER_DOCK;
break; break;
case META_WINDOW_SPLASHSCREEN: case META_WINDOW_SPLASHSCREEN: