mirror of
https://github.com/brl/mutter.git
synced 2024-11-25 01:20:42 -05:00
don't use gdk_display_name
2001-09-08 Havoc Pennington <hp@pobox.com> * src/ui.c (meta_ui_init): don't use gdk_display_name * src/frame.c (meta_window_ensure_frame): create frame with screen default visual, rather than client window visual; for DRI games, the client window visual was not allowed to be a child of another window with the same visual, apparently. Anyhow now we copy twm, etc. so it must be correct. * src/place.c (meta_window_place): if a transient is placed and its parent has focus, focus the transient.
This commit is contained in:
parent
bc787fc1f3
commit
936adc6ea5
13
ChangeLog
13
ChangeLog
@ -1,3 +1,16 @@
|
||||
2001-09-08 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* src/ui.c (meta_ui_init): don't use gdk_display_name
|
||||
|
||||
* src/frame.c (meta_window_ensure_frame): create frame
|
||||
with screen default visual, rather than client window visual;
|
||||
for DRI games, the client window visual was not allowed to be
|
||||
a child of another window with the same visual, apparently.
|
||||
Anyhow now we copy twm, etc. so it must be correct.
|
||||
|
||||
* src/place.c (meta_window_place): if a transient is placed and
|
||||
its parent has focus, focus the transient.
|
||||
|
||||
2001-09-06 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* configure.in: bump version 2.3.5, require newer GTK release
|
||||
|
21
src/frame.c
21
src/frame.c
@ -57,6 +57,19 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
|
||||
attrs.event_mask = EVENT_MASK;
|
||||
|
||||
meta_verbose ("Framing window %s: visual %s default, depth %d default depth %d\n",
|
||||
window->desc,
|
||||
XVisualIDFromVisual (window->xvisual) ==
|
||||
XVisualIDFromVisual (window->screen->default_xvisual) ?
|
||||
"is" : "is not",
|
||||
window->depth, window->screen->default_depth);
|
||||
|
||||
/* Default depth/visual handles clients with weird visuals; they can
|
||||
* always be children of the root depth/visual obviously, but
|
||||
* e.g. DRI games can't be children of a parent that has the same
|
||||
* visual as the client.
|
||||
*/
|
||||
|
||||
frame->xwindow = XCreateWindow (window->display->xdisplay,
|
||||
window->screen->xroot,
|
||||
frame->rect.x,
|
||||
@ -64,9 +77,9 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
frame->rect.width,
|
||||
frame->rect.height,
|
||||
0,
|
||||
window->depth,
|
||||
InputOutput,
|
||||
window->xvisual,
|
||||
window->screen->default_depth,
|
||||
CopyFromParent,
|
||||
window->screen->default_xvisual,
|
||||
CWEventMask,
|
||||
&attrs);
|
||||
|
||||
@ -90,8 +103,10 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
* we don't want to take that as a withdraw
|
||||
*/
|
||||
window->unmaps_pending += 1;
|
||||
/* window was reparented to this position */
|
||||
window->rect.x = 0;
|
||||
window->rect.y = 0;
|
||||
|
||||
XReparentWindow (window->display->xdisplay,
|
||||
window->xwindow,
|
||||
frame->xwindow,
|
||||
|
@ -253,6 +253,12 @@ meta_window_place (MetaWindow *window,
|
||||
meta_verbose ("Centered window %s over transient parent\n",
|
||||
window->desc);
|
||||
|
||||
if (parent->has_focus)
|
||||
{
|
||||
meta_verbose ("Focusing transient window since parent had focus\n");
|
||||
meta_window_focus (window, CurrentTime); /* FIXME CurrentTime */
|
||||
}
|
||||
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
|
@ -195,6 +195,8 @@ meta_screen_new (MetaDisplay *display,
|
||||
screen->width = WidthOfScreen (screen->xscreen);
|
||||
screen->height = HeightOfScreen (screen->xscreen);
|
||||
screen->current_cursor = -1; /* invalid/unset */
|
||||
screen->default_xvisual = DefaultVisualOfScreen (screen->xscreen);
|
||||
screen->default_depth = DefaultDepthOfScreen (screen->xscreen);
|
||||
|
||||
meta_screen_set_cursor (screen, META_CURSOR_DEFAULT);
|
||||
|
||||
|
@ -41,6 +41,8 @@ struct _MetaScreen
|
||||
char *screen_name;
|
||||
Screen *xscreen;
|
||||
Window xroot;
|
||||
int default_depth;
|
||||
Visual *default_xvisual;
|
||||
int width;
|
||||
int height;
|
||||
MetaUI *ui;
|
||||
|
Loading…
Reference in New Issue
Block a user