diff --git a/src/Makefile.am b/src/Makefile.am index 9b32333a3..50cbac889 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -39,8 +39,6 @@ mutter_SOURCES= \ ui/draw-workspace.h \ core/edge-resistance.c \ core/edge-resistance.h \ - core/effects.c \ - core/effects.h \ core/errors.c \ include/errors.h \ core/eventqueue.c \ diff --git a/src/core/display-private.h b/src/core/display-private.h index 3e0507524..313f49f0c 100644 --- a/src/core/display-private.h +++ b/src/core/display-private.h @@ -174,19 +174,13 @@ struct _MetaDisplay gulong grab_mask; guint grab_have_pointer : 1; guint grab_have_keyboard : 1; - guint grab_wireframe_active : 1; - guint grab_was_cancelled : 1; /* Only used in wireframe mode */ guint grab_frame_action : 1; - MetaRectangle grab_wireframe_rect; - MetaRectangle grab_wireframe_last_xor_rect; MetaRectangle grab_initial_window_pos; int grab_initial_x, grab_initial_y; /* These are only relevant for */ gboolean grab_threshold_movement_reached; /* raise_on_click == FALSE. */ MetaResizePopup *grab_resize_popup; GTimeVal grab_last_moveresize_time; guint32 grab_motion_notify_time; - int grab_wireframe_last_display_width; - int grab_wireframe_last_display_height; GList* grab_old_window_stacking; MetaEdgeResistanceData *grab_edge_resistance_data; unsigned int grab_last_user_action_was_snap; diff --git a/src/core/display.c b/src/core/display.c index 4ef8359a1..3d97aa20a 100644 --- a/src/core/display.c +++ b/src/core/display.c @@ -46,7 +46,6 @@ #include "xprops.h" #include "workspace-private.h" #include "bell.h" -#include "effects.h" #include "compositor.h" #include #include @@ -475,7 +474,6 @@ meta_display_open (void) #endif the_display->grab_op = META_GRAB_OP_NONE; - the_display->grab_wireframe_active = FALSE; the_display->grab_window = NULL; the_display->grab_screen = NULL; the_display->grab_resize_popup = NULL; @@ -2080,9 +2078,6 @@ event_callback (XEvent *event, "Window %s withdrawn\n", window->desc); - if (!window->override_redirect) - meta_effect_run_close (window, NULL, NULL); - /* Unmanage withdrawn window */ window->withdrawn = TRUE; meta_window_unmanage (window, timestamp); @@ -3435,7 +3430,6 @@ meta_display_begin_grab_op (MetaDisplay *display, display->grab_sync_request_alarm = None; display->grab_last_user_action_was_snap = FALSE; #endif - display->grab_was_cancelled = FALSE; display->grab_frame_action = frame_action; if (display->grab_resize_timeout_id) @@ -3450,20 +3444,8 @@ meta_display_begin_grab_op (MetaDisplay *display, &display->grab_initial_window_pos); display->grab_anchor_window_pos = display->grab_initial_window_pos; - display->grab_wireframe_active = - (meta_prefs_get_reduced_resources () && !meta_prefs_get_gnome_accessibility ()) && - (meta_grab_op_is_resizing (display->grab_op) || - meta_grab_op_is_moving (display->grab_op)); - - if (display->grab_wireframe_active) - { - meta_window_calc_showing (display->grab_window); - meta_window_begin_wireframe (window); - } - #ifdef HAVE_XSYNC - if (!display->grab_wireframe_active && - meta_grab_op_is_resizing (display->grab_op) && + if ( meta_grab_op_is_resizing (display->grab_op) && display->grab_window->sync_request_counter != None) { XSyncAlarmAttributes values; @@ -3614,28 +3596,6 @@ meta_display_end_grab_op (MetaDisplay *display, display->grab_old_window_stacking = NULL; } - if (display->grab_wireframe_active) - { - display->grab_wireframe_active = FALSE; - meta_window_end_wireframe (display->grab_window); - - if (!display->grab_was_cancelled) - { - if (meta_grab_op_is_moving (display->grab_op)) - meta_window_move (display->grab_window, - TRUE, - display->grab_wireframe_rect.x, - display->grab_wireframe_rect.y); - if (meta_grab_op_is_resizing (display->grab_op)) - meta_window_resize_with_gravity (display->grab_window, - TRUE, - display->grab_wireframe_rect.width, - display->grab_wireframe_rect.height, - meta_resize_gravity_from_grab_op (display->grab_op)); - } - meta_window_calc_showing (display->grab_window); - } - if (display->grab_have_pointer) { meta_topic (META_DEBUG_WINDOW_OPS, diff --git a/src/core/edge-resistance.c b/src/core/edge-resistance.c index 875741a7a..ac59aff8b 100644 --- a/src/core/edge-resistance.c +++ b/src/core/edge-resistance.c @@ -1141,17 +1141,8 @@ meta_window_edge_resistance_for_move (MetaWindow *window, MetaRectangle old_outer, proposed_outer, new_outer; gboolean is_resize; - if (window == window->display->grab_window && - window->display->grab_wireframe_active) - { - meta_window_get_xor_rect (window, - &window->display->grab_wireframe_rect, - &old_outer); - } - else - { - meta_window_get_outer_rect (window, &old_outer); - } + meta_window_get_outer_rect (window, &old_outer); + proposed_outer = old_outer; proposed_outer.x += (*new_x - old_x); proposed_outer.y += (*new_y - old_y); @@ -1236,17 +1227,7 @@ meta_window_edge_resistance_for_resize (MetaWindow *window, int proposed_outer_width, proposed_outer_height; gboolean is_resize; - if (window == window->display->grab_window && - window->display->grab_wireframe_active) - { - meta_window_get_xor_rect (window, - &window->display->grab_wireframe_rect, - &old_outer); - } - else - { - meta_window_get_outer_rect (window, &old_outer); - } + meta_window_get_outer_rect (window, &old_outer); proposed_outer_width = old_outer.width + (*new_width - old_width); proposed_outer_height = old_outer.height + (*new_height - old_height); meta_rectangle_resize_with_gravity (&old_outer, diff --git a/src/core/effects.c b/src/core/effects.c deleted file mode 100644 index 1965e6e64..000000000 --- a/src/core/effects.c +++ /dev/null @@ -1,735 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -/** - * \file effects.c "Special effects" other than compositor effects. - * - * Before we had a serious compositor, we supported swooping - * rectangles for minimising and so on. These are still supported - * today, even when the compositor is enabled. The file contains two - * parts: - * - * 1) A set of functions, each of which implements a special effect. - * (Only the minimize function does anything interesting; we should - * probably get rid of the rest.) - * - * 2) A set of functions for moving a highlighted wireframe box around - * the screen, optionally with height and width shown in the middle. - * This is used for moving and resizing when reduced_resources is set. - * - * There was formerly a system which allowed callers to drop in their - * own handlers for various things; it was never used (people who want - * their own handlers can just modify this file, after all) and it added - * a good deal of extra complexity, so it has been removed. If you want it, - * it can be found in svn r3769. - * - * Once upon a time there were three different ways of drawing the box - * animation: window wireframe, window opaque, and root. People who had - * the shape extension theoretically had the choice of all three, and - * people who didn't weren't given the choice of the wireframe option. - * In practice, though, the opaque animation was never perfect, so it came - * down to the wireframe option for those who had the extension and - * the root option for those who didn't; there was actually no way of choosing - * any other option anyway. Work on the opaque animation stopped in 2002; - * anyone who wants something like that these days will be using the - * compositor anyway. - * - * In svn r3769 this was made explicit. - */ - -/* - * Copyright (C) 2001 Anders Carlsson, Havoc Pennington - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#include -#include "effects.h" -#include "display-private.h" -#include "ui.h" -#include "window-private.h" -#include "prefs.h" - -#ifdef HAVE_SHAPE -#include -#endif - -#define META_MINIMIZE_ANIMATION_LENGTH 0.25 -#define META_SHADE_ANIMATION_LENGTH 0.2 - -#include - -typedef struct MetaEffect MetaEffect; -typedef struct MetaEffectPriv MetaEffectPriv; - -typedef struct -{ - MetaScreen *screen; - - double millisecs_duration; - GTimeVal start_time; - -#ifdef HAVE_SHAPE - /** For wireframe window */ - Window wireframe_xwindow; -#else - /** Rectangle to erase */ - MetaRectangle last_rect; - - /** First time we've plotted anything in this animation? */ - gboolean first_time; - - /** For wireframe drawn on root window */ - GC gc; -#endif - - MetaRectangle start_rect; - MetaRectangle end_rect; - -} BoxAnimationContext; - -/** - * Information we need to know during a maximise or minimise effect. - */ -typedef struct -{ - /** This is the normal-size window. */ - MetaRectangle window_rect; - /** This is the size of the window when it's an icon. */ - MetaRectangle icon_rect; -} MetaMinimizeEffect, MetaUnminimizeEffect; - -struct MetaEffectPriv -{ - MetaEffectFinished finished; - gpointer finished_data; -}; - -struct MetaEffect -{ - /** The window the effect is applied to. */ - MetaWindow *window; - /** Which effect is happening here. */ - MetaEffectType type; - /** The effect handler can hang data here. */ - gpointer info; - - union - { - MetaMinimizeEffect minimize; - /* ... and theoretically anything else */ - } u; - - MetaEffectPriv *priv; -}; - -static void run_default_effect_handler (MetaEffect *effect); -static void run_handler (MetaEffect *effect); -static void effect_free (MetaEffect *effect); - -static MetaEffect * -create_effect (MetaEffectType type, - MetaWindow *window, - MetaEffectFinished finished, - gpointer finished_data); - -static void -draw_box_animation (MetaScreen *screen, - MetaRectangle *initial_rect, - MetaRectangle *destination_rect, - double seconds_duration); - -/** - * Creates an effect. - * - */ -static MetaEffect* -create_effect (MetaEffectType type, - MetaWindow *window, - MetaEffectFinished finished, - gpointer finished_data) -{ - MetaEffect *effect = g_new (MetaEffect, 1); - - effect->type = type; - effect->window = window; - effect->priv = g_new (MetaEffectPriv, 1); - effect->priv->finished = finished; - effect->priv->finished_data = finished_data; - - return effect; -} - -/** - * Destroys an effect. If the effect has a "finished" hook, it will be - * called before cleanup. - * - * \param effect The effect. - */ -static void -effect_free (MetaEffect *effect) -{ - if (effect->priv->finished) - effect->priv->finished (effect->priv->finished_data); - - g_free (effect->priv); - g_free (effect); -} - -void -meta_effect_run_focus (MetaWindow *window, - MetaEffectFinished finished, - gpointer data) -{ - MetaEffect *effect; - - g_return_if_fail (window != NULL); - - effect = create_effect (META_EFFECT_FOCUS, window, finished, data); - - run_handler (effect); -} - -void -meta_effect_run_minimize (MetaWindow *window, - MetaRectangle *window_rect, - MetaRectangle *icon_rect, - MetaEffectFinished finished, - gpointer data) -{ - MetaEffect *effect; - - g_return_if_fail (window != NULL); - g_return_if_fail (icon_rect != NULL); - - effect = create_effect (META_EFFECT_MINIMIZE, window, finished, data); - - effect->u.minimize.window_rect = *window_rect; - effect->u.minimize.icon_rect = *icon_rect; - - run_handler (effect); -} - -void -meta_effect_run_unminimize (MetaWindow *window, - MetaRectangle *window_rect, - MetaRectangle *icon_rect, - MetaEffectFinished finished, - gpointer data) -{ - MetaEffect *effect; - - g_return_if_fail (window != NULL); - g_return_if_fail (icon_rect != NULL); - - effect = create_effect (META_EFFECT_UNMINIMIZE, window, finished, data); - - effect->u.minimize.window_rect = *window_rect; - effect->u.minimize.icon_rect = *icon_rect; - - run_handler (effect); -} - -void -meta_effect_run_close (MetaWindow *window, - MetaEffectFinished finished, - gpointer data) -{ - MetaEffect *effect; - - g_return_if_fail (window != NULL); - - effect = create_effect (META_EFFECT_CLOSE, window, - finished, data); - - run_handler (effect); -} - - -/* old ugly minimization effect */ - -#ifdef HAVE_SHAPE -static void -update_wireframe_window (MetaDisplay *display, - Window xwindow, - const MetaRectangle *rect) -{ - XMoveResizeWindow (display->xdisplay, - xwindow, - rect->x, rect->y, - rect->width, rect->height); - -#define OUTLINE_WIDTH 3 - - if (rect->width > OUTLINE_WIDTH * 2 && - rect->height > OUTLINE_WIDTH * 2) - { - XRectangle xrect; - Region inner_xregion; - Region outer_xregion; - - inner_xregion = XCreateRegion (); - outer_xregion = XCreateRegion (); - - xrect.x = 0; - xrect.y = 0; - xrect.width = rect->width; - xrect.height = rect->height; - - XUnionRectWithRegion (&xrect, outer_xregion, outer_xregion); - - xrect.x += OUTLINE_WIDTH; - xrect.y += OUTLINE_WIDTH; - xrect.width -= OUTLINE_WIDTH * 2; - xrect.height -= OUTLINE_WIDTH * 2; - - XUnionRectWithRegion (&xrect, inner_xregion, inner_xregion); - - XSubtractRegion (outer_xregion, inner_xregion, outer_xregion); - - XShapeCombineRegion (display->xdisplay, xwindow, - ShapeBounding, 0, 0, outer_xregion, ShapeSet); - - XDestroyRegion (outer_xregion); - XDestroyRegion (inner_xregion); - } - else - { - /* Unset the shape */ - XShapeCombineMask (display->xdisplay, xwindow, - ShapeBounding, 0, 0, None, ShapeSet); - } -} -#endif - -/** - * A hack to force the X server to synchronize with the - * graphics hardware. - */ -static void -graphics_sync (BoxAnimationContext *context) -{ - XImage *image; - - image = XGetImage (context->screen->display->xdisplay, - context->screen->xroot, - 0, 0, 1, 1, - AllPlanes, ZPixmap); - - XDestroyImage (image); -} - -static gboolean -effects_draw_box_animation_timeout (BoxAnimationContext *context) -{ - double elapsed; - GTimeVal current_time; - MetaRectangle draw_rect; - double fraction; - -#ifndef HAVE_SHAPE - if (!context->first_time) - { - /* Restore the previously drawn background */ - XDrawRectangle (context->screen->display->xdisplay, - context->screen->xroot, - context->gc, - context->last_rect.x, context->last_rect.y, - context->last_rect.width, context->last_rect.height); - } - else - context->first_time = FALSE; - -#endif /* !HAVE_SHAPE */ - - g_get_current_time (¤t_time); - - /* We use milliseconds for all times */ - elapsed = - ((((double)current_time.tv_sec - context->start_time.tv_sec) * G_USEC_PER_SEC + - (current_time.tv_usec - context->start_time.tv_usec))) / 1000.0; - - if (elapsed < 0) - { - /* Probably the system clock was set backwards? */ - meta_warning ("System clock seemed to go backwards?\n"); - elapsed = G_MAXDOUBLE; /* definitely done. */ - } - - if (elapsed > context->millisecs_duration) - { - /* All done */ -#ifdef HAVE_SHAPE - XDestroyWindow (context->screen->display->xdisplay, - context->wireframe_xwindow); -#else - meta_display_ungrab (context->screen->display); - meta_ui_pop_delay_exposes (context->screen->ui); - XFreeGC (context->screen->display->xdisplay, - context->gc); -#endif /* !HAVE_SHAPE */ - - graphics_sync (context); - - g_free (context); - return FALSE; - } - - g_assert (context->millisecs_duration > 0.0); - fraction = elapsed / context->millisecs_duration; - - draw_rect = context->start_rect; - - /* Now add a delta proportional to elapsed time. */ - draw_rect.x += (context->end_rect.x - context->start_rect.x) * fraction; - draw_rect.y += (context->end_rect.y - context->start_rect.y) * fraction; - draw_rect.width += (context->end_rect.width - context->start_rect.width) * fraction; - draw_rect.height += (context->end_rect.height - context->start_rect.height) * fraction; - - /* don't confuse X or gdk-pixbuf with bogus rectangles */ - if (draw_rect.width < 1) - draw_rect.width = 1; - if (draw_rect.height < 1) - draw_rect.height = 1; - -#ifdef HAVE_SHAPE - update_wireframe_window (context->screen->display, - context->wireframe_xwindow, - &draw_rect); -#else - context->last_rect = draw_rect; - - /* Draw the rectangle */ - XDrawRectangle (context->screen->display->xdisplay, - context->screen->xroot, - context->gc, - draw_rect.x, draw_rect.y, - draw_rect.width, draw_rect.height); - -#endif /* !HAVE_SHAPE */ - - /* kick changes onto the server */ - graphics_sync (context); - - return TRUE; -} - -void -draw_box_animation (MetaScreen *screen, - MetaRectangle *initial_rect, - MetaRectangle *destination_rect, - double seconds_duration) -{ - BoxAnimationContext *context; - -#ifdef HAVE_SHAPE - XSetWindowAttributes attrs; -#else - XGCValues gc_values; -#endif - - g_return_if_fail (seconds_duration > 0.0); - - if (g_getenv ("MUTTER_DEBUG_EFFECTS")) - seconds_duration *= 10; /* slow things down */ - - /* Create the animation context */ - context = g_new0 (BoxAnimationContext, 1); - - context->screen = screen; - - context->millisecs_duration = seconds_duration * 1000.0; - - context->start_rect = *initial_rect; - context->end_rect = *destination_rect; - -#ifdef HAVE_SHAPE - - attrs.override_redirect = True; - attrs.background_pixel = BlackPixel (screen->display->xdisplay, - screen->number); - - context->wireframe_xwindow = XCreateWindow (screen->display->xdisplay, - screen->xroot, - initial_rect->x, - initial_rect->y, - initial_rect->width, - initial_rect->height, - 0, - CopyFromParent, - CopyFromParent, - (Visual *)CopyFromParent, - CWOverrideRedirect | CWBackPixel, - &attrs); - - update_wireframe_window (screen->display, - context->wireframe_xwindow, - initial_rect); - - XMapWindow (screen->display->xdisplay, - context->wireframe_xwindow); - -#else /* !HAVE_SHAPE */ - - context->first_time = TRUE; - gc_values.subwindow_mode = IncludeInferiors; - gc_values.function = GXinvert; - - context->gc = XCreateGC (screen->display->xdisplay, - screen->xroot, - GCSubwindowMode | GCFunction, - &gc_values); - - /* Grab the X server to avoid screen dirt */ - meta_display_grab (context->screen->display); - meta_ui_push_delay_exposes (context->screen->ui); -#endif - - /* Do this only after we get the pixbuf from the server, - * so that the animation doesn't get truncated. - */ - g_get_current_time (&context->start_time); - - /* Add the timeout - a short one, could even use an idle, - * but this is maybe more CPU-friendly. - */ - g_timeout_add (15, - (GSourceFunc)effects_draw_box_animation_timeout, - context); - - /* kick changes onto the server */ - XFlush (context->screen->display->xdisplay); -} - -void -meta_effects_begin_wireframe (MetaScreen *screen, - const MetaRectangle *rect, - int width, - int height) -{ - /* Grab the X server to avoid screen dirt */ - meta_display_grab (screen->display); - meta_ui_push_delay_exposes (screen->ui); - - meta_effects_update_wireframe (screen, - NULL, -1, -1, - rect, width, height); -} - -static void -draw_xor_rect (MetaScreen *screen, - const MetaRectangle *rect, - int width, - int height) -{ - /* The lines in the center can't overlap the rectangle or each - * other, or the XOR gets reversed. So we have to draw things - * a bit oddly. - */ - XSegment segments[8]; - MetaRectangle shrunk_rect; - int i; - -#define LINE_WIDTH META_WIREFRAME_XOR_LINE_WIDTH - - /* We don't want the wireframe going outside the window area. - * It makes it harder for the user to position windows and it exposes other - * annoying bugs. - */ - shrunk_rect = *rect; - - shrunk_rect.x += LINE_WIDTH / 2 + LINE_WIDTH % 2; - shrunk_rect.y += LINE_WIDTH / 2 + LINE_WIDTH % 2; - shrunk_rect.width -= LINE_WIDTH + 2 * (LINE_WIDTH % 2); - shrunk_rect.height -= LINE_WIDTH + 2 * (LINE_WIDTH % 2); - - XDrawRectangle (screen->display->xdisplay, - screen->xroot, - screen->root_xor_gc, - shrunk_rect.x, shrunk_rect.y, - shrunk_rect.width, shrunk_rect.height); - - /* Don't put lines inside small rectangles where they won't fit */ - if (shrunk_rect.width < (LINE_WIDTH * 4) || - shrunk_rect.height < (LINE_WIDTH * 4)) - return; - - if ((width >= 0) && (height >= 0)) - { - XGCValues gc_values = { 0 }; - - if (XGetGCValues (screen->display->xdisplay, - screen->root_xor_gc, - GCFont, &gc_values)) - { - char *text; - int text_length; - - XFontStruct *font_struct; - int text_width, text_height; - int box_x, box_y; - int box_width, box_height; - - font_struct = XQueryFont (screen->display->xdisplay, - gc_values.font); - - if (font_struct != NULL) - { - text = g_strdup_printf ("%d x %d", width, height); - text_length = strlen (text); - - text_width = text_length * font_struct->max_bounds.width; - text_height = font_struct->max_bounds.descent + - font_struct->max_bounds.ascent; - - box_width = text_width + 2 * LINE_WIDTH; - box_height = text_height + 2 * LINE_WIDTH; - - - box_x = shrunk_rect.x + (shrunk_rect.width - box_width) / 2; - box_y = shrunk_rect.y + (shrunk_rect.height - box_height) / 2; - - if ((box_width < shrunk_rect.width) && - (box_height < shrunk_rect.height)) - { - XFillRectangle (screen->display->xdisplay, - screen->xroot, - screen->root_xor_gc, - box_x, box_y, - box_width, box_height); - XDrawString (screen->display->xdisplay, - screen->xroot, - screen->root_xor_gc, - box_x + LINE_WIDTH, - box_y + LINE_WIDTH + font_struct->max_bounds.ascent, - text, text_length); - } - - g_free (text); - - XFreeFontInfo (NULL, font_struct, 1); - - if ((box_width + LINE_WIDTH) >= (shrunk_rect.width / 3)) - return; - - if ((box_height + LINE_WIDTH) >= (shrunk_rect.height / 3)) - return; - } - } - } - - /* Two vertical lines at 1/3 and 2/3 */ - segments[0].x1 = shrunk_rect.x + shrunk_rect.width / 3; - segments[0].y1 = shrunk_rect.y + LINE_WIDTH / 2 + LINE_WIDTH % 2; - segments[0].x2 = segments[0].x1; - segments[0].y2 = shrunk_rect.y + shrunk_rect.height - LINE_WIDTH / 2; - - segments[1] = segments[0]; - segments[1].x1 = shrunk_rect.x + (shrunk_rect.width / 3) * 2; - segments[1].x2 = segments[1].x1; - - /* Now make two horizontal lines at 1/3 and 2/3, but not - * overlapping the verticals - */ - - segments[2].x1 = shrunk_rect.x + LINE_WIDTH / 2 + LINE_WIDTH % 2; - segments[2].x2 = segments[0].x1 - LINE_WIDTH / 2; - segments[2].y1 = shrunk_rect.y + shrunk_rect.height / 3; - segments[2].y2 = segments[2].y1; - - segments[3] = segments[2]; - segments[3].x1 = segments[2].x2 + LINE_WIDTH; - segments[3].x2 = segments[1].x1 - LINE_WIDTH / 2; - - segments[4] = segments[3]; - segments[4].x1 = segments[3].x2 + LINE_WIDTH; - segments[4].x2 = shrunk_rect.x + shrunk_rect.width - LINE_WIDTH / 2; - - /* Second horizontal line is just like the first, but - * shifted down - */ - i = 5; - while (i < 8) - { - segments[i] = segments[i - 3]; - segments[i].y1 = shrunk_rect.y + (shrunk_rect.height / 3) * 2; - segments[i].y2 = segments[i].y1; - ++i; - } - - XDrawSegments (screen->display->xdisplay, - screen->xroot, - screen->root_xor_gc, - segments, - G_N_ELEMENTS (segments)); -} - -void -meta_effects_update_wireframe (MetaScreen *screen, - const MetaRectangle *old_rect, - int old_width, - int old_height, - const MetaRectangle *new_rect, - int new_width, - int new_height) -{ - if (old_rect) - draw_xor_rect (screen, old_rect, old_width, old_height); - - if (new_rect) - draw_xor_rect (screen, new_rect, new_width, new_height); - - XFlush (screen->display->xdisplay); -} - -void -meta_effects_end_wireframe (MetaScreen *screen, - const MetaRectangle *old_rect, - int old_width, - int old_height) -{ - meta_effects_update_wireframe (screen, - old_rect, old_width, old_height, - NULL, -1, -1); - - meta_display_ungrab (screen->display); - meta_ui_pop_delay_exposes (screen->ui); -} - -static void -run_default_effect_handler (MetaEffect *effect) -{ - switch (effect->type) - { - case META_EFFECT_MINIMIZE: - draw_box_animation (effect->window->screen, - &(effect->u.minimize.window_rect), - &(effect->u.minimize.icon_rect), - META_MINIMIZE_ANIMATION_LENGTH); - break; - - default: - break; - } -} - -static void -run_handler (MetaEffect *effect) -{ - if (meta_prefs_get_gnome_animations ()) - run_default_effect_handler (effect); - - effect_free (effect); -} diff --git a/src/core/effects.h b/src/core/effects.h deleted file mode 100644 index 91d09e15d..000000000 --- a/src/core/effects.h +++ /dev/null @@ -1,170 +0,0 @@ -/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ - -/** - * \file effects.h "Special effects" other than compositor effects. - * - * Before we had a serious compositor, we supported swooping - * rectangles for minimising and so on. These are still supported - * today, even when the compositor is enabled. The file contains two - * parts: - * - * 1) A set of functions, each of which implements a special effect. - * (Only the minimize function does anything interesting; we should - * probably get rid of the rest.) - * - * 2) A set of functions for moving a highlighted wireframe box around - * the screen, optionally with height and width shown in the middle. - * This is used for moving and resizing when reduced_resources is set. - * - * There was formerly a system which allowed callers to drop in their - * own handlers for various things; it was never used (people who want - * their own handlers can just modify this file, after all) and it added - * a good deal of extra complexity, so it has been removed. If you want it, - * it can be found in svn r3769. - */ - -/* - * Copyright (C) 2001 Anders Carlsson, Havoc Pennington - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - * 02111-1307, USA. - */ - -#ifndef META_EFFECTS_H -#define META_EFFECTS_H - -#include "util.h" -#include "screen-private.h" - -typedef enum -{ - META_EFFECT_MINIMIZE, - META_EFFECT_UNMINIMIZE, - META_EFFECT_FOCUS, - META_EFFECT_CLOSE, - META_NUM_EFFECTS -} MetaEffectType; - -/** - * A callback which will be called when the effect has finished. - */ -typedef void (* MetaEffectFinished) (gpointer data); - -/** - * Performs the minimize effect. - * - * \param window The window we're moving - * \param window_rect Its current state - * \param target Where it should end up - * \param finished Callback for when it's finished - * \param data Data for callback - */ -void meta_effect_run_minimize (MetaWindow *window, - MetaRectangle *window_rect, - MetaRectangle *target, - MetaEffectFinished finished, - gpointer data); - -/** - * Performs the unminimize effect. There is no such effect. - * FIXME: delete this. - * - * \param window The window we're moving - * \param icon_rect Its current state - * \param window_rect Where it should end up - * \param finished Callback for when it's finished - * \param data Data for callback - */ -void meta_effect_run_unminimize (MetaWindow *window, - MetaRectangle *window_rect, - MetaRectangle *icon_rect, - MetaEffectFinished finished, - gpointer data); - -/** - * Performs the close effect. There is no such effect. - * FIXME: delete this. - * - * \param window The window we're moving - * \param finished Callback for when it's finished - * \param data Data for callback - */ -void meta_effect_run_close (MetaWindow *window, - MetaEffectFinished finished, - gpointer data); - -/** - * Performs the focus effect. There is no such effect. - * FIXME: delete this. - * - * \param window The window we're moving - * \param finished Callback for when it's finished - * \param data Data for callback - */ -void meta_effect_run_focus (MetaWindow *window, - MetaEffectFinished finished, - gpointer data); - -/** - * Grabs the server and paints a wireframe rectangle on the screen. - * Since this involves starting a grab, please be considerate of other - * users and don't keep the grab for long. You may move the wireframe - * around using meta_effects_update_wireframe() and remove it, and undo - * the grab, using meta_effects_end_wireframe(). - * - * \param screen The screen to draw the rectangle on. - * \param rect The size of the rectangle to draw. - * \param width The width to display in the middle (or 0 not to) - * \param height The width to display in the middle (or 0 not to) - */ -void meta_effects_begin_wireframe (MetaScreen *screen, - const MetaRectangle *rect, - int width, - int height); - -/** - * Moves a wireframe rectangle around after its creation by - * meta_effects_begin_wireframe(). (Perhaps we ought to remember the old - * positions and not require people to pass them in?) - * - * \param old_rect Where the rectangle is now - * \param old_width The width that was displayed on it (or 0 if there wasn't) - * \param old_height The height that was displayed on it (or 0 if there wasn't) - * \param new_rect Where the rectangle is going - * \param new_width The width that will be displayed on it (or 0 not to) - * \param new_height The height that will be displayed on it (or 0 not to) - */ -void meta_effects_update_wireframe (MetaScreen *screen, - const MetaRectangle *old_rect, - int old_width, - int old_height, - const MetaRectangle *new_rect, - int new_width, - int new_height); - -/** - * Removes a wireframe rectangle from the screen and ends the grab started by - * meta_effects_begin_wireframe(). - * - * \param old_rect Where the rectangle is now - * \param old_width The width that was displayed on it (or 0 if there wasn't) - * \param old_height The height that was displayed on it (or 0 if there wasn't) - */ -void meta_effects_end_wireframe (MetaScreen *screen, - const MetaRectangle *old_rect, - int width, - int height); - -#endif /* META_EFFECTS_H */ diff --git a/src/core/keybindings.c b/src/core/keybindings.c index 522f663e7..d89620807 100644 --- a/src/core/keybindings.c +++ b/src/core/keybindings.c @@ -35,7 +35,6 @@ #include "frame-private.h" #include "place.h" #include "prefs.h" -#include "effects.h" #include "util.h" #include @@ -1447,23 +1446,19 @@ process_mouse_move_resize_grab (MetaDisplay *display, /* End move or resize and restore to original state. If the * window was a maximized window that had been "shaken loose" we * need to remaximize it. In normal cases, we need to do a - * moveresize now to get the position back to the original. In - * wireframe mode, we just need to set grab_was_cancelled to tru - * to avoid avoid moveresizing to the position of the wireframe. + * moveresize now to get the position back to the original. */ if (window->shaken_loose) meta_window_maximize (window, META_MAXIMIZE_HORIZONTAL | META_MAXIMIZE_VERTICAL); - else if (!display->grab_wireframe_active) + else meta_window_move_resize (display->grab_window, TRUE, display->grab_initial_window_pos.x, display->grab_initial_window_pos.y, display->grab_initial_window_pos.width, display->grab_initial_window_pos.height); - else - display->grab_was_cancelled = TRUE; /* End grab */ return FALSE; @@ -1494,15 +1489,7 @@ process_keyboard_move_grab (MetaDisplay *display, if (is_modifier (display, event->xkey.keycode)) return TRUE; - if (display->grab_wireframe_active) - { - x = display->grab_wireframe_rect.x; - y = display->grab_wireframe_rect.y; - } - else - { - meta_window_get_position (window, &x, &y); - } + meta_window_get_position (window, &x, &y); smart_snap = (event->xkey.state & ShiftMask) != 0; @@ -1521,23 +1508,19 @@ process_keyboard_move_grab (MetaDisplay *display, /* End move and restore to original state. If the window was a * maximized window that had been "shaken loose" we need to * remaximize it. In normal cases, we need to do a moveresize - * now to get the position back to the original. In wireframe - * mode, we just need to set grab_was_cancelled to tru to avoid - * avoid moveresizing to the position of the wireframe. + * now to get the position back to the original. */ if (window->shaken_loose) meta_window_maximize (window, META_MAXIMIZE_HORIZONTAL | META_MAXIMIZE_VERTICAL); - else if (!display->grab_wireframe_active) + else meta_window_move_resize (display->grab_window, TRUE, display->grab_initial_window_pos.x, display->grab_initial_window_pos.y, display->grab_initial_window_pos.width, display->grab_initial_window_pos.height); - else - display->grab_was_cancelled = TRUE; } /* When moving by increments, we still snap to edges if the move @@ -1588,10 +1571,7 @@ process_keyboard_move_grab (MetaDisplay *display, "Computed new window location %d,%d due to keypress\n", x, y); - if (display->grab_wireframe_active) - old_rect = display->grab_wireframe_rect; - else - meta_window_get_client_root_coords (window, &old_rect); + meta_window_get_client_root_coords (window, &old_rect); meta_window_edge_resistance_for_move (window, old_rect.x, @@ -1602,17 +1582,7 @@ process_keyboard_move_grab (MetaDisplay *display, smart_snap, TRUE); - if (display->grab_wireframe_active) - { - meta_window_update_wireframe (window, x, y, - display->grab_wireframe_rect.width, - display->grab_wireframe_rect.height); - } - else - { - meta_window_move (window, TRUE, x, y); - } - + meta_window_move (window, TRUE, x, y); meta_window_update_keyboard_move (window); } @@ -1767,21 +1737,13 @@ process_keyboard_resize_grab (MetaDisplay *display, if (keysym == XK_Escape) { - /* End resize and restore to original state. If not in - * wireframe mode, we need to do a moveresize now to get the - * position back to the original. If we are in wireframe mode, - * we need to avoid moveresizing to the position of the - * wireframe. - */ - if (!display->grab_wireframe_active) - meta_window_move_resize (display->grab_window, - TRUE, - display->grab_initial_window_pos.x, - display->grab_initial_window_pos.y, - display->grab_initial_window_pos.width, - display->grab_initial_window_pos.height); - else - display->grab_was_cancelled = TRUE; + /* End resize and restore to original state. */ + meta_window_move_resize (display->grab_window, + TRUE, + display->grab_initial_window_pos.x, + display->grab_initial_window_pos.y, + display->grab_initial_window_pos.width, + display->grab_initial_window_pos.height); return FALSE; } @@ -1790,16 +1752,8 @@ process_keyboard_resize_grab (MetaDisplay *display, event, keysym)) return TRUE; - if (display->grab_wireframe_active) - { - width = display->grab_wireframe_rect.width; - height = display->grab_wireframe_rect.height; - } - else - { - width = window->rect.width; - height = window->rect.height; - } + width = window->rect.width; + height = window->rect.height; gravity = meta_resize_gravity_from_grab_op (display->grab_op); @@ -1964,10 +1918,7 @@ process_keyboard_resize_grab (MetaDisplay *display, "%dx%d, gravity %s\n", width, height, meta_gravity_to_string (gravity)); - if (display->grab_wireframe_active) - old_rect = display->grab_wireframe_rect; - else - old_rect = window->rect; /* Don't actually care about x,y */ + old_rect = window->rect; /* Don't actually care about x,y */ /* Do any edge resistance/snapping */ meta_window_edge_resistance_for_resize (window, @@ -1980,32 +1931,16 @@ process_keyboard_resize_grab (MetaDisplay *display, smart_snap, TRUE); - if (display->grab_wireframe_active) - { - MetaRectangle new_position; - meta_rectangle_resize_with_gravity (&display->grab_wireframe_rect, - &new_position, - gravity, - width, - height); - meta_window_update_wireframe (window, - new_position.x, - new_position.y, - new_position.width, - new_position.height); - } - else - { - /* We don't need to update unless the specified width and height - * are actually different from what we had before. - */ - if (window->rect.width != width || window->rect.height != height) - meta_window_resize_with_gravity (window, - TRUE, - width, - height, - gravity); - } + /* We don't need to update unless the specified width and height + * are actually different from what we had before. + */ + if (window->rect.width != width || window->rect.height != height) + meta_window_resize_with_gravity (window, + TRUE, + width, + height, + gravity); + meta_window_update_keyboard_resize (window, FALSE); } diff --git a/src/core/prefs.c b/src/core/prefs.c index 0b9e82af4..a8fd3fe8c 100644 --- a/src/core/prefs.c +++ b/src/core/prefs.c @@ -94,7 +94,6 @@ static gboolean auto_raise = FALSE; static gboolean auto_raise_delay = 500; static gboolean provide_visual_bell = FALSE; static gboolean bell_is_audible = TRUE; -static gboolean reduced_resources = FALSE; static gboolean gnome_accessibility = FALSE; static gboolean gnome_animations = TRUE; static char *cursor_theme = NULL; @@ -397,11 +396,6 @@ static MetaBoolPreference preferences_bool[] = &bell_is_audible, /* FIXME: change the name: it's confusing */ FALSE, }, - { "/apps/metacity/general/reduced_resources", - META_PREF_REDUCED_RESOURCES, - &reduced_resources, - FALSE, - }, { "/desktop/gnome/interface/accessibility", META_PREF_GNOME_ACCESSIBILITY, &gnome_accessibility, @@ -1788,9 +1782,6 @@ meta_preference_to_string (MetaPreference pref) case META_PREF_VISUAL_BELL_TYPE: return "VISUAL_BELL_TYPE"; - case META_PREF_REDUCED_RESOURCES: - return "REDUCED_RESOURCES"; - case META_PREF_GNOME_ACCESSIBILITY: return "GNOME_ACCESSIBILTY"; @@ -2710,12 +2701,6 @@ meta_prefs_get_auto_raise_delay (void) return auto_raise_delay; } -gboolean -meta_prefs_get_reduced_resources (void) -{ - return reduced_resources; -} - gboolean meta_prefs_get_gnome_accessibility () { diff --git a/src/core/window-private.h b/src/core/window-private.h index a2aa4d449..467b6b98c 100644 --- a/src/core/window-private.h +++ b/src/core/window-private.h @@ -479,16 +479,6 @@ void meta_window_get_geometry (MetaWindow *window, int *y, int *width, int *height); -void meta_window_get_xor_rect (MetaWindow *window, - const MetaRectangle *grab_wireframe_rect, - MetaRectangle *xor_rect); -void meta_window_begin_wireframe (MetaWindow *window); -void meta_window_update_wireframe (MetaWindow *window, - int x, - int y, - int width, - int height); -void meta_window_end_wireframe (MetaWindow *window); void meta_window_kill (MetaWindow *window); void meta_window_focus (MetaWindow *window, diff --git a/src/core/window.c b/src/core/window.c index d290e4424..cddf73235 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -36,7 +36,6 @@ #include "ui.h" #include "place.h" #include "session.h" -#include "effects.h" #include "prefs.h" #include "resizepopup.h" #include "xprops.h" @@ -44,7 +43,6 @@ #include "window-props.h" #include "constraints.h" #include "compositor.h" -#include "effects.h" #include #include @@ -1602,14 +1600,6 @@ meta_window_showing_on_its_workspace (MetaWindow *window) showing = FALSE; } -#if 0 - /* 4. See if we're drawing wireframe - */ - if (window->display->grab_window == window && - window->display->grab_wireframe_active) - showing = FALSE; -#endif - return showing; } @@ -1696,7 +1686,7 @@ implement_showing (MetaWindow *window, * be minimized, and we are on the current workspace. */ if (on_workspace && window->minimized && window->mapped && - !window->hidden && !meta_prefs_get_reduced_resources ()) + !window->hidden) { MetaRectangle icon_rect, window_rect; gboolean result; @@ -1717,20 +1707,11 @@ implement_showing (MetaWindow *window, meta_window_get_outer_rect (window, &window_rect); - if (window->display->compositor) - { - meta_compositor_minimize_window (window->display->compositor, + meta_compositor_minimize_window (window->display->compositor, window, &window_rect, &icon_rect); finish_minimize (window); - } - else - meta_effect_run_minimize (window, - &window_rect, - &icon_rect, - finish_minimize, - window); } else { @@ -2572,11 +2553,6 @@ meta_window_show (MetaWindow *window) window, &window_rect, &icon_rect); - else - meta_effect_run_unminimize (window, - &window_rect, - &icon_rect, - NULL, NULL); } else { @@ -3085,11 +3061,6 @@ meta_window_unmaximize (MetaWindow *window, target_rect.height); } - if (window->display->grab_wireframe_active) - { - window->display->grab_wireframe_rect = target_rect; - } - recalc_window_features (window); set_net_wm_state (window); } @@ -4031,10 +4002,7 @@ meta_window_move_resize_internal (MetaWindow *window, meta_topic (META_DEBUG_GEOMETRY, "Size/position not modified\n"); } - if (window->display->grab_wireframe_active) - meta_window_update_wireframe (window, root_x_nw, root_y_nw, w, h); - else - meta_window_refresh_resize_popup (window); + meta_window_refresh_resize_popup (window); /* Invariants leaving this function are: * a) window->rect and frame->rect reflect the actual @@ -4337,120 +4305,6 @@ meta_window_get_outer_rect (const MetaWindow *window, *rect = window->rect; } -void -meta_window_get_xor_rect (MetaWindow *window, - const MetaRectangle *grab_wireframe_rect, - MetaRectangle *xor_rect) -{ - if (window->frame) - { - xor_rect->x = grab_wireframe_rect->x - window->frame->child_x; - xor_rect->y = grab_wireframe_rect->y - window->frame->child_y; - xor_rect->width = grab_wireframe_rect->width + window->frame->child_x + window->frame->right_width; - - if (window->shaded) - xor_rect->height = window->frame->child_y; - else - xor_rect->height = grab_wireframe_rect->height + window->frame->child_y + window->frame->bottom_height; - } - else - *xor_rect = *grab_wireframe_rect; -} - -/* Figure out the numbers that show up in the - * resize popup when in reduced resources mode. - */ -static void -meta_window_get_wireframe_geometry (MetaWindow *window, - int *width, - int *height) -{ - if (!window->display->grab_wireframe_active) - return; - - if ((width == NULL) || (height == NULL)) - return; - - if ((window->display->grab_window->size_hints.width_inc <= 1) || - (window->display->grab_window->size_hints.height_inc <= 1)) - { - *width = -1; - *height = -1; - return; - } - - *width = window->display->grab_wireframe_rect.width - - window->display->grab_window->size_hints.base_width; - *width /= window->display->grab_window->size_hints.width_inc; - - *height = window->display->grab_wireframe_rect.height - - window->display->grab_window->size_hints.base_height; - *height /= window->display->grab_window->size_hints.height_inc; -} - -/* XXX META_EFFECT_ALT_TAB, well, this and others */ -void -meta_window_begin_wireframe (MetaWindow *window) -{ - - MetaRectangle new_xor; - int display_width, display_height; - - meta_window_get_client_root_coords (window, - &window->display->grab_wireframe_rect); - - meta_window_get_xor_rect (window, &window->display->grab_wireframe_rect, - &new_xor); - meta_window_get_wireframe_geometry (window, &display_width, &display_height); - - meta_effects_begin_wireframe (window->screen, - &new_xor, display_width, display_height); - - window->display->grab_wireframe_last_xor_rect = new_xor; - window->display->grab_wireframe_last_display_width = display_width; - window->display->grab_wireframe_last_display_height = display_height; -} - -void -meta_window_update_wireframe (MetaWindow *window, - int x, - int y, - int width, - int height) -{ - - MetaRectangle new_xor; - int display_width, display_height; - - window->display->grab_wireframe_rect.x = x; - window->display->grab_wireframe_rect.y = y; - window->display->grab_wireframe_rect.width = width; - window->display->grab_wireframe_rect.height = height; - - meta_window_get_xor_rect (window, &window->display->grab_wireframe_rect, - &new_xor); - meta_window_get_wireframe_geometry (window, &display_width, &display_height); - - meta_effects_update_wireframe (window->screen, - &window->display->grab_wireframe_last_xor_rect, - window->display->grab_wireframe_last_display_width, - window->display->grab_wireframe_last_display_height, - &new_xor, display_width, display_height); - - window->display->grab_wireframe_last_xor_rect = new_xor; - window->display->grab_wireframe_last_display_width = display_width; - window->display->grab_wireframe_last_display_height = display_height; -} - -void -meta_window_end_wireframe (MetaWindow *window) -{ - meta_effects_end_wireframe (window->display->grab_window->screen, - &window->display->grab_wireframe_last_xor_rect, - window->display->grab_wireframe_last_display_width, - window->display->grab_wireframe_last_display_height); -} - const char* meta_window_get_startup_id (MetaWindow *window) { @@ -4599,7 +4453,7 @@ meta_window_focus (MetaWindow *window, if (window->wm_state_demands_attention) meta_window_unset_demands_attention(window); - meta_effect_run_focus(window, NULL, NULL); +/* meta_effect_run_focus(window, NULL, NULL); */ } static void @@ -7527,10 +7381,7 @@ update_move (MetaWindow *window, } } - if (display->grab_wireframe_active) - old = display->grab_wireframe_rect; - else - meta_window_get_client_root_coords (window, &old); + meta_window_get_client_root_coords (window, &old); /* Don't allow movement in the maximized directions */ if (window->maximized_horizontally) @@ -7548,12 +7399,7 @@ update_move (MetaWindow *window, snap, FALSE); - if (display->grab_wireframe_active) - meta_window_update_wireframe (window, new_x, new_y, - display->grab_wireframe_rect.width, - display->grab_wireframe_rect.height); - else - meta_window_move (window, TRUE, new_x, new_y); + meta_window_move (window, TRUE, new_x, new_y); } static gboolean @@ -7579,7 +7425,6 @@ update_resize (MetaWindow *window, int new_w, new_h; int gravity; MetaRectangle old; - int new_x, new_y; double remaining; window->display->grab_latest_motion_x = x; @@ -7598,10 +7443,6 @@ update_resize (MetaWindow *window, if (dx == 0 && dy == 0) return; - /* FIXME this is only used in wireframe mode */ - new_x = window->display->grab_anchor_window_pos.x; - new_y = window->display->grab_anchor_window_pos.y; - if (window->display->grab_op == META_GRAB_OP_KEYBOARD_RESIZING_UNKNOWN) { if ((dx > 0) && (dy > 0)) @@ -7646,11 +7487,6 @@ update_resize (MetaWindow *window, } } - /* FIXME: This stupidity only needed because of wireframe mode and - * the fact that wireframe isn't making use of - * meta_rectangle_resize_with_gravity(). If we were to use that, we - * could just increment new_w and new_h by dx and dy in all cases. - */ switch (window->display->grab_op) { case META_GRAB_OP_RESIZING_SE: @@ -7669,12 +7505,10 @@ update_resize (MetaWindow *window, case META_GRAB_OP_KEYBOARD_RESIZING_SW: case META_GRAB_OP_KEYBOARD_RESIZING_W: new_w -= dx; - new_x += dx; break; - - default: - break; - } + default: + break; + } switch (window->display->grab_op) { @@ -7694,7 +7528,6 @@ update_resize (MetaWindow *window, case META_GRAB_OP_KEYBOARD_RESIZING_NE: case META_GRAB_OP_KEYBOARD_RESIZING_NW: new_h -= dy; - new_y += dy; break; default: break; @@ -7727,10 +7560,7 @@ update_resize (MetaWindow *window, window->display->grab_resize_timeout_id = 0; } - if (window->display->grab_wireframe_active) - old = window->display->grab_wireframe_rect; - else - old = window->rect; /* Don't actually care about x,y */ + old = window->rect; /* Don't actually care about x,y */ /* One sided resizing ought to actually be one-sided, despite the fact that * aspect ratio windows don't interact nicely with the above stuff. So, @@ -7767,28 +7597,11 @@ update_resize (MetaWindow *window, snap, FALSE); - if (window->display->grab_wireframe_active) - { - if ((new_x + new_w <= new_x) || (new_y + new_h <= new_y)) - return; - - /* FIXME This is crap. For example, the wireframe isn't - * constrained in the way that a real resize would be. An - * obvious elegant solution is to unmap the window during - * wireframe, but still resize it; however, that probably - * confuses broken clients that have problems with opaque - * resize, they probably don't track their visibility. - */ - meta_window_update_wireframe (window, new_x, new_y, new_w, new_h); - } - else - { - /* We don't need to update unless the specified width and height - * are actually different from what we had before. - */ - if (old.width != new_w || old.height != new_h) - meta_window_resize_with_gravity (window, TRUE, new_w, new_h, gravity); - } + /* We don't need to update unless the specified width and height + * are actually different from what we had before. + */ + if (old.width != new_w || old.height != new_h) + meta_window_resize_with_gravity (window, TRUE, new_w, new_h, gravity); /* Store the latest resize time, if we actually resized. */ if (window->rect.width != old.width || window->rect.height != old.height) @@ -8121,42 +7934,6 @@ meta_window_refresh_resize_popup (MetaWindow *window) if (window->display->grab_window != window) return; - /* We shouldn't ever get called when the wireframe is active - * because that's handled by a different code path in effects.c - */ - if (window->display->grab_wireframe_active) - { - meta_topic (META_DEBUG_WINDOW_OPS, - "refresh_resize_popup called when wireframe active\n"); - return; - } - - switch (window->display->grab_op) - { - case META_GRAB_OP_RESIZING_SE: - case META_GRAB_OP_RESIZING_S: - case META_GRAB_OP_RESIZING_SW: - case META_GRAB_OP_RESIZING_N: - case META_GRAB_OP_RESIZING_NE: - case META_GRAB_OP_RESIZING_NW: - case META_GRAB_OP_RESIZING_W: - case META_GRAB_OP_RESIZING_E: - case META_GRAB_OP_KEYBOARD_RESIZING_UNKNOWN: - case META_GRAB_OP_KEYBOARD_RESIZING_S: - case META_GRAB_OP_KEYBOARD_RESIZING_N: - case META_GRAB_OP_KEYBOARD_RESIZING_W: - case META_GRAB_OP_KEYBOARD_RESIZING_E: - case META_GRAB_OP_KEYBOARD_RESIZING_SE: - case META_GRAB_OP_KEYBOARD_RESIZING_NE: - case META_GRAB_OP_KEYBOARD_RESIZING_SW: - case META_GRAB_OP_KEYBOARD_RESIZING_NW: - break; - - default: - /* Not resizing */ - return; - } - if (window->display->grab_resize_popup == NULL) { if (window->size_hints.width_inc > 1 || @@ -8170,10 +7947,7 @@ meta_window_refresh_resize_popup (MetaWindow *window) { MetaRectangle rect; - if (window->display->grab_wireframe_active) - rect = window->display->grab_wireframe_rect; - else - meta_window_get_client_root_coords (window, &rect); + meta_window_get_client_root_coords (window, &rect); meta_ui_resize_popup_set (window->display->grab_resize_popup, rect, @@ -8314,14 +8088,7 @@ warp_grab_pointer (MetaWindow *window, /* We may not have done begin_grab_op yet, i.e. may not be in a grab */ - if (window == display->grab_window && display->grab_wireframe_active) - { - meta_window_get_xor_rect (window, &display->grab_wireframe_rect, &rect); - } - else - { - meta_window_get_outer_rect (window, &rect); - } + meta_window_get_outer_rect (window, &rect); switch (grab_op) { @@ -8396,11 +8163,8 @@ warp_grab_pointer (MetaWindow *window, display->grab_anchor_root_y = *y; display->grab_latest_motion_x = *x; display->grab_latest_motion_y = *y; - if (display->grab_wireframe_active) - display->grab_anchor_window_pos = display->grab_wireframe_rect; - else - meta_window_get_client_root_coords (window, - &display->grab_anchor_window_pos); + meta_window_get_client_root_coords (window, + &display->grab_anchor_window_pos); XWarpPointer (display->xdisplay, None, diff --git a/src/include/prefs.h b/src/include/prefs.h index 82bd5b752..aaaa8fe8e 100644 --- a/src/include/prefs.h +++ b/src/include/prefs.h @@ -53,7 +53,6 @@ typedef enum META_PREF_VISUAL_BELL, META_PREF_AUDIBLE_BELL, META_PREF_VISUAL_BELL_TYPE, - META_PREF_REDUCED_RESOURCES, META_PREF_GNOME_ACCESSIBILITY, META_PREF_GNOME_ANIMATIONS, META_PREF_CURSOR_THEME, @@ -90,7 +89,6 @@ gboolean meta_prefs_get_application_based (void); gboolean meta_prefs_get_disable_workarounds (void); gboolean meta_prefs_get_auto_raise (void); int meta_prefs_get_auto_raise_delay (void); -gboolean meta_prefs_get_reduced_resources (void); gboolean meta_prefs_get_gnome_accessibility (void); gboolean meta_prefs_get_gnome_animations (void);