diff options
-rw-r--r-- | src/core/frame.c | 13 | ||||
-rw-r--r-- | src/include/ui.h | 7 | ||||
-rw-r--r-- | src/ui/frames.c | 112 | ||||
-rw-r--r-- | src/ui/frames.h | 7 | ||||
-rw-r--r-- | src/ui/ui.c | 29 |
5 files changed, 12 insertions, 156 deletions
diff --git a/src/core/frame.c b/src/core/frame.c index 2e0a0452..d47be374 100644 --- a/src/core/frame.c +++ b/src/core/frame.c @@ -113,11 +113,6 @@ meta_window_ensure_frame (MetaWindow *window) meta_display_register_x_window (window->display, &frame->xwindow, window); - /* Now that frame->xwindow is registered with window, we can set its - * background. - */ - meta_ui_reset_frame_bg (window->screen->ui, frame->xwindow); - /* Reparent the client window; it may be destroyed, * thus the error trap. We'll get a destroy notify later * and free everything. Comment in FVWM source code says @@ -354,11 +349,6 @@ meta_frame_sync_to_window (MetaFrame *frame, /* set bg to none to avoid flicker */ if (need_resize) { - meta_ui_unflicker_frame_bg (frame->window->screen->ui, - frame->xwindow, - frame->rect.width, - frame->rect.height); - /* we need new shape if we're resized */ frame->need_reapply_frame_shape = TRUE; } @@ -380,9 +370,6 @@ meta_frame_sync_to_window (MetaFrame *frame, if (need_resize) { - meta_ui_reset_frame_bg (frame->window->screen->ui, - frame->xwindow); - /* If we're interactively resizing the frame, repaint * it immediately so we don't start to lag. */ diff --git a/src/include/ui.h b/src/include/ui.h index 58225dcb..ba9b1696 100644 --- a/src/include/ui.h +++ b/src/include/ui.h @@ -95,13 +95,6 @@ void meta_ui_map_frame (MetaUI *ui, void meta_ui_unmap_frame (MetaUI *ui, Window xwindow); -void meta_ui_unflicker_frame_bg (MetaUI *ui, - Window xwindow, - int target_width, - int target_height); -void meta_ui_reset_frame_bg (MetaUI *ui, - Window xwindow); - void meta_ui_apply_frame_shape (MetaUI *ui, Window xwindow, int new_window_width, diff --git a/src/ui/frames.c b/src/ui/frames.c index 816ebd8c..f06c22be 100644 --- a/src/ui/frames.c +++ b/src/ui/frames.c @@ -79,9 +79,6 @@ static void meta_frames_paint_to_drawable (MetaFrames *frames, MetaUIFrame *frame, cairo_t *cr); -static void meta_frames_set_window_background (MetaFrames *frames, - MetaUIFrame *frame); - static void meta_frames_calc_geometry (MetaFrames *frames, MetaUIFrame *frame, MetaFrameGeometry *fgeom); @@ -343,12 +340,6 @@ queue_recalc_func (gpointer key, gpointer value, gpointer data) frames = META_FRAMES (data); frame = value; - /* If a resize occurs it will cause a redraw, but the - * resize may not actually be needed so we always redraw - * in case of color change. - */ - meta_frames_set_window_background (frames, frame); - invalidate_whole_window (frames, frame); meta_core_queue_frame_resize (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow); @@ -388,12 +379,6 @@ queue_draw_func (gpointer key, gpointer value, gpointer data) frames = META_FRAMES (data); frame = value; - /* If a resize occurs it will cause a redraw, but the - * resize may not actually be needed so we always redraw - * in case of color change. - */ - meta_frames_set_window_background (frames, frame); - invalidate_whole_window (frames, frame); } @@ -609,11 +594,6 @@ meta_frames_manage_window (MetaFrames *frames, frame->shape_applied = FALSE; frame->prelit_control = META_FRAME_CONTROL_NONE; - /* Don't set the window background yet; we need frame->xwindow to be - * registered with its MetaWindow, which happens after this function - * and meta_ui_create_frame_window() return to meta_window_ensure_frame(). - */ - meta_core_grab_buttons (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow); g_hash_table_replace (frames->frames, &frame->xwindow, frame); @@ -734,52 +714,6 @@ meta_frames_get_geometry (MetaFrames *frames, *right_width *= scale; } -void -meta_frames_reset_bg (MetaFrames *frames, - Window xwindow) -{ - MetaUIFrame *frame; - - frame = meta_frames_lookup_window (frames, xwindow); - - meta_frames_set_window_background (frames, frame); -} - -static void -set_background_none (Display *xdisplay, - Window xwindow) -{ - XSetWindowAttributes attrs; - - attrs.background_pixmap = None; - XChangeWindowAttributes (xdisplay, xwindow, - CWBackPixmap, &attrs); -} - -void -meta_frames_unflicker_bg (MetaFrames *frames, - Window xwindow, - int target_width, - int target_height) -{ - MetaUIFrame *frame; - - frame = meta_frames_lookup_window (frames, xwindow); - g_return_if_fail (frame != NULL); - -#if 0 - pixmap = gdk_pixmap_new (frame->window, - width, height, - -1); - - /* Oops, no way to get the background here */ - - meta_frames_paint_to_drawable (frames, frame, pixmap); -#endif - - set_background_none (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow); -} - #ifdef HAVE_SHAPE static void apply_cairo_region_to_window (Display *display, @@ -2497,52 +2431,6 @@ meta_frames_paint_to_drawable (MetaFrames *frames, mini_icon, icon); } -static void -meta_frames_set_window_background (MetaFrames *frames, - MetaUIFrame *frame) -{ - MetaFrameFlags flags; - MetaFrameType type; - MetaFrameStyle *style; - gboolean frame_exists; - - meta_core_get (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow, - META_CORE_WINDOW_HAS_FRAME, &frame_exists, - META_CORE_GET_FRAME_FLAGS, &flags, - META_CORE_GET_FRAME_TYPE, &type, - META_CORE_GET_END); - - if (frame_exists) - { - style = meta_theme_get_frame_style (meta_theme_get_current (), - type, flags); - } - - if (frame_exists && style->window_background_color != NULL) - { - GdkRGBA color; - GdkVisual *visual; - - meta_color_spec_render (style->window_background_color, - frame->style, - &color); - - /* Set A in ARGB to window_background_alpha, if we have ARGB */ - - visual = gtk_widget_get_visual (GTK_WIDGET (frames)); - if (gdk_visual_get_depth (visual) == 32) /* we have ARGB */ - { - color.alpha = style->window_background_alpha / 255.0; - } - - gdk_window_set_background_rgba (frame->window, &color); - } - else - { - gtk_style_context_set_background (frame->style, frame->window); - } - } - static gboolean meta_frames_enter_notify_event (GtkWidget *widget, GdkEventCrossing *event) diff --git a/src/ui/frames.h b/src/ui/frames.h index 8124a927..736c37ca 100644 --- a/src/ui/frames.h +++ b/src/ui/frames.h @@ -132,13 +132,6 @@ void meta_frames_get_geometry (MetaFrames *frames, int *top_height, int *bottom_height, int *left_width, int *right_width); -void meta_frames_reset_bg (MetaFrames *frames, - Window xwindow); -void meta_frames_unflicker_bg (MetaFrames *frames, - Window xwindow, - int target_width, - int target_height); - void meta_frames_apply_shapes (MetaFrames *frames, Window xwindow, int new_window_width, diff --git a/src/ui/ui.c b/src/ui/ui.c index b3f40062..00c1176a 100644 --- a/src/ui/ui.c +++ b/src/ui/ui.c @@ -305,6 +305,17 @@ meta_ui_get_frame_geometry (MetaUI *ui, left_width, right_width); } +static void +set_background_none (Display *xdisplay, + Window xwindow) +{ + XSetWindowAttributes attrs; + + attrs.background_pixmap = None; + XChangeWindowAttributes (xdisplay, xwindow, + CWBackPixmap, &attrs); +} + Window meta_ui_create_frame_window (MetaUI *ui, Display *xdisplay, @@ -363,6 +374,7 @@ meta_ui_create_frame_window (MetaUI *ui, &attrs, attributes_mask); gdk_window_resize (window, width, height); + set_background_none (xdisplay, GDK_WINDOW_XID (window)); meta_frames_manage_window (ui->frames, GDK_WINDOW_XID (window), window); @@ -418,16 +430,6 @@ meta_ui_unmap_frame (MetaUI *ui, } void -meta_ui_unflicker_frame_bg (MetaUI *ui, - Window xwindow, - int target_width, - int target_height) -{ - meta_frames_unflicker_bg (ui->frames, xwindow, - target_width, target_height); -} - -void meta_ui_repaint_frame (MetaUI *ui, Window xwindow) { @@ -435,13 +437,6 @@ meta_ui_repaint_frame (MetaUI *ui, } void -meta_ui_reset_frame_bg (MetaUI *ui, - Window xwindow) -{ - meta_frames_reset_bg (ui->frames, xwindow); -} - -void meta_ui_apply_frame_shape (MetaUI *ui, Window xwindow, int new_window_width, |