Remove trailing whitespace

This commit is contained in:
Jasper St. Pierre 2014-05-02 09:34:02 -04:00
parent 730ed6f75f
commit 25a16c3379
87 changed files with 2061 additions and 2061 deletions

View File

@ -179,7 +179,7 @@ decode_display_parameters (const uchar *edid, MonitorInfo *info)
else if (edid[0x16] == 0)
{
info->width_mm = -1;
info->height_mm = -1;
info->height_mm = -1;
info->aspect_ratio = 100.0 / (edid[0x15] + 99);
}
else if (edid[0x15] == 0)
@ -267,7 +267,7 @@ decode_color_characteristics (const uchar *edid, MonitorInfo *info)
static int
decode_established_timings (const uchar *edid, MonitorInfo *info)
{
static const Timing established[][8] =
static const Timing established[][8] =
{
{
{ 800, 600, 60 },

View File

@ -1,9 +1,9 @@
/* edid.h
*
* Copyright 2007, 2008, Red Hat, Inc.
*
*
* This file is part of the Gnome Library.
*
*
* The Gnome Library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
@ -13,12 +13,12 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
*
* You should have received a copy of the GNU Library General Public
* License along with the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*
*
* Author: Soren Sandmann <sandmann@redhat.com>
*/
@ -177,7 +177,7 @@ struct MonitorInfo
DetailedTiming detailed_timings[4]; /* If monitor has a preferred
* mode, it is the first one
* (whether it has, is
* determined by the
* determined by the
* preferred_timing_includes
* bit.
*/

View File

@ -53,7 +53,7 @@ struct _MetaCursorTracker {
MetaCursorReference *grab_cursor;
/* Wayland clients can set a NULL buffer as their cursor
/* Wayland clients can set a NULL buffer as their cursor
* explicitly, which means that we shouldn't display anything.
* So, we can't simply store a NULL in window_cursor to
* determine an unset window cursor; we need an extra boolean.

View File

@ -1,8 +1,8 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright 2013 Red Hat, Inc.
*
*
* 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
@ -12,7 +12,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*

View File

@ -1,7 +1,7 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2013 Red Hat Inc.
*
*
* 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
@ -11,7 +11,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,8 +1,8 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright 2013 Red Hat, Inc.
*
*
* 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
@ -12,7 +12,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*

View File

@ -1,8 +1,8 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright 2013 Red Hat, Inc.
*
*
* 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
@ -12,7 +12,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*

View File

@ -1,6 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001, 2002 Havoc Pennington
* Copyright (C) 2002, 2003 Red Hat Inc.
* Some ICCCM manager selection code derived from fvwm2,
@ -8,7 +8,7 @@
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
* Copyright (C) 2013 Red Hat Inc.
*
*
* 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
@ -18,7 +18,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -570,7 +570,7 @@ is_all_whitespace (const char *text,
gsize text_len)
{
gsize i;
for (i = 0; i < text_len; i++)
if (!g_ascii_isspace (text[i]))
return FALSE;

View File

@ -1,6 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001, 2002 Havoc Pennington
* Copyright (C) 2002, 2003 Red Hat Inc.
* Some ICCCM manager selection code derived from fvwm2,
@ -8,7 +8,7 @@
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
* Copyright (C) 2013 Red Hat Inc.
*
*
* 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
@ -18,7 +18,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -852,7 +852,7 @@ meta_monitor_manager_handle_apply_configuration (MetaDBusDisplayConfig *skeleto
/* If we were in progress of making a persistent change and we see a
new request, it's likely that the old one failed in some way, so
don't save it, but also don't queue for restoring it.
*/
*/
if (manager->persistent_timeout_id && persistent)
{
g_source_remove (manager->persistent_timeout_id);

View File

@ -12,12 +12,12 @@
* at MetaScreen instead.
*/
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
* Copyright (C) 2013 Red Hat Inc.
*
*
* 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
@ -27,7 +27,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,8 +1,8 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2013 Red Hat Inc.
*
*
* 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
@ -12,7 +12,7 @@
* 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

View File

@ -108,7 +108,7 @@ weston_launch_allowed(struct weston_launch *wl)
}
free(session);
}
return 0;
}
@ -117,7 +117,7 @@ setup_launcher_socket(struct weston_launch *wl)
{
if (socketpair(AF_LOCAL, SOCK_DGRAM, 0, wl->sock) < 0)
error(1, errno, "socketpair failed");
fcntl(wl->sock[0], F_SETFD, O_CLOEXEC);
return 0;
@ -640,7 +640,7 @@ main(int argc, char *argv[])
{ "verbose", no_argument, NULL, 'v' },
{ "help", no_argument, NULL, 'h' },
{ 0, 0, NULL, 0 }
};
};
memset(&wl, 0, sizeof wl);
wl.drm_fd = -1;

View File

@ -1,6 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001, 2002 Havoc Pennington
* Copyright (C) 2002, 2003 Red Hat Inc.
* Some ICCCM manager selection code derived from fvwm2,
@ -8,7 +8,7 @@
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
* Copyright (C) 2013 Red Hat Inc.
*
*
* 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
@ -18,7 +18,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -272,7 +272,7 @@ get_edid_property (Display *dpy,
}
XFree (prop);
return result;
}

View File

@ -555,10 +555,10 @@ meta_compositor_manage (MetaCompositor *compositor)
meta_empty_stage_input_region (screen);
/* Make sure there isn't any left-over output shape on the
/* Make sure there isn't any left-over output shape on the
* overlay window by setting the whole screen to be an
* output region.
*
*
* Note: there doesn't seem to be any real chance of that
* because the X server will destroy the overlay window
* when the last client using it exits.
@ -746,9 +746,9 @@ meta_compositor_window_surface_changed (MetaCompositor *compositor,
/**
* meta_compositor_process_event: (skip)
* @compositor:
* @event:
* @window:
* @compositor:
* @event:
* @window:
*
*/
gboolean

View File

@ -121,7 +121,7 @@ meta_region_builder_finish (MetaRegionBuilder *builder)
return result;
}
/* MetaRegionIterator */
@ -171,7 +171,7 @@ meta_region_iterator_next (MetaRegionIterator *iter)
iter->line_end = TRUE;
}
}
static void
add_expanded_rect (MetaRegionBuilder *builder,
int x,

View File

@ -2,10 +2,10 @@
/* Mutter visual bell */
/*
/*
* Copyright (C) 2002 Sun Microsystems Inc.
* Copyright (C) 2005, 2006 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -71,7 +71,7 @@
*/
#ifdef HAVE_XKB
static void
bell_flash_fullscreen (MetaDisplay *display,
bell_flash_fullscreen (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
{
g_assert (xkb_ev->xkb_type == XkbBellNotify);
@ -96,7 +96,7 @@ bell_flash_fullscreen (MetaDisplay *display,
* Bug: This is the parallel to bell_flash_window_frame(), so it should
* really be called meta_bell_unflash_window_frame().
*/
static gboolean
static gboolean
bell_unflash_frame (gpointer data)
{
MetaFrame *frame = (MetaFrame *) data;
@ -143,12 +143,12 @@ bell_flash_window_frame (MetaWindow *window)
* flashes the screen.
*/
static void
bell_flash_frame (MetaDisplay *display,
bell_flash_frame (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
{
XkbBellNotifyEvent *xkb_bell_event = (XkbBellNotifyEvent *) xkb_ev;
MetaWindow *window;
g_assert (xkb_ev->xkb_type == XkbBellNotify);
window = meta_display_lookup_x_window (display, xkb_bell_event->window);
if (!window && (display->focus_window))
@ -180,10 +180,10 @@ bell_flash_frame (MetaDisplay *display,
* Bug: This should be merged with meta_bell_notify().
*/
static void
bell_visual_notify (MetaDisplay *display,
bell_visual_notify (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
{
switch (meta_prefs_get_visual_bell_type ())
switch (meta_prefs_get_visual_bell_type ())
{
case G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH:
bell_flash_fullscreen (display, xkb_ev);
@ -195,7 +195,7 @@ bell_visual_notify (MetaDisplay *display,
}
void
meta_bell_notify (MetaDisplay *display,
meta_bell_notify (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
{
/* flash something */
@ -271,19 +271,19 @@ meta_bell_init (MetaDisplay *display)
#ifdef HAVE_XKB
int xkb_base_error_type, xkb_opcode;
if (!XkbQueryExtension (display->xdisplay, &xkb_opcode,
&display->xkb_base_event_type,
&xkb_base_error_type,
if (!XkbQueryExtension (display->xdisplay, &xkb_opcode,
&display->xkb_base_event_type,
&xkb_base_error_type,
NULL, NULL))
{
display->xkb_base_event_type = -1;
g_message ("could not find XKB extension.");
return FALSE;
}
else
else
{
unsigned int mask = XkbBellNotifyMask;
gboolean visual_bell_auto_reset = FALSE;
gboolean visual_bell_auto_reset = FALSE;
/* TRUE if and when non-broken version is available */
XkbSelectEvents (display->xdisplay,
XkbUseCoreKbd,
@ -326,6 +326,6 @@ meta_bell_shutdown (MetaDisplay *display)
void
meta_bell_notify_frame_destroy (MetaFrame *frame)
{
if (frame->is_flashing)
if (frame->is_flashing)
g_source_remove_by_funcs_user_data (&g_timeout_funcs, frame);
}

View File

@ -1,8 +1,8 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2002 Sun Microsystems Inc.
*
*
* 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
@ -12,7 +12,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -28,7 +28,7 @@
/**
* meta_bell_notify:
* @display: The display the bell event came in on
* @xkb_ev: The bell event we just received
* @xkb_ev: The bell event we just received
*
* Gives the user some kind of visual bell; in fact, this is our response
* to any kind of bell request, but we set it up so that we only get

View File

@ -2,9 +2,9 @@
/* Simple box operations */
/*
/*
* Copyright (C) 2005, 2006 Elijah Newren
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -43,7 +43,7 @@ typedef enum
* region_to_string: (RECT_LENGTH+strlen(separator_string)) *
* g_list_length (region)
* edge_to_string: EDGE_LENGTH
* edge_list_to_...: (EDGE_LENGTH+strlen(separator_string)) *
* edge_list_to_...: (EDGE_LENGTH+strlen(separator_string)) *
* g_list_length (edge_list)
*/
#define RECT_LENGTH 27
@ -181,7 +181,7 @@ void meta_rectangle_find_linepoint_closest_to_point (double x1, double y1,
/* Return whether an edge overlaps or is adjacent to the rectangle in the
* nonzero-width dimension of the edge.
*/
gboolean meta_rectangle_edge_aligns (const MetaRectangle *rect,
gboolean meta_rectangle_edge_aligns (const MetaRectangle *rect,
const MetaEdge *edge);
/* Compare two edges, so that sorting functions can put a list of edges in

View File

@ -6,14 +6,14 @@
* @Short_Description: Simple box operations
*/
/*
/*
* Copyright (C) 2005, 2006 Elijah Newren
* [meta_rectangle_intersect() is copyright the GTK+ Team according to Havoc,
* see gdkrectangle.c. As far as Havoc knows, he probably wrote
* meta_rectangle_equal(), and I'm guessing it's (C) Red Hat. So...]
* Copyright (C) 1995-2000 GTK+ Team
* Copyright (C) 2002 Red Hat, Inc.
*
*
* 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
@ -23,7 +23,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -69,7 +69,7 @@ meta_rectangle_to_string (const MetaRectangle *rect,
* Should be more than enough space. Note that of this space, the
* trailing \0 will be overwritten for all but the last rectangle.
*/
g_snprintf (output, RECT_LENGTH, "%d,%d +%d,%d",
g_snprintf (output, RECT_LENGTH, "%d,%d +%d,%d",
rect->x, rect->y, rect->width, rect->height);
return output;
@ -96,7 +96,7 @@ meta_rectangle_region_to_string (GList *region,
while (tmp)
{
MetaRectangle *rect = tmp->data;
g_snprintf (rect_string, RECT_LENGTH, "[%d,%d +%d,%d]",
g_snprintf (rect_string, RECT_LENGTH, "[%d,%d +%d,%d]",
rect->x, rect->y, rect->width, rect->height);
cur = g_stpcpy (cur, rect_string);
tmp = tmp->next;
@ -118,7 +118,7 @@ meta_rectangle_edge_to_string (const MetaEdge *edge,
* Plus 2 for parenthesis, 4 for 2 more numbers, 2 more commas, and
* 2 more spaces, for a total of 10 more.
*/
g_snprintf (output, EDGE_LENGTH, "[%d,%d +%d,%d], %2d, %2d",
g_snprintf (output, EDGE_LENGTH, "[%d,%d +%d,%d], %2d, %2d",
edge->rect.x, edge->rect.y, edge->rect.width, edge->rect.height,
edge->side_type, edge->edge_type);
@ -150,7 +150,7 @@ meta_rectangle_edge_list_to_string (GList *edge_list,
{
MetaEdge *edge = tmp->data;
MetaRectangle *rect = &edge->rect;
g_snprintf (rect_string, EDGE_LENGTH, "([%d,%d +%d,%d], %2d, %2d)",
g_snprintf (rect_string, EDGE_LENGTH, "([%d,%d +%d,%d], %2d, %2d)",
rect->x, rect->y, rect->width, rect->height,
edge->side_type, edge->edge_type);
cur = g_stpcpy (cur, rect_string);
@ -210,7 +210,7 @@ meta_rectangle_intersect (const MetaRectangle *src1,
dest_y = MAX (src1->y, src2->y);
dest_w = MIN (src1->x + src1->width, src2->x + src2->width) - dest_x;
dest_h = MIN (src1->y + src1->height, src2->y + src2->height) - dest_y;
if (dest_w > 0 && dest_h > 0)
{
dest->x = dest_x;
@ -320,7 +320,7 @@ gboolean
meta_rectangle_contains_rect (const MetaRectangle *outer_rect,
const MetaRectangle *inner_rect)
{
return
return
inner_rect->x >= outer_rect->x &&
inner_rect->y >= outer_rect->y &&
inner_rect->x + inner_rect->width <= outer_rect->x + outer_rect->width &&
@ -339,7 +339,7 @@ meta_rectangle_resize_with_gravity (const MetaRectangle *old_rect,
* boxes.h has a good comment, but I'm not sure if the below info is also
* helpful on top of that (or whether it has superfluous info).
*/
/* These formulas may look overly simplistic at first but you can work
* everything out with a left_frame_with, right_frame_width,
* border_width, and old and new client area widths (instead of old total
@ -389,7 +389,7 @@ meta_rectangle_resize_with_gravity (const MetaRectangle *old_rect,
break;
}
rect->width = new_width;
/* Next, the y direction */
switch (gravity)
{
@ -629,7 +629,7 @@ meta_rectangle_get_minimal_spanning_set_for_region (
for (strut_iter = all_struts; strut_iter; strut_iter = strut_iter->next)
{
GList *rect_iter;
GList *rect_iter;
MetaRectangle *strut_rect = &((MetaStrut*)strut_iter->data)->rect;
tmp_list = ret;
@ -764,7 +764,7 @@ meta_rectangle_expand_to_avoiding_struts (MetaRectangle *rect,
*/
g_assert ((direction == META_DIRECTION_HORIZONTAL) ^
(direction == META_DIRECTION_VERTICAL ));
if (direction == META_DIRECTION_HORIZONTAL)
{
rect->x = expand_to->x;
@ -776,12 +776,12 @@ meta_rectangle_expand_to_avoiding_struts (MetaRectangle *rect,
rect->height = expand_to->height;
}
/* Run over all struts */
for (strut_iter = all_struts; strut_iter; strut_iter = strut_iter->next)
{
MetaStrut *strut = (MetaStrut*) strut_iter->data;
/* Skip struts that don't overlap */
if (!meta_rectangle_overlap (&strut->rect, rect))
continue;
@ -822,7 +822,7 @@ meta_rectangle_expand_to_avoiding_struts (MetaRectangle *rect,
void
meta_rectangle_free_list_and_elements (GList *filled_list)
{
g_list_foreach (filled_list,
g_list_foreach (filled_list,
(void (*)(gpointer,gpointer))&g_free, /* ew, for ugly */
NULL);
g_list_free (filled_list);
@ -900,20 +900,20 @@ meta_rectangle_clamp_to_fit_into_region (const GList *spanning_rects,
{
MetaRectangle *compare_rect = temp->data;
int maximal_overlap_amount_for_compare;
/* If x is fixed and the entire width of rect doesn't fit in compare,
* skip this rectangle.
*/
if ((fixed_directions & FIXED_DIRECTION_X) &&
(compare_rect->x > rect->x ||
(compare_rect->x > rect->x ||
compare_rect->x + compare_rect->width < rect->x + rect->width))
continue;
/* If y is fixed and the entire height of rect doesn't fit in compare,
* skip this rectangle.
*/
if ((fixed_directions & FIXED_DIRECTION_Y) &&
(compare_rect->y > rect->y ||
(compare_rect->y > rect->y ||
compare_rect->y + compare_rect->height < rect->y + rect->height))
continue;
@ -970,20 +970,20 @@ meta_rectangle_clip_to_region (const GList *spanning_rects,
MetaRectangle *compare_rect = temp->data;
MetaRectangle overlap;
int maximal_overlap_amount_for_compare;
/* If x is fixed and the entire width of rect doesn't fit in compare,
* skip the rectangle.
*/
if ((fixed_directions & FIXED_DIRECTION_X) &&
(compare_rect->x > rect->x ||
(compare_rect->x > rect->x ||
compare_rect->x + compare_rect->width < rect->x + rect->width))
continue;
/* If y is fixed and the entire height of rect doesn't fit in compare,
* skip the rectangle.
*/
if ((fixed_directions & FIXED_DIRECTION_Y) &&
(compare_rect->y > rect->y ||
(compare_rect->y > rect->y ||
compare_rect->y + compare_rect->height < rect->y + rect->height))
continue;
@ -1043,26 +1043,26 @@ meta_rectangle_shove_into_region (const GList *spanning_rects,
/* First, find best rectangle from spanning_rects to which we will shove
* rect into.
*/
for (temp = spanning_rects; temp; temp = temp->next)
{
MetaRectangle *compare_rect = temp->data;
int maximal_overlap_amount_for_compare;
int dist_to_compare;
/* If x is fixed and the entire width of rect doesn't fit in compare,
* skip this rectangle.
*/
if ((fixed_directions & FIXED_DIRECTION_X) &&
(compare_rect->x > rect->x ||
(compare_rect->x > rect->x ||
compare_rect->x + compare_rect->width < rect->x + rect->width))
continue;
/* If y is fixed and the entire height of rect doesn't fit in compare,
* skip this rectangle.
*/
if ((fixed_directions & FIXED_DIRECTION_Y) &&
(compare_rect->y > rect->y ||
(compare_rect->y > rect->y ||
compare_rect->y + compare_rect->height < rect->y + rect->height))
continue;
@ -1218,7 +1218,7 @@ meta_rectangle_edge_aligns (const MetaRectangle *rect, const MetaEdge *edge)
}
static GList*
get_rect_minus_overlap (const GList *rect_in_list,
get_rect_minus_overlap (const GList *rect_in_list,
MetaRectangle *overlap)
{
MetaRectangle *temp;
@ -1263,7 +1263,7 @@ get_rect_minus_overlap (const GList *rect_in_list,
}
static GList*
replace_rect_with_list (GList *old_element,
replace_rect_with_list (GList *old_element,
GList *new_list)
{
GList *ret;
@ -1475,7 +1475,7 @@ rectangle_and_edge_intersection (const MetaRectangle *rect,
overlap->edge_type = -1;
overlap->side_type = -1;
/* Figure out what the intersection is */
/* Figure out what the intersection is */
result->x = MAX (rect->x, rect2->x);
result->y = MAX (rect->y, rect2->y);
result->width = MIN (BOX_RIGHT (*rect), BOX_RIGHT (*rect2)) - result->x;
@ -1546,7 +1546,7 @@ rectangle_and_edge_intersection (const MetaRectangle *rect,
* TOP<->BOTTOM).
*/
static GList*
add_edges (GList *cur_edges,
add_edges (GList *cur_edges,
const MetaRectangle *rect,
gboolean rect_is_internal)
{
@ -1560,23 +1560,23 @@ add_edges (GList *cur_edges,
switch (i)
{
case 0:
temp_edge->side_type =
temp_edge->side_type =
rect_is_internal ? META_SIDE_LEFT : META_SIDE_RIGHT;
temp_edge->rect.width = 0;
break;
case 1:
temp_edge->side_type =
temp_edge->side_type =
rect_is_internal ? META_SIDE_RIGHT : META_SIDE_LEFT;
temp_edge->rect.x += temp_edge->rect.width;
temp_edge->rect.width = 0;
break;
case 2:
temp_edge->side_type =
temp_edge->side_type =
rect_is_internal ? META_SIDE_TOP : META_SIDE_BOTTOM;
temp_edge->rect.height = 0;
break;
case 3:
temp_edge->side_type =
temp_edge->side_type =
rect_is_internal ? META_SIDE_BOTTOM : META_SIDE_TOP;
temp_edge->rect.y += temp_edge->rect.height;
temp_edge->rect.height = 0;
@ -1593,8 +1593,8 @@ add_edges (GList *cur_edges,
* edges to cur_list. Return cur_list when finished.
*/
static GList*
split_edge (GList *cur_list,
const MetaEdge *old_edge,
split_edge (GList *cur_list,
const MetaEdge *old_edge,
const MetaEdge *remove)
{
MetaEdge *temp_edge;
@ -1653,7 +1653,7 @@ split_edge (GList *cur_list,
* if and how rect and edge intersect.
*/
static void
fix_up_edges (MetaRectangle *rect, MetaEdge *edge,
fix_up_edges (MetaRectangle *rect, MetaEdge *edge,
GList **strut_edges, GList **edge_splits,
gboolean *edge_needs_removal)
{
@ -1777,7 +1777,7 @@ meta_rectangle_find_onscreen_edges (const MetaRectangle *basic_rect,
{
GList *ret;
GList *fixed_strut_rects;
GList *edge_iter;
GList *edge_iter;
const GList *strut_rect_iter;
/* The algorithm is basically as follows:
@ -1817,7 +1817,7 @@ meta_rectangle_find_onscreen_edges (const MetaRectangle *basic_rect,
GList *splits_of_cur_edge = NULL;
gboolean edge_needs_removal = FALSE;
fix_up_edges (strut_rect, cur_edge,
fix_up_edges (strut_rect, cur_edge,
&new_strut_edges, &splits_of_cur_edge,
&edge_needs_removal);
@ -1981,7 +1981,7 @@ meta_rectangle_find_nonintersected_monitor_edges (
for (; all_struts; all_struts = all_struts->next)
temp_rects = g_slist_prepend (temp_rects,
&((MetaStrut*)all_struts->data)->rect);
ret = meta_rectangle_remove_intersections_with_boxes_from_edges (ret,
ret = meta_rectangle_remove_intersections_with_boxes_from_edges (ret,
temp_rects);
g_slist_free (temp_rects);

View File

@ -42,7 +42,7 @@
// "constrain_whatever".
// 3) Add your function to the all_constraints and all_constraint_names
// arrays (the latter of which is for debugging purposes)
//
//
// An example constraint function, constrain_whatever:
//
// /* constrain_whatever does the following:
@ -246,7 +246,7 @@ do_all_constraints (MetaWindow *window,
/* Log how the constraint modified the position */
meta_topic (META_DEBUG_GEOMETRY,
"info->current is %d,%d +%d,%d after %s\n",
info->current.x, info->current.y,
info->current.x, info->current.y,
info->current.width, info->current.height,
constraint->name);
}
@ -282,7 +282,7 @@ meta_window_constrain (MetaWindow *window,
new->x, new->y, new->width, new->height);
setup_constraint_info (&info,
window,
window,
flags,
resize_gravity,
orig,
@ -295,7 +295,7 @@ meta_window_constrain (MetaWindow *window,
/* Individually enforce all the high-enough priority constraints */
do_all_constraints (window, &info, priority, !check_only);
/* Check if all high-enough priority constraints are simultaneously
/* Check if all high-enough priority constraints are simultaneously
* satisfied
*/
satisfied = do_all_constraints (window, &info, priority, check_only);
@ -398,10 +398,10 @@ setup_constraint_info (ConstraintInfo *info,
}
cur_workspace = window->screen->active_workspace;
info->usable_screen_region =
info->usable_screen_region =
meta_workspace_get_onscreen_region (cur_workspace);
info->usable_monitor_region =
meta_workspace_get_onmonitor_region (cur_workspace,
info->usable_monitor_region =
meta_workspace_get_onmonitor_region (cur_workspace,
monitor_info->number);
/* Workaround braindead legacy apps that don't know how to
@ -441,7 +441,7 @@ setup_constraint_info (ConstraintInfo *info,
" work_area_monitor: %d,%d +%d,%d\n"
" entire_monitor : %d,%d +%d,%d\n",
info->orig.x, info->orig.y, info->orig.width, info->orig.height,
info->current.x, info->current.y,
info->current.x, info->current.y,
info->current.width, info->current.height,
(info->action_type == ACTION_MOVE) ? "Move" :
(info->action_type == ACTION_RESIZE) ? "Resize" :
@ -454,7 +454,7 @@ setup_constraint_info (ConstraintInfo *info,
(info->fixed_directions == FIXED_DIRECTION_Y) ? "Y fixed" :
"Freakin' Invalid Stupid",
info->work_area_monitor.x, info->work_area_monitor.y,
info->work_area_monitor.width,
info->work_area_monitor.width,
info->work_area_monitor.height,
info->entire_monitor.x, info->entire_monitor.y,
info->entire_monitor.width, info->entire_monitor.height);
@ -502,8 +502,8 @@ place_window_if_needed(MetaWindow *window,
monitor_info->number,
&info->work_area_monitor);
cur_workspace = window->screen->active_workspace;
info->usable_monitor_region =
meta_workspace_get_onmonitor_region (cur_workspace,
info->usable_monitor_region =
meta_workspace_get_onmonitor_region (cur_workspace,
monitor_info->number);
meta_window_frame_rect_to_client_rect (window, &placed_rect, &placed_rect);
@ -546,7 +546,7 @@ place_window_if_needed(MetaWindow *window,
if (window->maximize_horizontally_after_placement ||
window->maximize_vertically_after_placement)
meta_window_maximize_internal (window,
meta_window_maximize_internal (window,
(window->maximize_horizontally_after_placement ?
META_MAXIMIZE_HORIZONTAL : 0 ) |
(window->maximize_vertically_after_placement ?
@ -631,7 +631,7 @@ update_onscreen_requirements (MetaWindow *window,
if (old ^ window->require_on_single_monitor)
meta_topic (META_DEBUG_GEOMETRY,
"require_on_single_monitor for %s toggled to %s\n",
window->desc,
window->desc,
window->require_on_single_monitor ? "TRUE" : "FALSE");
/* Update whether we want future constraint runs to require the
@ -910,7 +910,7 @@ constrain_size_increments (MetaWindow *window,
return TRUE;
/* Determine whether constraint applies; exit if it doesn't */
if (META_WINDOW_MAXIMIZED (window) || window->fullscreen ||
if (META_WINDOW_MAXIMIZED (window) || window->fullscreen ||
META_WINDOW_TILED_SIDE_BY_SIDE (window) ||
info->action_type == ACTION_MOVE)
return TRUE;
@ -928,7 +928,7 @@ constrain_size_increments (MetaWindow *window,
if (window->maximized_vertically)
extra_height *= 0;
/* constraint is satisfied iff there is no extra height or width */
constraint_already_satisfied =
constraint_already_satisfied =
(extra_height == 0 && extra_width == 0);
if (check_only || constraint_already_satisfied)
@ -954,10 +954,10 @@ constrain_size_increments (MetaWindow *window,
start_rect = &info->current;
else
start_rect = &info->orig;
/* Resize to the new size */
meta_rectangle_resize_with_gravity (start_rect,
&info->current,
&info->current,
info->resize_gravity,
new_width,
new_height);
@ -1002,7 +1002,7 @@ constrain_size_limits (MetaWindow *window,
/*** Enforce constraint ***/
new_width = CLAMP (info->current.width, min_size.width, max_size.width);
new_height = CLAMP (info->current.height, min_size.height, max_size.height);
/* Figure out what original rect to pass to meta_rectangle_resize_with_gravity
* See bug 448183
*/
@ -1010,9 +1010,9 @@ constrain_size_limits (MetaWindow *window,
start_rect = &info->current;
else
start_rect = &info->orig;
meta_rectangle_resize_with_gravity (start_rect,
&info->current,
&info->current,
info->resize_gravity,
new_width,
new_height);
@ -1042,7 +1042,7 @@ constrain_aspect_ratio (MetaWindow *window,
(double)window->size_hints.max_aspect.y;
constraints_are_inconsistent = minr > maxr;
if (constraints_are_inconsistent ||
META_WINDOW_MAXIMIZED (window) || window->fullscreen ||
META_WINDOW_MAXIMIZED (window) || window->fullscreen ||
META_WINDOW_TILED_SIDE_BY_SIDE (window) ||
info->action_type == ACTION_MOVE)
return TRUE;
@ -1082,7 +1082,7 @@ constrain_aspect_ratio (MetaWindow *window,
fudge = 1;
break;
}
constraint_already_satisfied =
constraint_already_satisfied =
info->current.width - (info->current.height * minr ) > -minr*fudge &&
info->current.width - (info->current.height * maxr ) < maxr*fudge;
if (check_only || constraint_already_satisfied)
@ -1146,7 +1146,7 @@ constrain_aspect_ratio (MetaWindow *window,
start_rect = &info->orig;
meta_rectangle_resize_with_gravity (start_rect,
&info->current,
&info->current,
info->resize_gravity,
new_width,
new_height);
@ -1194,7 +1194,7 @@ do_screen_and_monitor_relative_constraints (
exit_early = TRUE;
/* Determine whether constraint is already satisfied; exit if it is */
constraint_satisfied =
constraint_satisfied =
meta_rectangle_contained_in_region (region_spanning_rectangles,
&info->current);
if (exit_early || constraint_satisfied || check_only)
@ -1233,7 +1233,7 @@ constrain_to_single_monitor (MetaWindow *window,
return TRUE;
/* Exit early if we know the constraint won't apply--note that this constraint
* is only meant for normal windows (e.g. we don't want docks to be shoved
* is only meant for normal windows (e.g. we don't want docks to be shoved
* "onscreen" by their own strut) and we can't apply it to frameless windows
* or else users will be unable to move windows such as XMMS across monitors.
*/
@ -1246,7 +1246,7 @@ constrain_to_single_monitor (MetaWindow *window,
return TRUE;
/* Have a helper function handle the constraint for us */
return do_screen_and_monitor_relative_constraints (window,
return do_screen_and_monitor_relative_constraints (window,
info->usable_monitor_region,
info,
check_only);
@ -1262,18 +1262,18 @@ constrain_fully_onscreen (MetaWindow *window,
return TRUE;
/* Exit early if we know the constraint won't apply--note that this constraint
* is only meant for normal windows (e.g. we don't want docks to be shoved
* is only meant for normal windows (e.g. we don't want docks to be shoved
* "onscreen" by their own strut).
*/
if (window->type == META_WINDOW_DESKTOP ||
window->type == META_WINDOW_DOCK ||
window->fullscreen ||
!window->require_fully_onscreen ||
!window->require_fully_onscreen ||
info->is_user_action)
return TRUE;
/* Have a helper function handle the constraint for us */
return do_screen_and_monitor_relative_constraints (window,
return do_screen_and_monitor_relative_constraints (window,
info->usable_screen_region,
info,
check_only);
@ -1301,7 +1301,7 @@ constrain_titlebar_visible (MetaWindow *window,
info->is_user_action && !window->display->grab_frame_action;
/* Exit early if we know the constraint won't apply--note that this constraint
* is only meant for normal windows (e.g. we don't want docks to be shoved
* is only meant for normal windows (e.g. we don't want docks to be shoved
* "onscreen" by their own strut).
*/
if (window->type == META_WINDOW_DESKTOP ||
@ -1345,13 +1345,13 @@ constrain_titlebar_visible (MetaWindow *window,
*/
meta_rectangle_expand_region_conditionally (info->usable_screen_region,
horiz_amount_offscreen,
horiz_amount_offscreen,
horiz_amount_offscreen,
0, /* Don't let titlebar off */
bottom_amount,
horiz_amount_onscreen,
vert_amount_onscreen);
retval =
do_screen_and_monitor_relative_constraints (window,
do_screen_and_monitor_relative_constraints (window,
info->usable_screen_region,
info,
check_only);
@ -1381,7 +1381,7 @@ constrain_partially_onscreen (MetaWindow *window,
return TRUE;
/* Exit early if we know the constraint won't apply--note that this constraint
* is only meant for normal windows (e.g. we don't want docks to be shoved
* is only meant for normal windows (e.g. we don't want docks to be shoved
* "onscreen" by their own strut).
*/
if (window->type == META_WINDOW_DESKTOP ||
@ -1423,13 +1423,13 @@ constrain_partially_onscreen (MetaWindow *window,
*/
meta_rectangle_expand_region_conditionally (info->usable_screen_region,
horiz_amount_offscreen,
horiz_amount_offscreen,
horiz_amount_offscreen,
top_amount,
bottom_amount,
horiz_amount_onscreen,
vert_amount_onscreen);
retval =
do_screen_and_monitor_relative_constraints (window,
do_screen_and_monitor_relative_constraints (window,
info->usable_screen_region,
info,
check_only);

View File

@ -2,10 +2,10 @@
/* Mutter size/position constraints */
/*
/*
* Copyright (C) 2002 Red Hat, Inc.
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,11 +2,11 @@
/* Mutter interface used by GTK+ UI to talk to core */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
*
*
* 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
@ -16,7 +16,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -46,7 +46,7 @@ get_window (Display *xdisplay,
{
MetaDisplay *display;
MetaWindow *window;
display = meta_display_for_x_display (xdisplay);
window = meta_display_lookup_x_window (display, frame_xwindow);
@ -92,14 +92,14 @@ meta_core_get (Display *xdisplay,
}
while (request != META_CORE_GET_END) {
gpointer answer = va_arg (args, gpointer);
switch (request) {
case META_CORE_WINDOW_HAS_FRAME:
*((gboolean*)answer) = window != NULL && window->frame != NULL;
if (!*((gboolean*)answer)) goto out; /* see above */
break;
break;
case META_CORE_GET_CLIENT_WIDTH:
*((gint*)answer) = window->rect.width;
break;
@ -111,7 +111,7 @@ meta_core_get (Display *xdisplay,
break;
case META_CORE_GET_FRAME_FLAGS:
*((MetaFrameFlags*)answer) = meta_frame_get_flags (window->frame);
break;
break;
case META_CORE_GET_FRAME_TYPE:
*((MetaFrameType*)answer) = meta_window_get_frame_type (window);
break;
@ -157,7 +157,7 @@ meta_core_get (Display *xdisplay,
}
request = va_arg (args, MetaCoreGetType);
}
}
out:
va_end (args);
@ -189,21 +189,21 @@ lower_window_and_transients (MetaWindow *window,
* (Borrowed from window.c.)
*/
if (window->screen->active_workspace &&
meta_window_located_on_workspace (window,
meta_window_located_on_workspace (window,
window->screen->active_workspace))
{
GList* link;
link = g_list_find (window->screen->active_workspace->mru_list,
link = g_list_find (window->screen->active_workspace->mru_list,
window);
g_assert (link);
window->screen->active_workspace->mru_list =
window->screen->active_workspace->mru_list =
g_list_remove_link (window->screen->active_workspace->mru_list,
link);
g_list_free (link);
window->screen->active_workspace->mru_list =
g_list_append (window->screen->active_workspace->mru_list,
window->screen->active_workspace->mru_list =
g_list_append (window->screen->active_workspace->mru_list,
window);
}
}
@ -235,7 +235,7 @@ meta_core_user_focus (Display *xdisplay,
guint32 timestamp)
{
MetaWindow *window = get_window (xdisplay, frame_xwindow);
meta_window_focus (window, timestamp);
}
@ -323,7 +323,7 @@ meta_core_delete (Display *xdisplay,
guint32 timestamp)
{
MetaWindow *window = get_window (xdisplay, frame_xwindow);
meta_window_delete (window, timestamp);
}
@ -343,7 +343,7 @@ meta_core_shade (Display *xdisplay,
guint32 timestamp)
{
MetaWindow *window = get_window (xdisplay, frame_xwindow);
meta_window_shade (window, timestamp);
}
@ -404,7 +404,7 @@ meta_core_show_window_menu (Display *xdisplay,
guint32 timestamp)
{
MetaWindow *window = get_window (xdisplay, frame_xwindow);
if (meta_prefs_get_raise_on_click ())
meta_window_raise (window);
meta_window_focus (window, timestamp);
@ -421,7 +421,7 @@ meta_core_get_menu_accelerator (MetaMenuOp menu_op,
const char *name;
name = NULL;
switch (menu_op)
{
case META_MENU_OP_NONE:
@ -462,25 +462,25 @@ meta_core_get_menu_accelerator (MetaMenuOp menu_op,
break;
case 3:
name = "move-to-workspace-3";
break;
break;
case 4:
name = "move-to-workspace-4";
break;
break;
case 5:
name = "move-to-workspace-5";
break;
break;
case 6:
name = "move-to-workspace-6";
break;
break;
case 7:
name = "move-to-workspace-7";
break;
break;
case 8:
name = "move-to-workspace-8";
break;
break;
case 9:
name = "move-to-workspace-9";
break;
break;
case 10:
name = "move-to-workspace-10";
break;
@ -554,12 +554,12 @@ meta_core_begin_grab_op (Display *xdisplay,
MetaWindow *window = get_window (xdisplay, frame_xwindow);
MetaDisplay *display;
MetaScreen *screen;
display = meta_display_for_x_display (xdisplay);
screen = display->screen;
g_assert (screen != NULL);
return meta_display_begin_grab_op (display, screen, window,
op, pointer_already_grabbed,
frame_action,
@ -572,7 +572,7 @@ meta_core_end_grab_op (Display *xdisplay,
guint32 timestamp)
{
MetaDisplay *display;
display = meta_display_for_x_display (xdisplay);
meta_display_end_grab_op (display, timestamp);
@ -582,7 +582,7 @@ MetaGrabOp
meta_core_get_grab_op (Display *xdisplay)
{
MetaDisplay *display;
display = meta_display_for_x_display (xdisplay);
return display->grab_op;
@ -593,7 +593,7 @@ meta_core_grab_buttons (Display *xdisplay,
Window frame_xwindow)
{
MetaDisplay *display;
display = meta_display_for_x_display (xdisplay);
meta_verbose ("Grabbing buttons on frame 0x%lx\n", frame_xwindow);

View File

@ -2,10 +2,10 @@
/* Mutter interface used by GTK+ UI to talk to core */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,10 +2,10 @@
/* Mutter window deletion */
/*
/*
* Copyright (C) 2001, 2002 Havoc Pennington
* Copyright (C) 2004 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -72,7 +72,7 @@ delete_ping_timeout_func (MetaWindow *window,
char *window_title;
gchar *window_content, *tmp;
GPid dialog_pid;
meta_topic (META_DEBUG_PING,
"Got delete ping timeout for %s\n",
window->desc);
@ -149,7 +149,7 @@ meta_window_delete (MetaWindow *window,
if (window->has_focus)
{
/* FIXME Clean this up someday
/* FIXME Clean this up someday
* http://bugzilla.gnome.org/show_bug.cgi?id=108706
*/
#if 0
@ -198,7 +198,7 @@ meta_window_present_delete_dialog (MetaWindow *window, guint32 timestamp)
meta_topic (META_DEBUG_PING,
"Presenting existing ping dialog for %s\n",
window->desc);
if (window->dialog_pid >= 0)
{
GSList *windows;
@ -207,7 +207,7 @@ meta_window_present_delete_dialog (MetaWindow *window, guint32 timestamp)
/* Activate transient for window that belongs to
* mutter-dialog
*/
windows = meta_display_list_windows (window->display, META_LIST_DEFAULT);
tmp = windows;
while (tmp != NULL)
@ -220,7 +220,7 @@ meta_window_present_delete_dialog (MetaWindow *window, guint32 timestamp)
meta_window_activate (w, timestamp);
break;
}
tmp = tmp->next;
}

View File

@ -2,12 +2,12 @@
/* Mutter X display handler */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2002 Red Hat, Inc.
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
*
*
* 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
@ -17,7 +17,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -85,7 +85,7 @@ typedef enum {
struct _MetaDisplay
{
GObject parent_instance;
char *name;
Display *xdisplay;
@ -143,7 +143,7 @@ struct _MetaDisplay
* multiple events with the same serial.
*/
guint focused_by_us : 1;
/*< private-ish >*/
MetaScreen *screen;
GHashTable *xids;
@ -157,7 +157,7 @@ struct _MetaDisplay
*/
unsigned long ignored_crossing_serials[N_IGNORED_CROSSING_SERIALS];
Window ungrab_should_not_cause_focus_window;
guint32 current_time;
/* We maintain a sequence counter, incremented for each #MetaWindow
@ -181,7 +181,7 @@ struct _MetaDisplay
/* Alt+click button grabs */
ClutterModifierType window_grab_modifiers;
/* current window operation */
MetaGrabOp grab_op;
MetaWindow *grab_window;
@ -234,7 +234,7 @@ struct _MetaDisplay
gboolean overlay_key_only_pressed;
MetaKeyCombo *iso_next_group_combos;
int n_iso_next_group_combos;
/* Monitor cache */
unsigned int monitor_cache_invalidated : 1;

View File

@ -1,11 +1,11 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2002, 2003, 2004 Red Hat, Inc.
* Copyright (C) 2003, 2004 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -441,11 +441,11 @@ meta_display_open (void)
#undef item
};
Atom atoms[G_N_ELEMENTS(atom_names)];
meta_verbose ("Opening display '%s'\n", XDisplayName (NULL));
xdisplay = meta_ui_get_display ();
if (xdisplay == NULL)
{
meta_warning (_("Failed to open X Window System display '%s'\n"),
@ -458,12 +458,12 @@ meta_display_open (void)
if (meta_is_syncing ())
XSynchronize (xdisplay, True);
g_assert (the_display == NULL);
the_display = g_object_new (META_TYPE_DISPLAY, NULL);
the_display->closing = 0;
/* here we use XDisplayName which is what the user
* probably put in, vs. DisplayString(display) which is
* canonicalized by XOpenDisplay()
@ -484,7 +484,7 @@ meta_display_open (void)
the_display->mouse_mode = TRUE; /* Only relevant for mouse or sloppy focus */
the_display->allow_terminal_deactivation = TRUE; /* Only relevant for when a
terminal has the focus */
meta_bell_init (the_display);
meta_display_init_keys (the_display);
@ -497,7 +497,7 @@ meta_display_open (void)
XInternAtoms (the_display->xdisplay, atom_names, G_N_ELEMENTS (atom_names),
False, atoms);
{
int i = 0;
int i = 0;
#define item(x) the_display->atom_##x = atoms[i++];
#include <meta/atomnames.h>
#undef item
@ -507,7 +507,7 @@ meta_display_open (void)
meta_display_init_window_prop_hooks (the_display);
the_display->group_prop_hooks = NULL;
meta_display_init_group_prop_hooks (the_display);
/* Offscreen unmapped window used for _NET_SUPPORTING_WM_CHECK,
* created in screen_new
*/
@ -520,9 +520,9 @@ meta_display_open (void)
the_display->window_with_menu = NULL;
the_display->window_menu = NULL;
the_display->screen = NULL;
#ifdef HAVE_STARTUP_NOTIFICATION
the_display->sn_display = sn_display_new (the_display->xdisplay,
sn_error_trap_push,
@ -543,14 +543,14 @@ meta_display_open (void)
++i;
}
the_display->ungrab_should_not_cause_focus_window = None;
the_display->current_time = CurrentTime;
the_display->sentinel_counter = 0;
the_display->grab_resize_timeout_id = 0;
the_display->grab_have_keyboard = FALSE;
#ifdef HAVE_XKB
#ifdef HAVE_XKB
the_display->last_bell_time = 0;
#endif
@ -565,14 +565,14 @@ meta_display_open (void)
int major, minor;
the_display->have_xsync = FALSE;
the_display->xsync_error_base = 0;
the_display->xsync_event_base = 0;
/* I don't think we really have to fill these in */
major = SYNC_MAJOR_VERSION;
minor = SYNC_MINOR_VERSION;
if (!XSyncQueryExtension (the_display->xdisplay,
&the_display->xsync_event_base,
&the_display->xsync_error_base) ||
@ -596,10 +596,10 @@ meta_display_open (void)
{
the_display->have_shape = FALSE;
the_display->shape_error_base = 0;
the_display->shape_event_base = 0;
if (!XShapeQueryExtension (the_display->xdisplay,
&the_display->shape_event_base,
&the_display->shape_error_base))
@ -609,7 +609,7 @@ meta_display_open (void)
}
else
the_display->have_shape = TRUE;
meta_verbose ("Attempted to init Shape, found error base %d event base %d\n",
the_display->shape_error_base,
the_display->shape_event_base);
@ -627,7 +627,7 @@ meta_display_open (void)
{
the_display->composite_error_base = 0;
the_display->composite_event_base = 0;
}
}
else
{
the_display->composite_major_version = 0;
@ -647,7 +647,7 @@ meta_display_open (void)
meta_verbose ("Attempted to init Composite, found error base %d event base %d "
"extn ver %d %d\n",
the_display->composite_error_base,
the_display->composite_error_base,
the_display->composite_event_base,
the_display->composite_major_version,
the_display->composite_minor_version);
@ -663,12 +663,12 @@ meta_display_open (void)
{
the_display->damage_error_base = 0;
the_display->damage_event_base = 0;
}
}
else
the_display->have_damage = TRUE;
meta_verbose ("Attempted to init Damage, found error base %d event base %d\n",
the_display->damage_error_base,
the_display->damage_error_base,
the_display->damage_event_base);
the_display->xfixes_error_base = 0;
@ -691,7 +691,7 @@ meta_display_open (void)
}
meta_verbose ("Attempted to init XFixes, found error base %d event base %d\n",
the_display->xfixes_error_base,
the_display->xfixes_error_base,
the_display->xfixes_event_base);
}
@ -751,7 +751,7 @@ meta_display_open (void)
the_display->leader_window,
the_display->atom__GNOME_WM_KEYBINDINGS,
gnome_wm_keybindings);
meta_prop_set_utf8_string_hint (the_display,
the_display->leader_window,
the_display->atom__MUTTER_VERSION,
@ -937,7 +937,7 @@ meta_display_list_windows (MetaDisplay *display,
GSList *next;
next = tmp->next;
if (next &&
next->data == tmp->data)
{
@ -948,7 +948,7 @@ meta_display_list_windows (MetaDisplay *display,
if (tmp == winlist)
winlist = next;
g_slist_free_1 (tmp);
/* leave prev unchanged */
@ -957,7 +957,7 @@ meta_display_list_windows (MetaDisplay *display,
{
prev = tmp;
}
tmp = next;
}
@ -979,7 +979,7 @@ meta_display_close (MetaDisplay *display,
display->closing += 1;
meta_prefs_remove_listener (prefs_changed_callback, display);
meta_display_remove_autoraise_callback (display);
if (display->focus_timeout_id)
@ -988,7 +988,7 @@ meta_display_close (MetaDisplay *display,
/* Stop caring about events */
meta_display_free_events (display);
meta_screen_free (display->screen, timestamp);
#ifdef HAVE_STARTUP_NOTIFICATION
@ -998,7 +998,7 @@ meta_display_close (MetaDisplay *display,
display->sn_display = NULL;
}
#endif
/* Must be after all calls to meta_window_unmanage() since they
* unregister windows
*/
@ -1011,14 +1011,14 @@ meta_display_close (MetaDisplay *display,
meta_display_free_window_prop_hooks (display);
meta_display_free_group_prop_hooks (display);
g_free (display->name);
meta_display_shutdown_keys (display);
if (display->compositor)
meta_compositor_destroy (display->compositor);
g_object_unref (display);
the_display = NULL;
@ -1054,7 +1054,7 @@ meta_display_ungrab (MetaDisplay *display)
{
if (display->server_grab_count == 0)
meta_bug ("Ungrabbed non-grabbed server\n");
display->server_grab_count -= 1;
if (display->server_grab_count == 0)
{
@ -1090,7 +1090,7 @@ meta_display_for_x_display (Display *xdisplay)
meta_warning ("Could not find display for X display %p, probably going to crash\n",
xdisplay);
return NULL;
}
@ -1115,8 +1115,8 @@ meta_grab_op_is_mouse (MetaGrabOp op)
{
case META_GRAB_OP_MOVING:
case META_GRAB_OP_RESIZING_SE:
case META_GRAB_OP_RESIZING_S:
case META_GRAB_OP_RESIZING_SW:
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:
@ -1157,8 +1157,8 @@ meta_grab_op_is_resizing (MetaGrabOp op)
switch (op)
{
case META_GRAB_OP_RESIZING_SE:
case META_GRAB_OP_RESIZING_S:
case META_GRAB_OP_RESIZING_SW:
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:
@ -1188,7 +1188,7 @@ meta_grab_op_is_moving (MetaGrabOp op)
case META_GRAB_OP_MOVING:
case META_GRAB_OP_KEYBOARD_MOVING:
return TRUE;
default:
return FALSE;
}
@ -1282,7 +1282,7 @@ guint32
meta_display_get_current_time_roundtrip (MetaDisplay *display)
{
guint32 timestamp;
timestamp = meta_display_get_current_time (display);
if (timestamp == CurrentTime)
{
@ -1323,7 +1323,7 @@ meta_display_add_ignored_crossing_serial (MetaDisplay *display,
/* don't add the same serial more than once */
if (display->ignored_crossing_serials[N_IGNORED_CROSSING_SERIALS-1] == serial)
return;
/* shift serials to the left */
i = 0;
while (i < (N_IGNORED_CROSSING_SERIALS - 1))
@ -1335,7 +1335,7 @@ meta_display_add_ignored_crossing_serial (MetaDisplay *display,
display->ignored_crossing_serials[i] = serial;
}
static gboolean
static gboolean
window_raise_with_delay_callback (void *data)
{
MetaWindow *window = data;
@ -1345,8 +1345,8 @@ window_raise_with_delay_callback (void *data)
/* If we aren't already on top, check whether the pointer is inside
* the window and raise the window if so.
*/
if (meta_stack_get_top (window->screen->stack) != window)
*/
if (meta_stack_get_top (window->screen->stack) != window)
{
int x, y, root_x, root_y;
Window root, child;
@ -1367,8 +1367,8 @@ window_raise_with_delay_callback (void *data)
if (same_screen && point_in_window)
meta_window_raise (window);
else
meta_topic (META_DEBUG_FOCUS,
"Pointer not inside window, not raising %s\n",
meta_topic (META_DEBUG_FOCUS,
"Pointer not inside window, not raising %s\n",
window->desc);
}
@ -1379,15 +1379,15 @@ void
meta_display_queue_autoraise_callback (MetaDisplay *display,
MetaWindow *window)
{
meta_topic (META_DEBUG_FOCUS,
"Queuing an autoraise timeout for %s with delay %d\n",
window->desc,
meta_topic (META_DEBUG_FOCUS,
"Queuing an autoraise timeout for %s with delay %d\n",
window->desc,
meta_prefs_get_auto_raise_delay ());
if (display->autoraise_timeout_id != 0)
g_source_remove (display->autoraise_timeout_id);
display->autoraise_timeout_id =
display->autoraise_timeout_id =
g_timeout_add_full (G_PRIORITY_DEFAULT,
meta_prefs_get_auto_raise_delay (),
window_raise_with_delay_callback,
@ -1561,7 +1561,7 @@ meta_display_register_x_window (MetaDisplay *display,
MetaWindow *window)
{
g_return_if_fail (g_hash_table_lookup (display->xids, xwindowp) == NULL);
g_hash_table_insert (display->xids, xwindowp, window);
}
@ -1991,7 +1991,7 @@ meta_change_button_grab (MetaDisplay *display,
mods = (XIGrabModifiers) { modmask | ignored_mask, 0 };
/* GrabModeSync means freeze until XAllowEvents */
if (grab)
XIGrabButton (xdisplay,
META_VIRTUAL_CORE_POINTER_ID,
@ -2011,7 +2011,7 @@ meta_change_button_grab (MetaDisplay *display,
void
meta_display_grab_window_buttons (MetaDisplay *display,
Window xwindow)
{
{
MetaBackend *backend = meta_get_backend ();
/* Do nothing under non-X11 backends */
@ -2024,7 +2024,7 @@ meta_display_grab_window_buttons (MetaDisplay *display,
* Grab Alt + Shift + button1 for snap-moving window.
*/
meta_verbose ("Grabbing window buttons for 0x%lx\n", xwindow);
/* FIXME If we ignored errors here instead of spewing, we could
* put one big error trap around the loop and avoid a bunch of
* XSync()
@ -2039,8 +2039,8 @@ meta_display_grab_window_buttons (MetaDisplay *display,
meta_change_button_grab (display, xwindow,
TRUE,
FALSE,
i, display->window_grab_modifiers);
i, display->window_grab_modifiers);
/* This is for debugging, since I end up moving the Xnest
* otherwise ;-)
*/
@ -2079,7 +2079,7 @@ meta_display_ungrab_window_buttons (MetaDisplay *display,
if (display->window_grab_modifiers == 0)
return;
debug = g_getenv ("MUTTER_DEBUG_BUTTON_GRABS") != NULL;
i = 1;
while (i < 4)
@ -2087,11 +2087,11 @@ meta_display_ungrab_window_buttons (MetaDisplay *display,
meta_change_button_grab (display, xwindow,
FALSE, FALSE, i,
display->window_grab_modifiers);
if (debug)
meta_change_button_grab (display, xwindow,
FALSE, FALSE, i, ControlMask);
++i;
}
}
@ -2125,18 +2125,18 @@ meta_display_grab_focus_window_button (MetaDisplay *display,
return;
}
#endif
if (window->have_focus_click_grab)
{
meta_verbose (" (well, not grabbing since we already have the grab)\n");
return;
}
/* FIXME If we ignored errors here instead of spewing, we could
* put one big error trap around the loop and avoid a bunch of
* XSync()
*/
{
int i = 1;
while (i < MAX_FOCUS_BUTTON)
@ -2145,7 +2145,7 @@ meta_display_grab_focus_window_button (MetaDisplay *display,
window->xwindow,
TRUE, TRUE,
i, 0);
++i;
}
@ -2167,14 +2167,14 @@ meta_display_ungrab_focus_window_button (MetaDisplay *display,
if (!window->have_focus_click_grab)
return;
{
int i = 1;
while (i < MAX_FOCUS_BUTTON)
{
meta_change_button_grab (display, window->xwindow,
FALSE, FALSE, i, 0);
++i;
}
@ -2219,14 +2219,14 @@ meta_display_queue_retheme_all_windows (MetaDisplay *display)
while (tmp != NULL)
{
MetaWindow *window = tmp->data;
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
meta_window_frame_size_changed (window);
if (window->frame)
{
meta_frame_queue_draw (window->frame);
}
tmp = tmp->next;
}
@ -2512,7 +2512,7 @@ find_tab_forward (MetaDisplay *display,
return window;
tmp = tmp->next;
}
}
return NULL;
}
@ -2530,7 +2530,7 @@ find_tab_backward (MetaDisplay *display,
g_return_val_if_fail (workspace != NULL, NULL);
tmp = start;
if (skip_last)
if (skip_last)
tmp = tmp->prev;
while (tmp != NULL)
{
@ -2638,7 +2638,7 @@ meta_display_get_tab_list (MetaDisplay *display,
g_list_free (global_mru_list);
g_slist_free (windows);
return tab_list;
}
@ -2647,8 +2647,8 @@ meta_display_get_tab_list (MetaDisplay *display,
* @display: a #MetaDisplay
* @type: type of tab list
* @workspace: origin workspace
* @window: (allow-none): starting window
* @backward: If %TRUE, look for the previous window.
* @window: (allow-none): starting window
* @backward: If %TRUE, look for the previous window.
*
* Determine the next window that should be displayed for Alt-TAB
* functionality.
@ -2670,11 +2670,11 @@ meta_display_get_tab_next (MetaDisplay *display,
if (tab_list == NULL)
return NULL;
if (window != NULL)
{
g_assert (window->display == display);
if (backward)
ret = find_tab_backward (display, type, workspace, g_list_find (tab_list, window), TRUE);
else
@ -2682,7 +2682,7 @@ meta_display_get_tab_next (MetaDisplay *display,
}
else
{
skip = display->focus_window != NULL &&
skip = display->focus_window != NULL &&
tab_list->data == display->focus_window;
if (backward)
ret = find_tab_backward (display, type, workspace, tab_list, skip);
@ -2713,7 +2713,7 @@ meta_display_get_tab_current (MetaDisplay *display,
MetaWindow *window;
window = display->focus_window;
if (window != NULL &&
IN_TAB_CHAIN (window, type) &&
(workspace == NULL ||
@ -2727,7 +2727,7 @@ int
meta_resize_gravity_from_grab_op (MetaGrabOp op)
{
int gravity;
gravity = -1;
switch (op)
{
@ -2809,7 +2809,7 @@ meta_display_unmanage_windows_for_screen (MetaDisplay *display,
if (!window->unmanaging)
meta_window_unmanage (window, timestamp);
g_object_unref (window);
tmp = tmp->next;
}
g_slist_free (winlist);
@ -2859,7 +2859,7 @@ meta_display_devirtualize_modifiers (MetaDisplay *display,
unsigned int *mask)
{
*mask = 0;
if (modifiers & META_VIRTUAL_SHIFT_MASK)
*mask |= ShiftMask;
if (modifiers & META_VIRTUAL_CONTROL_MASK)
@ -2879,7 +2879,7 @@ meta_display_devirtualize_modifiers (MetaDisplay *display,
if (modifiers & META_VIRTUAL_MOD4_MASK)
*mask |= Mod4Mask;
if (modifiers & META_VIRTUAL_MOD5_MASK)
*mask |= Mod5Mask;
*mask |= Mod5Mask;
}
static void
@ -2887,11 +2887,11 @@ update_window_grab_modifiers (MetaDisplay *display)
{
MetaVirtualModifier virtual_mods;
unsigned int mods;
virtual_mods = meta_prefs_get_mouse_button_mods ();
meta_display_devirtualize_modifiers (display, virtual_mods,
&mods);
display->window_grab_modifiers = mods;
}
@ -2900,7 +2900,7 @@ prefs_changed_callback (MetaPreference pref,
void *data)
{
MetaDisplay *display = data;
/* It may not be obvious why we regrab on focus mode
* change; it's because we handle focus clicks a
* bit differently for the different focus modes.
@ -2911,9 +2911,9 @@ prefs_changed_callback (MetaPreference pref,
MetaDisplay *display = data;
GSList *windows;
GSList *tmp;
windows = meta_display_list_windows (display, META_LIST_DEFAULT);
/* Ungrab all */
tmp = windows;
while (tmp != NULL)
@ -2960,13 +2960,13 @@ meta_display_increment_focus_sentinel (MetaDisplay *display)
unsigned long data[1];
data[0] = meta_display_get_current_time (display);
XChangeProperty (display->xdisplay,
display->screen->xroot,
display->atom__MUTTER_SENTINEL,
XA_CARDINAL,
32, PropModeReplace, (guchar*) data, 1);
display->sentinel_counter += 1;
}
@ -3015,7 +3015,7 @@ meta_display_sanity_check_timestamps (MetaDisplay *display,
while (tmp != NULL)
{
MetaWindow *window = tmp->data;
if (XSERVER_TIME_IS_BEFORE (timestamp, window->net_wm_user_time))
{
meta_warning ("%s appears to be one of the offending windows "
@ -3032,7 +3032,7 @@ meta_display_sanity_check_timestamps (MetaDisplay *display,
}
void
meta_display_set_input_focus_window (MetaDisplay *display,
meta_display_set_input_focus_window (MetaDisplay *display,
MetaWindow *window,
gboolean focus_frame,
guint32 timestamp)
@ -3188,7 +3188,7 @@ meta_display_get_focus_window (MetaDisplay *display)
return display->focus_window;
}
int
int
meta_display_get_damage_event_base (MetaDisplay *display)
{
return display->damage_event_base;

View File

@ -2,9 +2,9 @@
/* Edge resistance for move/resize operations */
/*
/*
* Copyright (C) 2005, 2006 Elijah Newren
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -245,8 +245,8 @@ find_nearest_position (const GArray *edges,
{
edge = g_array_index (edges, MetaEdge*, i);
compare = horizontal ? edge->rect.x : edge->rect.y;
edges_align = horizontal ?
edges_align = horizontal ?
meta_rectangle_vert_overlap (&edge->rect, new_rect) :
meta_rectangle_horiz_overlap (&edge->rect, new_rect);
@ -269,8 +269,8 @@ find_nearest_position (const GArray *edges,
{
edge = g_array_index (edges, MetaEdge*, i);
compare = horizontal ? edge->rect.x : edge->rect.y;
edges_align = horizontal ?
edges_align = horizontal ?
meta_rectangle_vert_overlap (&edge->rect, new_rect) :
meta_rectangle_horiz_overlap (&edge->rect, new_rect);
@ -433,7 +433,7 @@ apply_edge_resistance (MetaWindow *window,
if (!resistance_data->timeout_setup &&
timeout_length_ms != 0)
{
resistance_data->timeout_id =
resistance_data->timeout_id =
g_timeout_add (timeout_length_ms,
edge_resistance_timeout,
resistance_data);
@ -536,7 +536,7 @@ apply_edge_snapping (int old_pos,
* display->grab_edge_resistance_data MUST already be setup or calling this
* function will cause a crash.
*/
static gboolean
static gboolean
apply_edge_resistance_to_each_side (MetaDisplay *display,
MetaWindow *window,
const MetaRectangle *old_outer,
@ -658,7 +658,7 @@ apply_edge_resistance_to_each_side (MetaDisplay *display,
}
/* Determine whether anything changed, and save the changes */
modified_rect = meta_rect (new_left,
modified_rect = meta_rect (new_left,
new_top,
new_right - new_left,
new_bottom - new_top);
@ -754,7 +754,7 @@ meta_display_cleanup_edges (MetaDisplay *display)
}
static int
stupid_sort_requiring_extra_pointer_dereference (gconstpointer a,
stupid_sort_requiring_extra_pointer_dereference (gconstpointer a,
gconstpointer b)
{
const MetaEdge * const *a_edge = a;
@ -779,7 +779,7 @@ cache_edges (MetaDisplay *display,
#ifdef WITH_VERBOSE_MODE
if (meta_is_verbose())
{
int max_edges = MAX (MAX( g_list_length (window_edges),
int max_edges = MAX (MAX( g_list_length (window_edges),
g_list_length (monitor_edges)),
g_list_length (screen_edges));
char big_buffer[(EDGE_LENGTH+2)*max_edges];
@ -916,13 +916,13 @@ cache_edges (MetaDisplay *display,
* avoided this sort by sticking them into the array with some simple
* merging of the lists).
*/
g_array_sort (display->grab_edge_resistance_data->left_edges,
g_array_sort (display->grab_edge_resistance_data->left_edges,
stupid_sort_requiring_extra_pointer_dereference);
g_array_sort (display->grab_edge_resistance_data->right_edges,
g_array_sort (display->grab_edge_resistance_data->right_edges,
stupid_sort_requiring_extra_pointer_dereference);
g_array_sort (display->grab_edge_resistance_data->top_edges,
g_array_sort (display->grab_edge_resistance_data->top_edges,
stupid_sort_requiring_extra_pointer_dereference);
g_array_sort (display->grab_edge_resistance_data->bottom_edges,
g_array_sort (display->grab_edge_resistance_data->bottom_edges,
stupid_sort_requiring_extra_pointer_dereference);
}
@ -986,7 +986,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
new_rect = g_new (MetaRectangle, 1);
meta_window_get_frame_rect (cur_window, new_rect);
obscuring_windows = g_slist_prepend (obscuring_windows, new_rect);
window_stacking =
window_stacking =
g_slist_prepend (window_stacking, GINT_TO_POINTER (stack_position));
}
@ -1026,7 +1026,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
* is offscreen (we also don't care about parts of edges covered
* by other windows or DOCKS, but that's handled below).
*/
meta_rectangle_intersect (&cur_rect,
meta_rectangle_intersect (&cur_rect,
&display->screen->rect,
&reduced);
@ -1052,7 +1052,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
new_edge->side_type = META_SIDE_LEFT;
new_edge->edge_type = META_EDGE_WINDOW;
new_edges = g_list_prepend (new_edges, new_edge);
/* Top side of this window is resistance for the bottom edge of
* the window being moved.
*/
@ -1077,7 +1077,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
/* Update the remaining windows to only those at a higher
* stacking position than this one.
*/
while (rem_win_stacking &&
while (rem_win_stacking &&
stack_position >= GPOINTER_TO_INT (rem_win_stacking->data))
{
rem_windows = rem_windows->next;
@ -1085,7 +1085,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
}
/* Remove edge portions overlapped by rem_windows and rem_docks */
new_edges =
new_edges =
meta_rectangle_remove_intersections_with_boxes_from_edges (
new_edges,
rem_windows);
@ -1107,7 +1107,7 @@ compute_resistance_and_snapping_edges (MetaDisplay *display)
/* FIXME: Shouldn't there be a helper function to make this one line of code
* to free a list instead of four ugly ones?
*/
g_slist_foreach (obscuring_windows,
g_slist_foreach (obscuring_windows,
(void (*)(gpointer,gpointer))&g_free, /* ew, for ugly */
NULL);
g_slist_free (obscuring_windows);
@ -1205,7 +1205,7 @@ meta_window_edge_resistance_for_move (MetaWindow *window,
else
smaller_y_change = bottom_change;
*new_x = old_x + smaller_x_change +
*new_x = old_x + smaller_x_change +
(BOX_LEFT (*reference) - BOX_LEFT (old_outer));
*new_y = old_y + smaller_y_change +
(BOX_TOP (*reference) - BOX_TOP (old_outer));
@ -1239,7 +1239,7 @@ meta_window_edge_resistance_for_resize (MetaWindow *window,
meta_window_get_frame_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,
meta_rectangle_resize_with_gravity (&old_outer,
&new_outer,
gravity,
proposed_outer_width,

View File

@ -2,9 +2,9 @@
/* Edge resistance for move/resize operations */
/*
/*
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,9 +1,9 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001 Havoc Pennington, error trapping inspired by GDK
* code copyrighted by the GTK team.
*
*
* 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
@ -13,7 +13,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,11 +2,11 @@
/* Mutter X window decorations */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2003, 2004 Red Hat, Inc.
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -16,7 +16,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -43,10 +43,10 @@ meta_window_ensure_frame (MetaWindow *window)
Visual *visual;
gulong create_serial;
MetaStackWindow stack_window;
if (window->frame)
return;
frame = g_new (MetaFrame, 1);
frame->window = window;
@ -61,7 +61,7 @@ meta_window_ensure_frame (MetaWindow *window)
frame->is_flashing = FALSE;
frame->borders_cached = FALSE;
meta_verbose ("Framing window %s: visual %s default, depth %d default depth %d\n",
window->desc,
XVisualIDFromVisual (window->xvisual) ==
@ -71,7 +71,7 @@ meta_window_ensure_frame (MetaWindow *window)
meta_verbose ("Frame geometry %d,%d %dx%d\n",
frame->rect.x, frame->rect.y,
frame->rect.width, frame->rect.height);
/* 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
@ -80,7 +80,7 @@ meta_window_ensure_frame (MetaWindow *window)
* We look for an ARGB visual if we can find one, otherwise use
* the default of NULL.
*/
/* Special case for depth 32 windows (assumed to be ARGB),
* we use the window's visual. Otherwise we just use the system visual.
*/
@ -88,7 +88,7 @@ meta_window_ensure_frame (MetaWindow *window)
visual = window->xvisual;
else
visual = NULL;
frame->xwindow = meta_ui_create_frame_window (window->screen->ui,
window->display->xdisplay,
visual,
@ -108,7 +108,7 @@ meta_window_ensure_frame (MetaWindow *window)
attrs.event_mask = EVENT_MASK;
XChangeWindowAttributes (window->display->xdisplay,
frame->xwindow, CWEventMask, &attrs);
meta_display_register_x_window (window->display, &frame->xwindow, window);
meta_error_trap_push (window->display);
@ -136,7 +136,7 @@ meta_window_ensure_frame (MetaWindow *window)
window->rect.y);
/* FIXME handle this error */
meta_error_trap_pop (window->display);
/* stick frame to the window */
window->frame = frame;
@ -145,7 +145,7 @@ meta_window_ensure_frame (MetaWindow *window)
*/
meta_ui_update_frame_style (window->screen->ui, frame->xwindow);
meta_ui_reset_frame_bg (window->screen->ui, frame->xwindow);
if (window->title)
meta_ui_set_frame_title (window->screen->ui,
window->frame->xwindow,
@ -163,18 +163,18 @@ meta_window_destroy_frame (MetaWindow *window)
MetaFrame *frame;
MetaFrameBorders borders;
MetaStackWindow stack_window;
if (window->frame == NULL)
return;
meta_verbose ("Unframing window %s\n", window->desc);
frame = window->frame;
meta_frame_calc_borders (frame, &borders);
meta_bell_notify_frame_destroy (frame);
/* Unparent the client window; it may be destroyed,
* thus the error trap.
*/
@ -209,7 +209,7 @@ meta_window_destroy_frame (MetaWindow *window)
meta_display_unregister_x_window (window->display,
frame->xwindow);
window->frame = NULL;
if (window->frame_bounds)
{
@ -219,9 +219,9 @@ meta_window_destroy_frame (MetaWindow *window)
/* Move keybindings to window instead of frame */
meta_window_grab_keys (window);
g_free (frame);
/* Put our state back where it should be */
meta_window_queue (window, META_QUEUE_CALC_SHOWING);
meta_window_queue (window, META_QUEUE_MOVE_RESIZE);
@ -244,20 +244,20 @@ meta_frame_get_flags (MetaFrame *frame)
else
{
flags |= META_FRAME_ALLOWS_MENU;
if (frame->window->has_close_func)
flags |= META_FRAME_ALLOWS_DELETE;
if (frame->window->has_maximize_func)
flags |= META_FRAME_ALLOWS_MAXIMIZE;
if (frame->window->has_minimize_func)
flags |= META_FRAME_ALLOWS_MINIMIZE;
if (frame->window->has_shade_func)
flags |= META_FRAME_ALLOWS_SHADE;
}
}
if (META_WINDOW_ALLOWS_MOVE (frame->window))
flags |= META_FRAME_ALLOWS_MOVE;
@ -266,7 +266,7 @@ meta_frame_get_flags (MetaFrame *frame)
if (META_WINDOW_ALLOWS_VERTICAL_RESIZE (frame->window))
flags |= META_FRAME_ALLOWS_VERTICAL_RESIZE;
if (meta_window_appears_focused (frame->window))
flags |= META_FRAME_HAS_FOCUS;
@ -296,7 +296,7 @@ meta_frame_get_flags (MetaFrame *frame)
if (frame->window->wm_state_above)
flags |= META_FRAME_ABOVE;
return flags;
}
@ -418,7 +418,7 @@ meta_frame_set_screen_cursor (MetaFrame *frame,
if (cursor == META_CURSOR_DEFAULT)
XUndefineCursor (frame->window->display->xdisplay, frame->xwindow);
else
{
{
xcursor = meta_display_create_x_cursor (frame->window->display, cursor);
XDefineCursor (frame->window->display->xdisplay, frame->xwindow, xcursor);
XFlush (frame->window->display->xdisplay);

View File

@ -2,9 +2,9 @@
/* Mutter X window decorations */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -7,9 +7,9 @@
* the one to close a window. It also deals with incoming key events.
*/
/*
/*
* Copyright (C) 2001 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
@ -19,7 +19,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,10 +2,10 @@
/* Mutter main() */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2006 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -160,7 +160,7 @@ meta_print_self_identity (void)
g_date_strftime (buf, sizeof (buf), "%x", &d);
meta_verbose ("Mutter version %s running on %s\n",
VERSION, buf);
/* Locale and encoding. */
g_get_charset (&charset);
meta_verbose ("Running in locale \"%s\" with encoding \"%s\"\n",
@ -343,7 +343,7 @@ meta_init (void)
g_get_home_dir ());
meta_print_self_identity ();
#ifdef HAVE_INTROSPECTION
g_irepository_prepend_search_path (MUTTER_PKGLIBDIR);
#endif
@ -358,13 +358,13 @@ meta_init (void)
meta_select_display (opt_display_name);
meta_set_syncing (opt_sync || (g_getenv ("MUTTER_SYNC") != NULL));
if (opt_replace_wm)
meta_set_replace_current_wm (TRUE);
if (opt_save_file && opt_client_id)
meta_fatal ("Can't specify both SM save file and SM client id\n");
meta_main_loop = g_main_loop_new (NULL, FALSE);
meta_ui_init ();
@ -455,7 +455,7 @@ meta_run (void)
if (g_getenv ("MUTTER_G_FATAL_WARNINGS") != NULL)
g_log_set_always_fatal (G_LOG_LEVEL_MASK);
meta_ui_set_current_theme (meta_prefs_get_theme ());
/* Try to find some theme that'll work if the theme preference
@ -464,37 +464,37 @@ meta_run (void)
*/
if (!meta_ui_have_a_theme ())
meta_ui_set_current_theme ("Simple");
if (!meta_ui_have_a_theme ())
{
const char *dir_entry = NULL;
GError *err = NULL;
GDir *themes_dir = NULL;
if (!(themes_dir = g_dir_open (MUTTER_DATADIR"/themes", 0, &err)))
{
meta_fatal (_("Failed to scan themes directory: %s\n"), err->message);
g_error_free (err);
}
else
}
else
{
while (((dir_entry = g_dir_read_name (themes_dir)) != NULL) &&
while (((dir_entry = g_dir_read_name (themes_dir)) != NULL) &&
(!meta_ui_have_a_theme ()))
{
meta_ui_set_current_theme (dir_entry);
}
g_dir_close (themes_dir);
}
}
if (!meta_ui_have_a_theme ())
meta_fatal (_("Could not find a theme! Be sure %s exists and contains the usual themes.\n"),
MUTTER_DATADIR"/themes");
if (!meta_display_open ())
meta_exit (META_EXIT_ERROR);
g_main_loop_run (meta_main_loop);
meta_finalize ();

View File

@ -12,7 +12,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,12 +2,12 @@
/* Mutter window placement */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2002, 2003 Red Hat, Inc.
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -17,7 +17,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -57,11 +57,11 @@ northwestcmp (gconstpointer a, gconstpointer b)
ay = a_frame.y;
bx = b_frame.x;
by = b_frame.y;
/* probably there's a fast good-enough-guess we could use here. */
from_origin_a = sqrt (ax * ax + ay * ay);
from_origin_b = sqrt (bx * bx + by * by);
if (from_origin_a < from_origin_b)
return -1;
else if (from_origin_a > from_origin_b)
@ -88,16 +88,16 @@ find_next_cascade (MetaWindow *window,
int cascade_stage;
MetaRectangle work_area;
int current;
sorted = g_list_copy (windows);
sorted = g_list_sort (sorted, northwestcmp);
/* This is a "fuzzy" cascade algorithm.
/* This is a "fuzzy" cascade algorithm.
* For each window in the list, we find where we'd cascade a
* new window after it. If a window is already nearly at that
* position, we move on.
*/
/* arbitrary-ish threshold, honors user attempts to
* manually cascade.
*/
@ -115,7 +115,7 @@ find_next_cascade (MetaWindow *window,
x_threshold = CASCADE_FUZZ;
y_threshold = CASCADE_FUZZ;
}
/* Find furthest-SE origin of all workspaces.
* cascade_x, cascade_y are the target position
* of NW corner of window frame.
@ -126,13 +126,13 @@ find_next_cascade (MetaWindow *window,
cascade_x = MAX (0, work_area.x);
cascade_y = MAX (0, work_area.y);
/* Find first cascade position that's not used. */
meta_window_get_frame_rect (window, &frame_rect);
window_width = frame_rect.width;
window_height = frame_rect.height;
cascade_stage = 0;
tmp = sorted;
while (tmp != NULL)
@ -140,14 +140,14 @@ find_next_cascade (MetaWindow *window,
MetaWindow *w;
MetaRectangle w_frame_rect;
int wx, wy;
w = tmp->data;
/* we want frame position, not window position */
meta_window_get_frame_rect (w, &w_frame_rect);
wx = w_frame_rect.x;
wy = w_frame_rect.y;
if (ABS (wx - cascade_x) < x_threshold &&
ABS (wy - cascade_y) < y_threshold)
{
@ -158,7 +158,7 @@ find_next_cascade (MetaWindow *window,
meta_window_get_position (w, &wx, &wy);
cascade_x = wx;
cascade_y = wy;
/* If we go off the screen, start over with a new cascade */
if (((cascade_x + window_width) >
(work_area.x + work_area.width)) ||
@ -167,11 +167,11 @@ find_next_cascade (MetaWindow *window,
{
cascade_x = MAX (0, work_area.x);
cascade_y = MAX (0, work_area.y);
#define CASCADE_INTERVAL 50 /* space between top-left corners of cascades */
cascade_stage += 1;
cascade_x += CASCADE_INTERVAL * cascade_stage;
/* start over with a new cascade translated to the right, unless
* we are out of space
*/
@ -193,14 +193,14 @@ find_next_cascade (MetaWindow *window,
{
/* Keep searching for a further-down-the-diagonal window. */
}
tmp = tmp->next;
}
/* cascade_x and cascade_y will match the last window in the list
* that was "in the way" (in the approximate cascade diagonal)
*/
g_list_free (sorted);
*new_x = cascade_x;
@ -376,12 +376,12 @@ rectangle_overlaps_some_window (MetaRectangle *rect,
{
GList *tmp;
MetaRectangle dest;
tmp = windows;
while (tmp != NULL)
{
MetaWindow *other = tmp->data;
MetaRectangle other_rect;
MetaRectangle other_rect;
switch (other->type)
{
@ -405,12 +405,12 @@ rectangle_overlaps_some_window (MetaRectangle *rect,
case META_WINDOW_TOOLBAR:
case META_WINDOW_MENU:
meta_window_get_frame_rect (other, &other_rect);
if (meta_rectangle_intersect (rect, &other_rect, &dest))
return TRUE;
break;
}
tmp = tmp->next;
}
@ -503,20 +503,20 @@ find_first_fit (MetaWindow *window,
* the bottom of each existing window, and then to the right
* of each existing window, aligned with the left/top of the
* existing window in each of those cases.
*/
*/
int retval;
GList *below_sorted;
GList *right_sorted;
GList *tmp;
MetaRectangle rect;
MetaRectangle work_area;
retval = FALSE;
/* Below each window */
below_sorted = g_list_copy (windows);
below_sorted = g_list_sort (below_sorted, leftmost_cmp);
below_sorted = g_list_sort (below_sorted, topmost_cmp);
below_sorted = g_list_sort (below_sorted, topmost_cmp);
/* To the right of each window */
right_sorted = g_list_copy (windows);
@ -545,9 +545,9 @@ find_first_fit (MetaWindow *window,
{
*new_x = rect.x;
*new_y = rect.y;
retval = TRUE;
goto out;
}
@ -559,18 +559,18 @@ find_first_fit (MetaWindow *window,
MetaRectangle frame_rect;
meta_window_get_frame_rect (w, &frame_rect);
rect.x = frame_rect.x;
rect.y = frame_rect.y + frame_rect.height;
if (meta_rectangle_contains_rect (&work_area, &rect) &&
!rectangle_overlaps_some_window (&rect, below_sorted))
{
*new_x = rect.x;
*new_y = rect.y;
retval = TRUE;
goto out;
}
@ -583,26 +583,26 @@ find_first_fit (MetaWindow *window,
{
MetaWindow *w = tmp->data;
MetaRectangle frame_rect;
meta_window_get_frame_rect (w, &frame_rect);
rect.x = frame_rect.x + frame_rect.width;
rect.y = frame_rect.y;
if (meta_rectangle_contains_rect (&work_area, &rect) &&
!rectangle_overlaps_some_window (&rect, right_sorted))
{
*new_x = rect.x;
*new_y = rect.y;
retval = TRUE;
goto out;
}
tmp = tmp->next;
}
out:
g_list_free (below_sorted);
@ -632,7 +632,7 @@ meta_window_place (MetaWindow *window,
case META_WINDOW_MODAL_DIALOG:
case META_WINDOW_SPLASHSCREEN:
break;
/* Assume the app knows best how to place these, no placement
* algorithm ever (other than "leave them as-is")
*/
@ -675,7 +675,7 @@ meta_window_place (MetaWindow *window,
case META_WINDOW_MODAL_DIALOG:
case META_WINDOW_SPLASHSCREEN:
break;
/* Assume the app knows best how to place these. */
case META_WINDOW_DESKTOP:
case META_WINDOW_DOCK:
@ -702,7 +702,7 @@ meta_window_place (MetaWindow *window,
else
{
/* workarounds enabled */
if ((window->size_hints.flags & PPosition) ||
(window->size_hints.flags & USPosition))
{
@ -739,17 +739,17 @@ meta_window_place (MetaWindow *window,
meta_topic (META_DEBUG_PLACEMENT, "Centered window %s over transient parent\n",
window->desc);
avoid_being_obscured_as_second_modal_dialog (window, &x, &y);
goto done;
}
}
/* FIXME UTILITY with transient set should be stacked up
* on the sides of the parent window or something.
*/
if (window_place_centered (window))
{
/* Center on current monitor */
@ -769,13 +769,13 @@ meta_window_place (MetaWindow *window,
x += xi->rect.x;
y += xi->rect.y;
meta_topic (META_DEBUG_PLACEMENT, "Centered window %s on screen %d monitor %d\n",
window->desc, window->screen->number, xi->number);
goto done_check_denied_focus;
}
/* Find windows that matter (not minimized, on same workspace
* as placed window, may be shaded - if shaded we pretend it isn't
* for placement purposes)
@ -783,7 +783,7 @@ meta_window_place (MetaWindow *window,
{
GSList *all_windows;
GSList *tmp;
all_windows = meta_display_list_windows (window->display, META_LIST_DEFAULT);
tmp = all_windows;
@ -804,7 +804,7 @@ meta_window_place (MetaWindow *window,
/* Warning, this is a round trip! */
xi = meta_screen_get_current_monitor_info (window->screen);
/* "Origin" placement algorithm */
x = xi->rect.x;
y = xi->rect.y;
@ -816,7 +816,7 @@ meta_window_place (MetaWindow *window,
/* Maximize windows if they are too big for their work area (bit of
* a hack here). Assume undecorated windows probably don't intend to
* be maximized.
* be maximized.
*/
if (window->has_maximize_func && window->decorated &&
!window->fullscreen)
@ -826,9 +826,9 @@ meta_window_place (MetaWindow *window,
meta_window_get_work_area_for_monitor (window,
xi->number,
&workarea);
&workarea);
meta_window_get_frame_rect (window, &frame_rect);
/* If the window is bigger than the screen, then automaximize. Do NOT
* auto-maximize the directions independently. See #419810.
*/
@ -839,10 +839,10 @@ meta_window_place (MetaWindow *window,
}
}
/* If no placement has been done, revert to cascade to avoid
/* If no placement has been done, revert to cascade to avoid
* fully overlapping window (e.g. starting multiple terminals)
* */
if (x == xi->rect.x && y == xi->rect.y)
if (x == xi->rect.x && y == xi->rect.y)
find_next_cascade (window, windows, x, y, &x, &y);
done_check_denied_focus:
@ -886,10 +886,10 @@ meta_window_place (MetaWindow *window,
if (!found_fit)
find_most_freespace (window, focus_window, x, y, &x, &y);
}
done:
g_list_free (windows);
done_no_constraints:
*new_x = x;

View File

@ -2,9 +2,9 @@
/* Mutter window placement */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,6 +1,6 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001 Havoc Pennington, Copyright (C) 2002 Red Hat Inc.
* Copyright (C) 2006 Elijah Newren
* Copyright (C) 2008 Thomas Thurman
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -615,7 +615,7 @@ handle_preference_init_int (void)
{
MetaIntPreference *cursor = preferences_int;
while (cursor->base.key != NULL)
{
if (cursor->target)
@ -671,7 +671,7 @@ handle_preference_update_bool (GSettings *settings,
* store the current value away.
*/
old_value = *((gboolean *) cursor->target);
/* Now look it up... */
*((gboolean *) cursor->target) =
g_settings_get_boolean (SETTINGS (cursor->base.schema), key);
@ -802,7 +802,7 @@ handle_preference_update_int (GSettings *settings,
}
}
/****************************************************************************/
/* Listeners. */
/****************************************************************************/
@ -851,7 +851,7 @@ meta_prefs_remove_listener (MetaPrefsChangedFunc func,
return;
}
tmp = tmp->next;
}
@ -866,9 +866,9 @@ emit_changed (MetaPreference pref)
meta_topic (META_DEBUG_PREFS, "Notifying listeners that pref %s changed\n",
meta_preference_to_string (pref));
copy = g_list_copy (listeners);
tmp = copy;
while (tmp != NULL)
@ -890,24 +890,24 @@ changed_idle_handler (gpointer data)
GList *copy;
changed_idle = 0;
copy = g_list_copy (changes); /* reentrancy paranoia */
g_list_free (changes);
changes = NULL;
tmp = copy;
while (tmp != NULL)
{
MetaPreference pref = GPOINTER_TO_INT (tmp->data);
emit_changed (pref);
tmp = tmp->next;
}
g_list_free (copy);
return FALSE;
}
@ -915,7 +915,7 @@ static void
queue_changed (MetaPreference pref)
{
meta_topic (META_DEBUG_PREFS, "Queueing change of pref %s\n",
meta_preference_to_string (pref));
meta_preference_to_string (pref));
if (g_list_find (changes, GINT_TO_POINTER (pref)) == NULL)
changes = g_list_prepend (changes, GINT_TO_POINTER (pref));
@ -931,7 +931,7 @@ queue_changed (MetaPreference pref)
}
}
/****************************************************************************/
/* Initialisation. */
/****************************************************************************/
@ -1117,7 +1117,7 @@ meta_prefs_override_preference_schema (const char *key, const char *schema)
do_override (overridden->key, overridden->new_schema);
}
/****************************************************************************/
/* Updates. */
/****************************************************************************/
@ -1194,7 +1194,7 @@ static void
maybe_give_disable_workarounds_warning (void)
{
static gboolean first_disable = TRUE;
if (first_disable && disable_workarounds)
{
first_disable = FALSE;
@ -1261,7 +1261,7 @@ meta_prefs_get_cursor_size (void)
return cursor_size;
}
/****************************************************************************/
/* Handlers for string preferences. */
/****************************************************************************/
@ -1345,7 +1345,7 @@ mouse_button_mods_handler (GVariant *value,
{
meta_topic (META_DEBUG_KEYBINDINGS,
"Failed to parse new GSettings value\n");
meta_warning ("\"%s\" found in configuration database is "
"not a valid value for mouse button modifier\n",
string_value);
@ -1369,7 +1369,7 @@ mouse_button_mods_handler (GVariant *value,
static gboolean
button_layout_equal (const MetaButtonLayout *a,
const MetaButtonLayout *b)
{
{
int i;
i = 0;
@ -1410,7 +1410,7 @@ button_function_from_string (const char *str)
return META_BUTTON_FUNCTION_ABOVE;
else if (strcmp (str, "stick") == 0)
return META_BUTTON_FUNCTION_STICK;
else
else
/* don't know; give up */
return META_BUTTON_FUNCTION_LAST;
}
@ -1535,7 +1535,7 @@ button_layout_handler (GVariant *value,
new_layout.right_buttons_has_spacer[i] = FALSE;
++i;
}
buttons = g_strsplit (sides[1], ",", -1);
i = 0;
b = 0;
@ -1571,7 +1571,7 @@ button_layout_handler (GVariant *value,
buttons[b]);
}
}
++b;
}
@ -1585,13 +1585,13 @@ button_layout_handler (GVariant *value,
}
g_strfreev (sides);
/* Invert the button layout for RTL languages */
if (meta_ui_get_direction() == META_UI_DIRECTION_RTL)
{
MetaButtonLayout rtl_layout;
int j;
for (i = 0; new_layout.left_buttons[i] != META_BUTTON_FUNCTION_LAST; i++);
for (j = 0; j < i; j++)
{
@ -1606,7 +1606,7 @@ button_layout_handler (GVariant *value,
rtl_layout.right_buttons[j] = META_BUTTON_FUNCTION_LAST;
rtl_layout.right_buttons_has_spacer[j] = FALSE;
}
for (i = 0; new_layout.right_buttons[i] != META_BUTTON_FUNCTION_LAST; i++);
for (j = 0; j < i; j++)
{
@ -1751,7 +1751,7 @@ meta_preference_to_string (MetaPreference pref)
case META_PREF_RAISE_ON_CLICK:
return "RAISE_ON_CLICK";
case META_PREF_THEME:
return "THEME";
@ -1778,7 +1778,7 @@ meta_preference_to_string (MetaPreference pref)
case META_PREF_AUTO_RAISE:
return "AUTO_RAISE";
case META_PREF_AUTO_RAISE_DELAY:
return "AUTO_RAISE_DELAY";
@ -2021,7 +2021,7 @@ meta_prefs_change_workspace_name (int num,
{
GVariantBuilder builder;
int n_workspace_names, i;
g_return_if_fail (num >= 0);
meta_topic (META_DEBUG_PREFS,
@ -2181,7 +2181,7 @@ meta_prefs_get_keybindings ()
return g_hash_table_get_values (key_bindings);
}
void
void
meta_prefs_get_overlay_binding (MetaKeyCombo *combo)
{
*combo = overlay_key_combo;

View File

@ -9,11 +9,11 @@
* which the rest of the world is allowed to use.)
*/
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
*
*
* 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
@ -23,7 +23,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -73,7 +73,7 @@ struct _MetaScreen
* any actual clients
*/
Window no_focus_window;
GList *workspaces;
MetaStack *stack;
@ -110,11 +110,11 @@ struct _MetaScreen
MetaScreenCorner starting_corner;
guint vertical_workspaces : 1;
guint workspace_layout_overridden : 1;
guint keys_grabbed : 1;
int closing;
/* Instead of unmapping withdrawn windows we can leave them mapped
* and restack them below a guard window. When using a compositor
* this allows us to provide live previews of unmapped windows */

View File

@ -1,13 +1,13 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001, 2002 Havoc Pennington
* Copyright (C) 2002, 2003 Red Hat Inc.
* Some ICCCM manager selection code derived from fvwm2,
* Copyright (C) 2001 Dominik Vogt, Matthias Clasen, and fvwm2 team
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
*
*
* 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
@ -17,7 +17,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -267,7 +267,7 @@ set_wm_check_hint (MetaScreen *screen)
unsigned long data[1];
g_return_val_if_fail (screen->display->leader_window != None, 0);
data[0] = screen->display->leader_window;
XChangeProperty (screen->display->xdisplay, screen->xroot,
@ -281,7 +281,7 @@ set_wm_check_hint (MetaScreen *screen)
static void
unset_wm_check_hint (MetaScreen *screen)
{
XDeleteProperty (screen->display->xdisplay, screen->xroot,
XDeleteProperty (screen->display->xdisplay, screen->xroot,
screen->display->atom__NET_SUPPORTING_WM_CHECK);
}
@ -303,7 +303,7 @@ set_supported_hint (MetaScreen *screen)
XA_ATOM,
32, PropModeReplace,
(guchar*) atoms, G_N_ELEMENTS(atoms));
return Success;
}
@ -327,12 +327,12 @@ set_wm_icon_size_hint (MetaScreen *screen)
vals[4] = 0;
vals[5] = 0;
#undef LEGACY_ICON_SIZE
XChangeProperty (screen->display->xdisplay, screen->xroot,
screen->display->atom_WM_ICON_SIZE,
XA_CARDINAL,
32, PropModeReplace, (guchar*) vals, N_VALS);
return Success;
#undef N_VALS
}
@ -411,7 +411,7 @@ reload_monitor_infos (MetaScreen *screen)
MetaWorkspace *space = tmp->data;
meta_workspace_invalidate_work_area (space);
tmp = tmp->next;
}
@ -506,16 +506,16 @@ meta_screen_new (MetaDisplay *display,
guint32 manager_timestamp;
gulong current_workspace;
MetaMonitorManager *manager;
replace_current_wm = meta_get_replace_current_wm ();
/* Only display->name, display->xdisplay, and display->error_traps
* can really be used in this function, since normally screens are
* created from the MetaDisplay constructor
*/
xdisplay = display->xdisplay;
meta_verbose ("Trying screen %d on display '%s'\n",
number, display->name);
@ -532,14 +532,14 @@ meta_screen_new (MetaDisplay *display,
}
sprintf (buf, "WM_S%d", number);
wm_sn_atom = XInternAtom (xdisplay, buf, False);
wm_sn_atom = XInternAtom (xdisplay, buf, False);
current_wm_sn_owner = XGetSelectionOwner (xdisplay, wm_sn_atom);
if (current_wm_sn_owner != None)
{
XSetWindowAttributes attrs;
if (!replace_current_wm)
{
meta_warning (_("Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n"),
@ -563,7 +563,7 @@ meta_screen_new (MetaDisplay *display,
new_wm_sn_owner = meta_create_offscreen_window (xdisplay, xroot, NoEventMask);
manager_timestamp = timestamp;
XSetSelectionOwner (xdisplay, wm_sn_atom, new_wm_sn_owner,
manager_timestamp);
@ -573,14 +573,14 @@ meta_screen_new (MetaDisplay *display,
number, display->name);
XDestroyWindow (xdisplay, new_wm_sn_owner);
return NULL;
}
{
/* Send client message indicating that we are now the WM */
XClientMessageEvent ev;
ev.type = ClientMessage;
ev.window = xroot;
ev.message_type = display->atom_MANAGER;
@ -597,7 +597,7 @@ meta_screen_new (MetaDisplay *display,
XEvent event;
/* We sort of block infinitely here which is probably lame. */
meta_verbose ("Waiting for old window manager to exit\n");
do
{
@ -606,7 +606,7 @@ meta_screen_new (MetaDisplay *display,
}
while (event.type != DestroyNotify);
}
/* select our root window events */
meta_error_trap_push (display);
@ -651,13 +651,13 @@ meta_screen_new (MetaDisplay *display,
number, display->name);
XDestroyWindow (xdisplay, new_wm_sn_owner);
return NULL;
}
screen = g_object_new (META_TYPE_SCREEN, NULL);
screen->closing = 0;
screen->display = display;
screen->number = number;
screen->screen_name = get_screen_name (display, number);
@ -681,8 +681,8 @@ meta_screen_new (MetaDisplay *display,
screen->wm_sn_atom = wm_sn_atom;
screen->wm_sn_timestamp = manager_timestamp;
screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay,
xroot,
screen->wm_cm_selection_window = meta_create_offscreen_window (xdisplay,
xroot,
NoEventMask);
screen->work_area_later = 0;
screen->check_fullscreen_later = 0;
@ -699,18 +699,18 @@ meta_screen_new (MetaDisplay *display,
meta_screen_set_cursor (screen, META_CURSOR_DEFAULT);
/* Handle creating a no_focus_window for this screen */
/* Handle creating a no_focus_window for this screen */
screen->no_focus_window =
meta_create_offscreen_window (display->xdisplay,
screen->xroot,
FocusChangeMask|KeyPressMask|KeyReleaseMask);
XMapWindow (display->xdisplay, screen->no_focus_window);
/* Done with no_focus_window stuff */
set_wm_icon_size_hint (screen);
set_supported_hint (screen);
set_wm_check_hint (screen);
set_desktop_viewport_hint (screen);
@ -729,13 +729,13 @@ meta_screen_new (MetaDisplay *display,
(int) current_workspace);
else
meta_verbose ("No _NET_CURRENT_DESKTOP present\n");
/* Screens must have at least one workspace at all times,
* so create that required workspace.
*/
meta_workspace_activate (meta_workspace_new (screen), timestamp);
update_num_workspaces (screen, timestamp);
set_workspace_names (screen);
screen->keys_grabbed = FALSE;
@ -765,10 +765,10 @@ meta_screen_new (MetaDisplay *display,
/* Switch to the _NET_CURRENT_DESKTOP workspace */
{
MetaWorkspace *space;
space = meta_screen_get_workspace_by_index (screen,
current_workspace);
if (space != NULL)
meta_workspace_activate (space, timestamp);
}
@ -788,15 +788,15 @@ meta_screen_free (MetaScreen *screen,
display = screen->display;
screen->closing += 1;
meta_display_grab (display);
meta_compositor_unmanage (screen->display->compositor);
meta_display_unmanage_windows_for_screen (display, screen, timestamp);
meta_prefs_remove_listener (prefs_changed_callback, screen);
meta_screen_ungrab_keys (screen);
#ifdef HAVE_STARTUP_NOTIFICATION
@ -816,7 +816,7 @@ meta_screen_free (MetaScreen *screen,
screen->sn_context = NULL;
}
#endif
meta_ui_free (screen->ui);
meta_stack_free (screen->stack);
@ -832,7 +832,7 @@ meta_screen_free (MetaScreen *screen,
XDestroyWindow (screen->display->xdisplay,
screen->wm_sn_selection_window);
if (screen->work_area_later != 0)
meta_later_remove (screen->work_area_later);
if (screen->check_fullscreen_later != 0)
@ -887,7 +887,7 @@ prefs_changed_callback (MetaPreference pref,
gpointer data)
{
MetaScreen *screen = data;
if ((pref == META_PREF_NUM_WORKSPACES ||
pref == META_PREF_DYNAMIC_WORKSPACES) &&
!meta_prefs_get_dynamic_workspaces ())
@ -895,7 +895,7 @@ prefs_changed_callback (MetaPreference pref,
/* GSettings doesn't provide timestamps, but luckily update_num_workspaces
* often doesn't need it...
*/
guint32 timestamp =
guint32 timestamp =
meta_display_get_current_time_roundtrip (screen->display);
update_num_workspaces (screen, timestamp);
}
@ -917,7 +917,7 @@ get_screen_name (MetaDisplay *display,
char *p;
char *dname;
char *scr;
/* DisplayString gives us a sort of canonical display,
* vs. the user-entered name from XDisplayName()
*/
@ -932,7 +932,7 @@ get_screen_name (MetaDisplay *display,
if (p)
*p = '\0';
}
scr = g_strdup_printf ("%s.%d", dname, number);
g_free (dname);
@ -955,7 +955,7 @@ static void
listify_func (gpointer key, gpointer value, gpointer data)
{
GSList **listp;
listp = data;
*listp = g_slist_prepend (*listp, value);
@ -981,14 +981,14 @@ meta_screen_foreach_window (MetaScreen *screen,
/* If we end up doing this often, just keeping a list
* of windows might be sensible.
*/
winlist = NULL;
g_hash_table_foreach (screen->display->xids,
listify_func,
&winlist);
winlist = g_slist_sort (winlist, ptrcmp);
tmp = winlist;
while (tmp != NULL)
{
@ -1005,7 +1005,7 @@ meta_screen_foreach_window (MetaScreen *screen,
!window->override_redirect)
(* func) (screen, window, data);
}
tmp = tmp->next;
}
g_slist_free (winlist);
@ -1039,7 +1039,7 @@ meta_screen_get_workspace_by_index (MetaScreen *screen,
/* should be robust, idx is maybe from an app */
if (idx < 0)
return NULL;
i = 0;
tmp = screen->workspaces;
while (tmp != NULL)
@ -1258,7 +1258,7 @@ update_num_workspaces (MetaScreen *screen,
GList *extras;
MetaWorkspace *last_remaining;
gboolean need_change_space;
if (meta_prefs_get_dynamic_workspaces ())
{
int n_items;
@ -1301,14 +1301,14 @@ update_num_workspaces (MetaScreen *screen,
extras = g_list_prepend (extras, w);
else
last_remaining = w;
++i;
tmp = tmp->next;
}
old_num = i;
g_assert (last_remaining);
/* Get rid of the extra workspaces by moving all their windows
* to last_remaining, then activating last_remaining if
* one of the removed workspaces was active. This will be a bit
@ -1321,11 +1321,11 @@ update_num_workspaces (MetaScreen *screen,
{
MetaWorkspace *w = tmp->data;
meta_workspace_relocate_windows (w, last_remaining);
meta_workspace_relocate_windows (w, last_remaining);
if (w == screen->active_workspace)
need_change_space = TRUE;
tmp = tmp->next;
}
@ -1551,7 +1551,7 @@ meta_screen_get_monitor_for_window (MetaScreen *screen,
MetaWindow *window)
{
MetaRectangle window_rect;
meta_window_get_frame_rect (window, &window_rect);
return meta_screen_get_monitor_for_rect (screen, &window_rect);
@ -1565,7 +1565,7 @@ meta_screen_get_monitor_index_for_rect (MetaScreen *screen,
return monitor->number;
}
const MetaMonitorInfo*
const MetaMonitorInfo*
meta_screen_get_monitor_neighbor (MetaScreen *screen,
int which_monitor,
MetaScreenDirection direction)
@ -1578,23 +1578,23 @@ meta_screen_get_monitor_neighbor (MetaScreen *screen,
{
current = screen->monitor_infos + i;
if ((direction == META_SCREEN_RIGHT &&
if ((direction == META_SCREEN_RIGHT &&
current->rect.x == input->rect.x + input->rect.width &&
meta_rectangle_vert_overlap(&current->rect, &input->rect)) ||
(direction == META_SCREEN_LEFT &&
(direction == META_SCREEN_LEFT &&
input->rect.x == current->rect.x + current->rect.width &&
meta_rectangle_vert_overlap(&current->rect, &input->rect)) ||
(direction == META_SCREEN_UP &&
(direction == META_SCREEN_UP &&
input->rect.y == current->rect.y + current->rect.height &&
meta_rectangle_horiz_overlap(&current->rect, &input->rect)) ||
(direction == META_SCREEN_DOWN &&
(direction == META_SCREEN_DOWN &&
current->rect.y == input->rect.y + input->rect.height &&
meta_rectangle_horiz_overlap(&current->rect, &input->rect)))
{
return current;
}
}
return NULL;
}
@ -1634,7 +1634,7 @@ meta_screen_get_natural_monitor_list (MetaScreen *screen,
while (!g_queue_is_empty (monitor_queue))
{
current = (const MetaMonitorInfo*)
current = (const MetaMonitorInfo*)
g_queue_pop_head (monitor_queue);
(*monitors_list)[cur++] = current->number;
@ -1775,10 +1775,10 @@ meta_screen_get_current_monitor (MetaScreen *screen)
if (screen->n_monitor_infos == 1)
return 0;
/* Sadly, we have to do it this way. Yuck.
*/
if (screen->display->monitor_cache_invalidated)
{
int x, y;
@ -1858,7 +1858,7 @@ meta_screen_update_workspace_layout (MetaScreen *screen)
if (screen->workspace_layout_overridden)
return;
list = NULL;
n_items = 0;
@ -1870,7 +1870,7 @@ meta_screen_update_workspace_layout (MetaScreen *screen)
if (n_items == 3 || n_items == 4)
{
int cols, rows;
switch (list[0])
{
case _NET_WM_ORIENTATION_HORZ:
@ -1897,7 +1897,7 @@ meta_screen_update_workspace_layout (MetaScreen *screen)
screen->rows_of_workspaces = rows;
else
screen->rows_of_workspaces = -1;
if (cols > 0)
screen->columns_of_workspaces = cols;
else
@ -2007,10 +2007,10 @@ set_workspace_names (MetaScreen *screen)
strlen (name) + 1);
else
g_string_append_len (flattened, "", 1);
++i;
}
meta_error_trap_push (screen->display);
XChangeProperty (screen->display->xdisplay,
screen->xroot,
@ -2019,7 +2019,7 @@ set_workspace_names (MetaScreen *screen)
8, PropModeReplace,
(unsigned char *)flattened->str, flattened->len);
meta_error_trap_pop (screen->display);
g_string_free (flattened, TRUE);
}
@ -2033,7 +2033,7 @@ meta_screen_update_workspace_names (MetaScreen *screen)
/* this updates names in prefs when the root window property changes,
* iff the new property contents don't match what's already in prefs
*/
names = NULL;
n_names = 0;
if (!meta_prop_get_utf8_list (screen->display,
@ -2053,10 +2053,10 @@ meta_screen_update_workspace_names (MetaScreen *screen)
"Setting workspace %d name to \"%s\" due to _NET_DESKTOP_NAMES change\n",
i, names[i] ? names[i] : "null");
meta_prefs_change_workspace_name (i, names[i]);
++i;
}
g_strfreev (names);
}
@ -2073,7 +2073,7 @@ meta_create_offscreen_window (Display *xdisplay,
*/
attrs.override_redirect = True;
attrs.event_mask = valuemask;
return XCreateWindow (xdisplay,
parent,
-100, -100, 1, 1,
@ -2092,12 +2092,12 @@ set_work_area_hint (MetaScreen *screen)
GList *tmp_list;
unsigned long *data, *tmp;
MetaRectangle area;
num_workspaces = meta_screen_get_n_workspaces (screen);
data = g_new (unsigned long, num_workspaces * 4);
tmp_list = screen->workspaces;
tmp = data;
while (tmp_list != NULL)
{
MetaWorkspace *workspace = tmp_list->data;
@ -2112,10 +2112,10 @@ set_work_area_hint (MetaScreen *screen)
tmp += 4;
}
tmp_list = tmp_list->next;
}
meta_error_trap_push (screen->display);
XChangeProperty (screen->display->xdisplay, screen->xroot,
screen->display->atom__NET_WORKAREA,
@ -2132,11 +2132,11 @@ set_work_area_later_func (MetaScreen *screen)
{
meta_topic (META_DEBUG_WORKAREA,
"Running work area hint computation function\n");
screen->work_area_later = 0;
set_work_area_hint (screen);
return FALSE;
}
@ -2188,7 +2188,7 @@ meta_screen_calc_workspace_layout (MetaScreen *screen,
int *grid;
int i, r, c;
int current_row, current_col;
rows = screen->rows_of_workspaces;
cols = screen->columns_of_workspaces;
if (rows <= 0 && cols <= 0)
@ -2206,58 +2206,58 @@ meta_screen_calc_workspace_layout (MetaScreen *screen,
cols = 1;
g_assert (rows != 0 && cols != 0);
grid_area = rows * cols;
meta_verbose ("Getting layout rows = %d cols = %d current = %d "
"num_spaces = %d vertical = %s corner = %s\n",
rows, cols, current_space, num_workspaces,
screen->vertical_workspaces ? "(true)" : "(false)",
meta_screen_corner_to_string (screen->starting_corner));
/* ok, we want to setup the distances in the workspace array to go
* in each direction. Remember, there are many ways that a workspace
* array can be setup.
* see http://www.freedesktop.org/standards/wm-spec/1.2/html/x109.html
* and look at the _NET_DESKTOP_LAYOUT section for details.
/* ok, we want to setup the distances in the workspace array to go
* in each direction. Remember, there are many ways that a workspace
* array can be setup.
* see http://www.freedesktop.org/standards/wm-spec/1.2/html/x109.html
* and look at the _NET_DESKTOP_LAYOUT section for details.
* For instance:
*/
/* starting_corner = META_SCREEN_TOPLEFT
/* starting_corner = META_SCREEN_TOPLEFT
* vertical_workspaces = 0 vertical_workspaces=1
* 1234 1357
* 5678 2468
*
* starting_corner = META_SCREEN_TOPRIGHT
* 1234 1357
* 5678 2468
*
* starting_corner = META_SCREEN_TOPRIGHT
* vertical_workspaces = 0 vertical_workspaces=1
* 4321 7531
* 8765 8642
*
* starting_corner = META_SCREEN_BOTTOMLEFT
* 4321 7531
* 8765 8642
*
* starting_corner = META_SCREEN_BOTTOMLEFT
* vertical_workspaces = 0 vertical_workspaces=1
* 5678 2468
* 1234 1357
*
* starting_corner = META_SCREEN_BOTTOMRIGHT
* 5678 2468
* 1234 1357
*
* starting_corner = META_SCREEN_BOTTOMRIGHT
* vertical_workspaces = 0 vertical_workspaces=1
* 8765 8642
* 4321 7531
* 8765 8642
* 4321 7531
*
*/
/* keep in mind that we could have a ragged layout, e.g. the "8"
* in the above grids could be missing
*/
grid = g_new (int, grid_area);
current_row = -1;
current_col = -1;
i = 0;
switch (screen->starting_corner)
switch (screen->starting_corner)
{
case META_SCREEN_TOPLEFT:
if (screen->vertical_workspaces)
if (screen->vertical_workspaces)
{
c = 0;
while (c < cols)
@ -2289,7 +2289,7 @@ meta_screen_calc_workspace_layout (MetaScreen *screen,
}
break;
case META_SCREEN_TOPRIGHT:
if (screen->vertical_workspaces)
if (screen->vertical_workspaces)
{
c = cols - 1;
while (c >= 0)
@ -2321,7 +2321,7 @@ meta_screen_calc_workspace_layout (MetaScreen *screen,
}
break;
case META_SCREEN_BOTTOMLEFT:
if (screen->vertical_workspaces)
if (screen->vertical_workspaces)
{
c = 0;
while (c < cols)
@ -2353,7 +2353,7 @@ meta_screen_calc_workspace_layout (MetaScreen *screen,
}
break;
case META_SCREEN_BOTTOMRIGHT:
if (screen->vertical_workspaces)
if (screen->vertical_workspaces)
{
c = cols - 1;
while (c >= 0)
@ -2384,12 +2384,12 @@ meta_screen_calc_workspace_layout (MetaScreen *screen,
}
}
break;
}
}
if (i != grid_area)
meta_bug ("did not fill in the whole workspace grid in %s (%d filled)\n",
G_STRFUNC, i);
current_row = 0;
current_col = 0;
r = 0;
@ -2525,7 +2525,7 @@ meta_screen_update_showing_desktop_hint (MetaScreen *screen)
unsigned long data[1];
data[0] = screen->active_workspace->showing_desktop ? 1 : 0;
meta_error_trap_push (screen->display);
XChangeProperty (screen->display->xdisplay, screen->xroot,
screen->display->atom__NET_SHOWING_DESKTOP,
@ -2553,7 +2553,7 @@ queue_windows_showing (MetaScreen *screen)
if (w->screen == screen)
meta_window_queue (w, META_QUEUE_CALC_SHOWING);
tmp = tmp->next;
}
@ -2568,32 +2568,32 @@ meta_screen_minimize_all_on_active_workspace_except (MetaScreen *screen,
GList *tmp;
windows = screen->active_workspace->windows;
tmp = windows;
while (tmp != NULL)
{
MetaWindow *w = tmp->data;
if (w->screen == screen &&
w->has_minimize_func &&
w != keep)
meta_window_minimize (w);
tmp = tmp->next;
}
}
void
meta_screen_show_desktop (MetaScreen *screen,
meta_screen_show_desktop (MetaScreen *screen,
guint32 timestamp)
{
GList *windows;
if (screen->active_workspace->showing_desktop)
return;
screen->active_workspace->showing_desktop = TRUE;
queue_windows_showing (screen);
/* Focus the most recently used META_WINDOW_DESKTOP window, if there is one;
@ -2603,18 +2603,18 @@ meta_screen_show_desktop (MetaScreen *screen,
while (windows != NULL)
{
MetaWindow *w = windows->data;
if (w->screen == screen &&
if (w->screen == screen &&
w->type == META_WINDOW_DESKTOP)
{
meta_window_focus (w, timestamp);
break;
}
windows = windows->next;
}
meta_screen_update_showing_desktop_hint (screen);
}
@ -2685,7 +2685,7 @@ remove_sequence (MetaScreen *screen,
meta_topic (META_DEBUG_STARTUP,
"Removing sequence %s\n",
sn_startup_sequence_get_id (sequence));
screen->startup_sequences = g_slist_remove (screen->startup_sequences,
sequence);
@ -2722,7 +2722,7 @@ collect_timed_out_foreach (void *element,
SnStartupSequence *sequence = element;
long tv_sec, tv_usec;
double elapsed;
sn_startup_sequence_get_last_active_time (sequence, &tv_sec, &tv_usec);
elapsed =
@ -2733,7 +2733,7 @@ collect_timed_out_foreach (void *element,
"Sequence used %g seconds vs. %g max: %s\n",
elapsed, (double) STARTUP_TIMEOUT,
sn_startup_sequence_get_id (sequence));
if (elapsed > STARTUP_TIMEOUT)
ctod->list = g_slist_prepend (ctod->list, sequence);
}
@ -2744,7 +2744,7 @@ startup_sequence_timeout (void *data)
MetaScreen *screen = data;
CollectTimedOutData ctod;
GSList *tmp;
ctod.list = NULL;
g_get_current_time (&ctod.now);
g_slist_foreach (screen->startup_sequences,
@ -2759,14 +2759,14 @@ startup_sequence_timeout (void *data)
meta_topic (META_DEBUG_STARTUP,
"Timed out sequence %s\n",
sn_startup_sequence_get_id (sequence));
sn_startup_sequence_complete (sequence);
tmp = tmp->next;
}
g_slist_free (ctod.list);
if (screen->startup_sequences != NULL)
{
return TRUE;
@ -2785,7 +2785,7 @@ meta_screen_sn_event (SnMonitorEvent *event,
{
MetaScreen *screen;
SnStartupSequence *sequence;
screen = user_data;
sequence = sn_monitor_event_get_startup_sequence (event);
@ -2799,7 +2799,7 @@ meta_screen_sn_event (SnMonitorEvent *event,
const char *wmclass;
wmclass = sn_startup_sequence_get_wmclass (sequence);
meta_topic (META_DEBUG_STARTUP,
"Received startup initiated for %s wmclass %s\n",
sn_startup_sequence_get_id (sequence),
@ -2865,7 +2865,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
const char *startup_id;
GSList *tmp;
SnStartupSequence *sequence;
/* Does the window have a startup ID stored? */
startup_id = meta_window_get_startup_id (window);
@ -2873,7 +2873,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
"Applying startup props to %s id \"%s\"\n",
window->desc,
startup_id ? startup_id : "(none)");
sequence = NULL;
if (startup_id == NULL)
{
@ -2904,11 +2904,11 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
"Ending legacy sequence %s due to window %s\n",
sn_startup_sequence_get_id (sequence),
window->desc);
sn_startup_sequence_complete (sequence);
break;
}
tmp = tmp->next;
}
}
@ -2916,7 +2916,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
/* Still no startup ID? Bail. */
if (startup_id == NULL)
return FALSE;
/* We might get this far and not know the sequence ID (if the window
* already had a startup ID stored), so let's look for one if we don't
* already know it.
@ -2927,15 +2927,15 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
while (tmp != NULL)
{
const char *id;
id = sn_startup_sequence_get_id (tmp->data);
if (strcmp (id, startup_id) == 0)
{
sequence = tmp->data;
break;
}
tmp = tmp->next;
}
}
@ -2943,7 +2943,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
if (sequence != NULL)
{
gboolean changed_something = FALSE;
meta_topic (META_DEBUG_STARTUP,
"Found startup sequence for window %s ID \"%s\"\n",
window->desc, startup_id);
@ -2956,7 +2956,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
meta_topic (META_DEBUG_STARTUP,
"Setting initial window workspace to %d based on startup info\n",
space);
window->initial_workspace_set = TRUE;
window->initial_workspace = space;
changed_something = TRUE;
@ -2969,7 +2969,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
meta_topic (META_DEBUG_STARTUP,
"Setting initial window timestamp to %u based on startup info\n",
timestamp);
window->initial_timestamp_set = TRUE;
window->initial_timestamp = timestamp;
changed_something = TRUE;
@ -2983,7 +2983,7 @@ meta_screen_apply_startup_properties (MetaScreen *screen,
"Did not find startup sequence for window %s ID \"%s\"\n",
window->desc, startup_id);
}
#endif /* HAVE_STARTUP_NOTIFICATION */
return FALSE;
@ -2998,10 +2998,10 @@ meta_screen_get_screen_number (MetaScreen *screen)
/**
* meta_screen_get_display:
* @screen: A #MetaScreen
*
*
* Retrieve the display associated with screen.
*
* Returns: (transfer none): Display
* Returns: (transfer none): Display
*/
MetaDisplay *
meta_screen_get_display (MetaScreen *screen)
@ -3028,7 +3028,7 @@ meta_screen_get_xroot (MetaScreen *screen)
*
* Retrieve the size of the screen.
*/
void
void
meta_screen_get_size (MetaScreen *screen,
int *width,
int *height)
@ -3052,7 +3052,7 @@ meta_screen_set_cm_selection (MetaScreen *screen)
g_snprintf (selection, sizeof(selection), "_NET_WM_CM_S%d", screen->number);
meta_verbose ("Setting selection: %s\n", selection);
a = XInternAtom (screen->display->xdisplay, selection, FALSE);
XSetSelectionOwner (screen->display->xdisplay, a,
XSetSelectionOwner (screen->display->xdisplay, a,
screen->wm_cm_selection_window, screen->wm_cm_timestamp);
}
@ -3141,11 +3141,11 @@ meta_screen_set_active_workspace_hint (MetaScreen *screen)
*/
if (screen->closing > 0)
return;
data[0] = meta_workspace_index (screen->active_workspace);
meta_verbose ("Setting _NET_CURRENT_DESKTOP to %lu\n", data[0]);
meta_error_trap_push (screen->display);
XChangeProperty (screen->display->xdisplay, screen->xroot,
screen->display->atom__NET_CURRENT_DESKTOP,

View File

@ -921,7 +921,7 @@ resync_verified_stack_with_xserver_stack (MetaStackTracker *tracker)
MetaStackWindow new;
MetaStackWindow *expected;
int expected_index;
/* If the current window corresponds to a window that's not
* in xserver_stack any more then the least disruptive thing
* we can do is to simply remove it and take another look at

View File

@ -5,12 +5,12 @@
* @short_description: Which windows cover which other windows
*/
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2002, 2003 Red Hat, Inc.
* Copyright (C) 2004 Rob Adams
* Copyright (C) 2004, 2005 Elijah Newren
*
*
* 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
@ -20,7 +20,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -67,7 +67,7 @@ MetaStack*
meta_stack_new (MetaScreen *screen)
{
MetaStack *stack;
stack = g_new (MetaStack, 1);
stack->screen = screen;
@ -85,7 +85,7 @@ meta_stack_new (MetaScreen *screen)
stack->need_resort = FALSE;
stack->need_relayer = FALSE;
stack->need_constrain = FALSE;
return stack;
}
@ -107,7 +107,7 @@ meta_stack_free (MetaStack *stack)
if (stack->last_all_root_children_stacked)
free_last_all_root_children_stacked_cache (stack);
g_free (stack);
}
@ -119,7 +119,7 @@ meta_stack_add (MetaStack *stack,
if (window->stack_position >= 0)
meta_bug ("Window %s had stack position already\n", window->desc);
stack->added = g_list_prepend (stack->added, window);
window->stack_position = stack->n_positions;
@ -127,7 +127,7 @@ meta_stack_add (MetaStack *stack,
meta_topic (META_DEBUG_STACK,
"Window %s has stack_position initialized to %d\n",
window->desc, window->stack_position);
stack_sync_to_xserver (stack);
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
}
@ -148,7 +148,7 @@ meta_stack_remove (MetaStack *stack,
meta_window_set_stack_position_no_sync (window,
stack->n_positions - 1);
window->stack_position = -1;
stack->n_positions -= 1;
stack->n_positions -= 1;
/* We don't know if it's been moved from "added" to "stack" yet */
stack->added = g_list_remove (stack->added, window);
@ -163,7 +163,7 @@ meta_stack_remove (MetaStack *stack,
if (window->frame)
stack->removed = g_list_prepend (stack->removed,
GUINT_TO_POINTER (window->frame->xwindow));
stack_sync_to_xserver (stack);
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
}
@ -173,7 +173,7 @@ meta_stack_update_layer (MetaStack *stack,
MetaWindow *window)
{
stack->need_relayer = TRUE;
stack_sync_to_xserver (stack);
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
}
@ -183,7 +183,7 @@ meta_stack_update_transient (MetaStack *stack,
MetaWindow *window)
{
stack->need_constrain = TRUE;
stack_sync_to_xserver (stack);
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
}
@ -240,7 +240,7 @@ meta_stack_lower (MetaStack *stack,
return;
meta_window_set_stack_position_no_sync (window, min_stack_position);
stack_sync_to_xserver (stack);
meta_stack_update_window_tile_matches (stack, window->screen->active_workspace);
}
@ -255,7 +255,7 @@ void
meta_stack_thaw (MetaStack *stack)
{
g_return_if_fail (stack->freeze_count > 0);
stack->freeze_count -= 1;
stack_sync_to_xserver (stack);
meta_stack_update_window_tile_matches (stack, NULL);
@ -333,7 +333,7 @@ get_standalone_layer (MetaWindow *window)
case META_WINDOW_OVERRIDE_OTHER:
layer = META_LAYER_OVERRIDE_REDIRECT;
break;
default:
default:
meta_window_foreach_transient (window,
is_focused_foreach,
&focused_transient);
@ -369,16 +369,16 @@ get_maximum_layer_in_group (MetaWindow *window)
GSList *tmp;
MetaStackLayer max;
MetaStackLayer layer;
max = META_LAYER_DESKTOP;
group = meta_window_get_group (window);
if (group != NULL)
members = meta_group_list_windows (group);
else
members = NULL;
tmp = members;
while (tmp != NULL)
{
@ -390,12 +390,12 @@ get_maximum_layer_in_group (MetaWindow *window)
if (layer > max)
max = layer;
}
tmp = tmp->next;
}
g_slist_free (members);
return max;
}
@ -405,7 +405,7 @@ compute_layer (MetaWindow *window)
MetaStackLayer old_layer = window->layer;
window->layer = get_standalone_layer (window);
/* We can only do promotion-due-to-group for dialogs and other
* transients, or weird stuff happens like the desktop window and
* nautilus windows getting in the same layer, or all gnome-terminal
@ -422,11 +422,11 @@ compute_layer (MetaWindow *window)
* and a dialog transient for the normal window; you don't want the dialog
* above the dock if it wouldn't normally be.
*/
MetaStackLayer group_max;
group_max = get_maximum_layer_in_group (window);
if (group_max > window->layer)
{
meta_topic (META_DEBUG_STACK,
@ -467,10 +467,10 @@ compare_window_position (void *a,
else
return 0; /* not reached */
}
/*
* Stacking constraints
*
*
* Assume constraints of the form "AB" meaning "window A must be
* below window B"
*
@ -487,14 +487,14 @@ compare_window_position (void *a,
* apply BC: ABC
*
* but apply constraints in the wrong order and it breaks:
*
*
* start: BCA
* apply BC: BCA
* apply AB: CAB
*
* We make a directed graph of the constraints by linking
* from "above windows" to "below windows as follows:
*
*
* AB -> BC -> CD
* \
* CE
@ -519,7 +519,7 @@ struct Constraint
/* used to create the graph. */
GSList *next_nodes;
/* constraint has been applied, used
* to detect cycles.
*/
@ -547,7 +547,7 @@ add_constraint (Constraint **constraints,
Constraint *c;
g_assert (above->screen == below->screen);
/* check if constraint is a duplicate */
c = constraints[below->stack_position];
while (c != NULL)
@ -574,7 +574,7 @@ create_constraints (Constraint **constraints,
GList *windows)
{
GList *tmp;
tmp = windows;
while (tmp != NULL)
{
@ -587,7 +587,7 @@ create_constraints (Constraint **constraints,
tmp = tmp->next;
continue;
}
if (WINDOW_TRANSIENT_FOR_WHOLE_GROUP (w))
{
GSList *group_windows;
@ -600,9 +600,9 @@ create_constraints (Constraint **constraints,
group_windows = meta_group_list_windows (group);
else
group_windows = NULL;
tmp2 = group_windows;
while (tmp2 != NULL)
{
MetaWindow *group_window = tmp2->data;
@ -614,7 +614,7 @@ create_constraints (Constraint **constraints,
tmp2 = tmp2->next;
continue;
}
#if 0
/* old way of doing it */
if (!(meta_window_is_ancestor_of_transient (w, group_window)) &&
@ -630,7 +630,7 @@ create_constraints (Constraint **constraints,
w->desc, group_window->desc);
add_constraint (constraints, w, group_window);
}
tmp2 = tmp2->next;
}
@ -640,7 +640,7 @@ create_constraints (Constraint **constraints,
!w->transient_parent_is_root_window)
{
MetaWindow *parent;
parent =
meta_display_lookup_x_window (w->display, w->xtransient_for);
@ -652,7 +652,7 @@ create_constraints (Constraint **constraints,
add_constraint (constraints, w, parent);
}
}
tmp = tmp->next;
}
}
@ -671,12 +671,12 @@ graph_constraints (Constraint **constraints,
/* If we have "A below B" and "B below C" then AB -> BC so we
* add BC to next_nodes in AB.
*/
c = constraints[i];
while (c != NULL)
{
Constraint *n;
g_assert (c->below->stack_position == i);
/* Constraints where ->above is below are our
@ -689,10 +689,10 @@ graph_constraints (Constraint **constraints,
n);
/* c is a previous node of n */
n->has_prev = TRUE;
n = n->next;
}
c = c->next;
}
@ -710,16 +710,16 @@ free_constraints (Constraint **constraints,
while (i < n_constraints)
{
Constraint *c;
c = constraints[i];
while (c != NULL)
{
Constraint *next = c->next;
g_slist_free (c->next_nodes);
g_free (c);
c = next;
}
@ -730,7 +730,7 @@ free_constraints (Constraint **constraints,
static void
ensure_above (MetaWindow *above,
MetaWindow *below)
{
{
if (WINDOW_HAS_TRANSIENT_TYPE(above) &&
above->layer < below->layer)
{
@ -758,10 +758,10 @@ traverse_constraint (Constraint *c)
if (c->applied)
return;
ensure_above (c->above, c->below);
c->applied = TRUE;
tmp = c->next_nodes;
while (tmp != NULL)
{
@ -785,13 +785,13 @@ apply_constraints (Constraint **constraints,
while (i < n_constraints)
{
Constraint *c;
c = constraints[i];
while (c != NULL)
{
if (!c->has_prev)
heads = g_slist_prepend (heads, c);
c = c->next;
}
@ -805,7 +805,7 @@ apply_constraints (Constraint **constraints,
Constraint *c = tmp->data;
traverse_constraint (c);
tmp = tmp->next;
}
@ -826,7 +826,7 @@ stack_do_window_deletions (MetaStack *stack)
*/
GList *tmp;
int i;
tmp = stack->removed;
while (tmp != NULL)
{
@ -840,7 +840,7 @@ stack_do_window_deletions (MetaStack *stack)
while (i > 0)
{
--i;
/* there's no guarantee we'll actually find windows to
* remove, e.g. the same xwindow could have been
* added/removed before we ever synced, and we put
@ -877,34 +877,34 @@ stack_do_window_additions (MetaStack *stack)
meta_topic (META_DEBUG_STACK,
"Adding %d windows to sorted list\n",
n_added);
old_size = stack->xwindows->len;
g_array_set_size (stack->xwindows, old_size + n_added);
end = &g_array_index (stack->xwindows, Window, old_size);
/* stack->added has the most recent additions at the
* front of the list, so we need to reverse it
*/
stack->added = g_list_reverse (stack->added);
i = 0;
tmp = stack->added;
while (tmp != NULL)
{
MetaWindow *w;
w = tmp->data;
end[i] = w->xwindow;
/* add to the main list */
stack->sorted = g_list_prepend (stack->sorted, w);
++i;
tmp = tmp->next;
}
stack->need_resort = TRUE; /* may not be needed as we add to top */
stack->need_constrain = TRUE;
stack->need_relayer = TRUE;
@ -923,13 +923,13 @@ static void
stack_do_relayer (MetaStack *stack)
{
GList *tmp;
if (!stack->need_relayer)
return;
meta_topic (META_DEBUG_STACK,
"Recomputing layers\n");
tmp = stack->sorted;
while (tmp != NULL)
@ -954,7 +954,7 @@ stack_do_relayer (MetaStack *stack)
* not layer
*/
}
tmp = tmp->next;
}
@ -973,7 +973,7 @@ stack_do_constrain (MetaStack *stack)
Constraint **constraints;
/* It'd be nice if this were all faster, probably */
if (!stack->need_constrain)
return;
@ -988,10 +988,10 @@ stack_do_constrain (MetaStack *stack)
graph_constraints (constraints, stack->n_positions);
apply_constraints (constraints, stack->n_positions);
free_constraints (constraints, stack->n_positions);
g_free (constraints);
stack->need_constrain = FALSE;
}
@ -1005,10 +1005,10 @@ stack_do_resort (MetaStack *stack)
{
if (!stack->need_resort)
return;
meta_topic (META_DEBUG_STACK,
"Sorting stack list\n");
stack->sorted = g_list_sort (stack->sorted,
(GCompareFunc) compare_window_position);
@ -1248,12 +1248,12 @@ stack_sync_to_xserver (MetaStack *stack)
GArray *x11_hidden_stack_windows;
int n_override_redirect = 0;
MetaStackWindow guard_stack_window;
/* Bail out if frozen */
if (stack->freeze_count > 0)
return;
meta_topic (META_DEBUG_STACK, "Syncing window stack to server\n");
meta_topic (META_DEBUG_STACK, "Syncing window stack to server\n");
stack_ensure_sorted (stack);
@ -1284,7 +1284,7 @@ stack_sync_to_xserver (MetaStack *stack)
MetaStackWindow stack_window;
stack_window.any.type = w->client_type;
meta_topic (META_DEBUG_STACK, "%u:%d - %s ",
w->layer, w->stack_position, w->desc);
@ -1293,7 +1293,7 @@ stack_sync_to_xserver (MetaStack *stack)
n_override_redirect++;
else
g_array_prepend_val (x11_stacked, w->xwindow);
if (w->frame)
top_level_window = w->frame->xwindow;
else
@ -1336,12 +1336,12 @@ stack_sync_to_xserver (MetaStack *stack)
if (x11_stacked->len != stack->xwindows->len - n_override_redirect)
meta_bug ("%u windows stacked, %u windows exist in stack\n",
x11_stacked->len, stack->xwindows->len);
/* Sync to server */
meta_topic (META_DEBUG_STACK, "Restacking %u windows\n",
all_root_children_stacked->len);
meta_error_trap_push (stack->screen->display);
if (stack->last_all_root_children_stacked == NULL)
@ -1425,7 +1425,7 @@ stack_sync_to_xserver (MetaStack *stack)
/* In this case we have an X window that we need to
* put below a wayland window and this is the
* topmost X window. */
/* In X terms (because this is the topmost X window)
* we want to
* raise_window_relative_to_managed_windows() to
@ -1452,7 +1452,7 @@ stack_sync_to_xserver (MetaStack *stack)
* *newp, then we fail to restack *newp; but on
* unmanaging last_xwindow, we'll fix it up.
*/
meta_topic (META_DEBUG_STACK, "Placing window 0x%lx below 0x%lx\n",
newp->any.type == META_WINDOW_CLIENT_TYPE_X11 ? newp->x11.xwindow : 0,
last_xwindow);
@ -1572,7 +1572,7 @@ stack_sync_to_xserver (MetaStack *stack)
* get removed from the stacking list when we unmanage it
* and we'll fix stacking at that time.
*/
/* Sync _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING */
XChangeProperty (stack->screen->display->xdisplay,
@ -1633,9 +1633,9 @@ meta_stack_get_above (MetaStack *stack,
{
GList *link;
MetaWindow *above;
stack_ensure_sorted (stack);
link = g_list_find (stack->sorted, window);
if (link == NULL)
return NULL;
@ -1658,7 +1658,7 @@ meta_stack_get_below (MetaStack *stack,
{
GList *link;
MetaWindow *below;
stack_ensure_sorted (stack);
link = g_list_find (stack->sorted, window);
@ -1667,7 +1667,7 @@ meta_stack_get_below (MetaStack *stack,
return NULL;
if (link->next == NULL)
return NULL;
below = link->next->data;
if (only_within_layer &&
@ -1801,22 +1801,22 @@ meta_stack_list_windows (MetaStack *stack,
{
GList *workspace_windows = NULL;
GList *link;
stack_ensure_sorted (stack); /* do adds/removes */
link = stack->sorted;
while (link)
{
MetaWindow *window = link->data;
if (window &&
(workspace == NULL || meta_window_located_on_workspace (window, workspace)))
{
workspace_windows = g_list_prepend (workspace_windows,
window);
}
link = link->next;
}
@ -1833,7 +1833,7 @@ meta_stack_windows_cmp (MetaStack *stack,
/* -1 means a below b */
stack_ensure_sorted (stack); /* update constraints, layers */
if (window_a->layer < window_b->layer)
return -1;
else if (window_a->layer > window_b->layer)
@ -1883,7 +1883,7 @@ compare_pointers (gconstpointer a,
return 1;
else if (a < b)
return -1;
else
else
return 0;
}
@ -1921,7 +1921,7 @@ meta_stack_set_positions (MetaStack *stack,
/* Make sure any adds or removes aren't in limbo -- is this needed? */
stack_ensure_sorted (stack);
if (!lists_contain_same_windows (windows, stack->sorted))
{
meta_warning ("This list of windows has somehow changed; not resetting "
@ -1934,7 +1934,7 @@ meta_stack_set_positions (MetaStack *stack,
stack->need_resort = TRUE;
stack->need_constrain = TRUE;
i = 0;
tmp = windows;
while (tmp != NULL)
@ -1943,7 +1943,7 @@ meta_stack_set_positions (MetaStack *stack,
w->stack_position = i++;
tmp = tmp->next;
}
meta_topic (META_DEBUG_STACK,
"Reset the stack positions of (nearly) all windows\n");
@ -1957,7 +1957,7 @@ meta_window_set_stack_position_no_sync (MetaWindow *window,
{
int low, high, delta;
GList *tmp;
g_return_if_fail (window->screen->stack != NULL);
g_return_if_fail (window->stack_position >= 0);
g_return_if_fail (position >= 0);
@ -1972,7 +1972,7 @@ meta_window_set_stack_position_no_sync (MetaWindow *window,
window->screen->stack->need_resort = TRUE;
window->screen->stack->need_constrain = TRUE;
if (position < window->stack_position)
{
low = position;
@ -1997,7 +1997,7 @@ meta_window_set_stack_position_no_sync (MetaWindow *window,
tmp = tmp->next;
}
window->stack_position = position;
meta_topic (META_DEBUG_STACK,

View File

@ -1,9 +1,9 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -13,7 +13,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -26,7 +26,7 @@
* @short_description: Which windows cover which other windows
*
* There are two factors that determine window position.
*
*
* One is window->stack_position, which is a unique integer
* indicating how windows are ordered with respect to one
* another. The ordering here transcends layers; it isn't changed
@ -34,7 +34,7 @@
* windows from one layer to another, while preserving the relative
* order of the moved windows. Also, it allows us to restore
* the stacking order from a saved session.
*
*
* However when actually stacking windows on the screen, the
* layer overrides the stack_position; windows are first sorted
* by layer, then by stack_position within each layer.
@ -82,7 +82,7 @@ struct _MetaStack
* The order of the elements in this list is not important.
*/
GList *removed;
/**
* If this is zero, the local stack oughtn't to be brought up to date with
* the X server's stack, because it is in the middle of being updated.

View File

@ -2,9 +2,9 @@
/* Mutter box operation testing program */
/*
/*
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -363,7 +363,7 @@ test_merge_regions ()
* uniformly distributed location of center of struts (within screen)
* merge all regions that are possible
* print stats on problem setup
* number of (non-completely-occluded?) struts
* number of (non-completely-occluded?) struts
* percentage of screen covered
* length of resulting non-minimal spanning set
* length of resulting minimal spanning set
@ -508,11 +508,11 @@ test_merge_regions ()
compare = compare->next;
}
printf (" Num rectangles contained in others : %d\n",
printf (" Num rectangles contained in others : %d\n",
num_contains);
printf (" Num rectangles partially contained in others: %d\n",
printf (" Num rectangles partially contained in others: %d\n",
num_part_contains);
printf (" Num rectangles adjacent to others : %d\n",
printf (" Num rectangles adjacent to others : %d\n",
num_adjacent);
printf (" Num rectangles merged with others : %d\n",
num_merged);
@ -583,9 +583,9 @@ test_regions_okay ()
GList* region;
GList* tmp;
/*************************************************************/
/*************************************************************/
/* Make sure test region 0 has the right spanning rectangles */
/*************************************************************/
/*************************************************************/
region = get_screen_region (0);
tmp = NULL;
tmp = g_list_prepend (tmp, new_meta_rect (0, 0, 1600, 1200));
@ -593,9 +593,9 @@ test_regions_okay ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (region);
/*************************************************************/
/*************************************************************/
/* Make sure test region 1 has the right spanning rectangles */
/*************************************************************/
/*************************************************************/
region = get_screen_region (1);
tmp = NULL;
tmp = g_list_prepend (tmp, new_meta_rect (0, 20, 400, 1180));
@ -606,7 +606,7 @@ test_regions_okay ()
/*************************************************************/
/* Make sure test region 2 has the right spanning rectangles */
/*************************************************************/
/*************************************************************/
region = get_screen_region (2);
tmp = NULL;
tmp = g_list_prepend (tmp, new_meta_rect ( 0, 20, 300, 1180));
@ -620,7 +620,7 @@ test_regions_okay ()
/*************************************************************/
/* Make sure test region 3 has the right spanning rectangles */
/*************************************************************/
/*************************************************************/
region = get_screen_region (3);
tmp = NULL;
tmp = g_list_prepend (tmp, new_meta_rect ( 380, 675, 420, 525)); /* 220500 */
@ -646,7 +646,7 @@ test_regions_okay ()
/*************************************************************/
/* Make sure test region 4 has the right spanning rectangles */
/*************************************************************/
/*************************************************************/
region = get_screen_region (4);
tmp = NULL;
tmp = g_list_prepend (tmp, new_meta_rect ( 800, 20, 800, 1180));
@ -656,7 +656,7 @@ test_regions_okay ()
/*************************************************************/
/* Make sure test region 5 has the right spanning rectangles */
/*************************************************************/
/*************************************************************/
printf ("The next test intentionally causes a warning, "
"but it can be ignored.\n");
region = get_screen_region (5);
@ -1020,9 +1020,9 @@ test_find_onscreen_edges ()
int top = META_DIRECTION_TOP;
int bottom = META_DIRECTION_BOTTOM;
/*************************************************/
/*************************************************/
/* Make sure test region 0 has the correct edges */
/*************************************************/
/*************************************************/
edges = get_screen_edges (0);
tmp = NULL;
tmp = g_list_prepend (tmp, new_screen_edge ( 0, 1200, 1600, 0, bottom));
@ -1033,9 +1033,9 @@ test_find_onscreen_edges ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************/
/*************************************************/
/* Make sure test region 1 has the correct edges */
/*************************************************/
/*************************************************/
edges = get_screen_edges (1);
tmp = NULL;
tmp = g_list_prepend (tmp, new_screen_edge ( 0, 1200, 400, 0, bottom));
@ -1048,9 +1048,9 @@ test_find_onscreen_edges ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************/
/*************************************************/
/* Make sure test region 2 has the correct edges */
/*************************************************/
/*************************************************/
edges = get_screen_edges (2);
tmp = NULL;
tmp = g_list_prepend (tmp, new_screen_edge (1200, 1200, 400, 0, bottom));
@ -1069,9 +1069,9 @@ test_find_onscreen_edges ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************/
/*************************************************/
/* Make sure test region 3 has the correct edges */
/*************************************************/
/*************************************************/
edges = get_screen_edges (3);
tmp = NULL;
tmp = g_list_prepend (tmp, new_screen_edge (1200, 1200, 400, 0, bottom));
@ -1096,7 +1096,7 @@ test_find_onscreen_edges ()
char big_buffer1[(EDGE_LENGTH+2)*FUDGE], big_buffer2[(EDGE_LENGTH+2)*FUDGE];
meta_rectangle_edge_list_to_string (edges, "\n ", big_buffer1);
meta_rectangle_edge_list_to_string (tmp, "\n ", big_buffer2);
printf("Generated edge list:\n %s\nComparison edges list:\n %s\n",
printf("Generated edge list:\n %s\nComparison edges list:\n %s\n",
big_buffer1, big_buffer2);
#endif
@ -1104,9 +1104,9 @@ test_find_onscreen_edges ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************/
/*************************************************/
/* Make sure test region 4 has the correct edges */
/*************************************************/
/*************************************************/
edges = get_screen_edges (4);
tmp = NULL;
tmp = g_list_prepend (tmp, new_screen_edge ( 800, 1200, 800, 0, bottom));
@ -1117,18 +1117,18 @@ test_find_onscreen_edges ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************/
/*************************************************/
/* Make sure test region 5 has the correct edges */
/*************************************************/
/*************************************************/
edges = get_screen_edges (5);
tmp = NULL;
verify_edge_lists_are_equal (edges, tmp);
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************/
/*************************************************/
/* Make sure test region 6 has the correct edges */
/*************************************************/
/*************************************************/
edges = get_screen_edges (6);
tmp = NULL;
tmp = g_list_prepend (tmp, new_screen_edge ( 0, 1200, 1600, 0, bottom));
@ -1153,18 +1153,18 @@ test_find_nonintersected_monitor_edges ()
int top = META_DIRECTION_TOP;
int bottom = META_DIRECTION_BOTTOM;
/*************************************************************************/
/*************************************************************************/
/* Make sure test monitor set 0 for with region 0 has the correct edges */
/*************************************************************************/
/*************************************************************************/
edges = get_monitor_edges (0, 0);
tmp = NULL;
verify_edge_lists_are_equal (edges, tmp);
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************************************/
/*************************************************************************/
/* Make sure test monitor set 2 for with region 1 has the correct edges */
/*************************************************************************/
/*************************************************************************/
edges = get_monitor_edges (2, 1);
tmp = NULL;
tmp = g_list_prepend (tmp, new_monitor_edge ( 0, 600, 1600, 0, bottom));
@ -1173,9 +1173,9 @@ test_find_nonintersected_monitor_edges ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************************************/
/*************************************************************************/
/* Make sure test monitor set 1 for with region 2 has the correct edges */
/*************************************************************************/
/*************************************************************************/
edges = get_monitor_edges (1, 2);
tmp = NULL;
tmp = g_list_prepend (tmp, new_monitor_edge ( 800, 20, 0, 1080, right));
@ -1185,16 +1185,16 @@ test_find_nonintersected_monitor_edges ()
char big_buffer1[(EDGE_LENGTH+2)*FUDGE], big_buffer2[(EDGE_LENGTH+2)*FUDGE];
meta_rectangle_edge_list_to_string (edges, "\n ", big_buffer1);
meta_rectangle_edge_list_to_string (tmp, "\n ", big_buffer2);
printf("Generated edge list:\n %s\nComparison edges list:\n %s\n",
printf("Generated edge list:\n %s\nComparison edges list:\n %s\n",
big_buffer1, big_buffer2);
#endif
verify_edge_lists_are_equal (edges, tmp);
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************************************/
/*************************************************************************/
/* Make sure test monitor set 3 for with region 3 has the correct edges */
/*************************************************************************/
/*************************************************************************/
edges = get_monitor_edges (3, 3);
tmp = NULL;
tmp = g_list_prepend (tmp, new_monitor_edge ( 900, 600, 700, 0, bottom));
@ -1207,9 +1207,9 @@ test_find_nonintersected_monitor_edges ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************************************/
/*************************************************************************/
/* Make sure test monitor set 3 for with region 4 has the correct edges */
/*************************************************************************/
/*************************************************************************/
edges = get_monitor_edges (3, 4);
tmp = NULL;
tmp = g_list_prepend (tmp, new_monitor_edge ( 800, 600, 800, 0, bottom));
@ -1219,9 +1219,9 @@ test_find_nonintersected_monitor_edges ()
meta_rectangle_free_list_and_elements (tmp);
meta_rectangle_free_list_and_elements (edges);
/*************************************************************************/
/*************************************************************************/
/* Make sure test monitor set 3 for with region 5has the correct edges */
/*************************************************************************/
/*************************************************************************/
edges = get_monitor_edges (3, 5);
tmp = NULL;
verify_edge_lists_are_equal (edges, tmp);

View File

@ -2,10 +2,10 @@
/* Mutter utilities */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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

View File

@ -1,9 +1,9 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -13,7 +13,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -67,7 +67,7 @@ ensure_logfile (void)
char *tmpl;
int fd;
GError *err;
tmpl = g_strdup_printf ("mutter-%d-debug-log-XXXXXX",
(int) getpid ());
@ -77,7 +77,7 @@ ensure_logfile (void)
&err);
g_free (tmpl);
if (err != NULL)
{
meta_warning ("Failed to open debug log: %s\n",
@ -85,9 +85,9 @@ ensure_logfile (void)
g_error_free (err);
return;
}
logfile = fdopen (fd, "w");
if (logfile == NULL)
{
meta_warning ("Failed to fdopen() log file %s: %s\n",
@ -98,7 +98,7 @@ ensure_logfile (void)
{
g_printerr ("Opened log file %s\n", filename);
}
g_free (filename);
}
}
@ -116,7 +116,7 @@ meta_set_verbose (gboolean setting)
#ifndef WITH_VERBOSE_MODE
if (setting)
meta_fatal (_("Mutter was compiled without support for verbose mode\n"));
#else
#else
if (setting)
ensure_logfile ();
#endif
@ -225,7 +225,7 @@ utf8_fputs (const char *str,
{
char *l;
int retval;
l = g_locale_from_utf8 (str, -1, NULL, NULL, NULL);
if (l == NULL)
@ -259,24 +259,24 @@ meta_debug_spew_real (const char *format, ...)
va_list args;
gchar *str;
FILE *out;
g_return_if_fail (format != NULL);
if (!is_debugging)
return;
va_start (args, format);
str = g_strdup_vprintf (format, args);
va_end (args);
out = logfile ? logfile : stderr;
if (no_prefix == 0)
utf8_fputs ("Window manager: ", out);
utf8_fputs (str, out);
fflush (out);
g_free (str);
}
#endif /* WITH_VERBOSE_MODE */
@ -381,11 +381,11 @@ meta_topic_real_valist (MetaDebugTopic topic,
++sync_count;
fprintf (out, "%d: ", sync_count);
}
utf8_fputs (str, out);
fflush (out);
g_free (str);
}
@ -410,7 +410,7 @@ meta_bug (const char *format, ...)
FILE *out;
g_return_if_fail (format != NULL);
va_start (args, format);
str = g_strdup_vprintf (format, args);
va_end (args);
@ -426,9 +426,9 @@ meta_bug (const char *format, ...)
utf8_fputs (str, out);
fflush (out);
g_free (str);
/* stop us in a debugger */
abort ();
}
@ -439,9 +439,9 @@ meta_warning (const char *format, ...)
va_list args;
gchar *str;
FILE *out;
g_return_if_fail (format != NULL);
va_start (args, format);
str = g_strdup_vprintf (format, args);
va_end (args);
@ -457,7 +457,7 @@ meta_warning (const char *format, ...)
utf8_fputs (str, out);
fflush (out);
g_free (str);
}
@ -467,9 +467,9 @@ meta_fatal (const char *format, ...)
va_list args;
gchar *str;
FILE *out;
g_return_if_fail (format != NULL);
va_start (args, format);
str = g_strdup_vprintf (format, args);
va_end (args);
@ -485,7 +485,7 @@ meta_fatal (const char *format, ...)
utf8_fputs (str, out);
fflush (out);
g_free (str);
meta_exit (META_EXIT_ERROR);
@ -508,7 +508,7 @@ meta_pop_no_msg_prefix (void)
void
meta_exit (MetaExitCode code)
{
exit (code);
}

View File

@ -9,12 +9,12 @@
* which the rest of the world is allowed to use.)
*/
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2002 Red Hat, Inc.
* Copyright (C) 2003, 2004 Rob Adams
* Copyright (C) 2004-2006 Elijah Newren
*
*
* 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
@ -24,7 +24,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -90,7 +90,7 @@ typedef enum
struct _MetaWindow
{
GObject parent_instance;
MetaDisplay *display;
MetaScreen *screen;
const MetaMonitorInfo *monitor;
@ -134,18 +134,18 @@ struct _MetaWindow
int hide_titlebar_when_maximized;
int net_wm_pid;
Window xtransient_for;
Window xgroup_leader;
Window xclient_leader;
MetaWindow *transient_for;
/* Initial workspace property */
int initial_workspace;
int initial_workspace;
/* Initial timestamp property */
guint32 initial_timestamp;
guint32 initial_timestamp;
/* Whether this is an override redirect window or not */
guint override_redirect : 1;
@ -184,7 +184,7 @@ struct _MetaWindow
* these monitors. If not, this is the single monitor which the window's
* origin is on. */
gint fullscreen_monitors[4];
/* Whether we're trying to constrain the window to be fully onscreen */
guint require_fully_onscreen : 1;
@ -213,7 +213,7 @@ struct _MetaWindow
* see also unmaps_pending
*/
guint mapped : 1;
/* Whether window has been hidden from view by lowering it to the bottom
* of window stack.
*/
@ -247,23 +247,23 @@ struct _MetaWindow
/* whether an initial workspace was explicitly set */
guint initial_workspace_set : 1;
/* whether an initial timestamp was explicitly set */
guint initial_timestamp_set : 1;
/* whether net_wm_user_time has been set yet */
guint net_wm_user_time_set : 1;
/* whether net_wm_icon_geometry has been set */
guint icon_geometry_set : 1;
/* These are the flags from WM_PROTOCOLS */
guint take_focus : 1;
guint delete_window : 1;
guint can_ping : 1;
/* Globally active / No input */
guint input : 1;
/* MWM hints about features of window */
guint mwm_decorated : 1;
guint mwm_border_only : 1;
@ -272,7 +272,7 @@ struct _MetaWindow
guint mwm_has_maximize_func : 1;
guint mwm_has_move_func : 1;
guint mwm_has_resize_func : 1;
/* Computed features of window */
guint decorated : 1;
guint border_only : 1;
@ -295,7 +295,7 @@ struct _MetaWindow
/* EWHH demands attention flag */
guint wm_state_demands_attention : 1;
/* TRUE iff window == window->display->focus_window */
guint has_focus : 1;
@ -316,15 +316,15 @@ struct _MetaWindow
/* Are we in meta_window_new()? */
guint constructing : 1;
/* Are we in the various queues? (Bitfield: see META_WINDOW_IS_IN_QUEUE) */
guint is_in_queues : NUMBER_OF_QUEUES;
/* Used by keybindings.c */
guint keys_grabbed : 1; /* normal keybindings grabbed */
guint grab_on_frame : 1; /* grabs are on the frame */
guint all_keys_grabbed : 1; /* AnyKey grabbed */
/* Set if the reason for unmanaging the window is that
* it was withdrawn
*/
@ -337,7 +337,7 @@ struct _MetaWindow
/* Transient parent is a root window */
guint transient_parent_is_root_window : 1;
/* if TRUE, window was maximized at start of current grab op */
guint shaken_loose : 1;
@ -386,7 +386,7 @@ struct _MetaWindow
guint sync_request_timeout_id;
/* alarm monitoring client's _NET_WM_SYNC_REQUEST_COUNTER */
XSyncAlarm sync_request_alarm;
/* Number of UnmapNotify that are caused by us, if
* we get UnmapNotify with none pending then the client
* is withdrawing the window.
@ -402,11 +402,11 @@ struct _MetaWindow
/* window that gets updated net_wm_user_time values */
Window user_time_window;
/* The size we set the window to last (i.e. what we believe
* to be its actual size on the server). The x, y are
* the actual server-side x,y so are relative to the frame
* (meaning that they just hold the frame width and height)
* (meaning that they just hold the frame width and height)
* or the root window (meaning they specify the location
* of the top left of the inner window) as appropriate.
*/
@ -432,7 +432,7 @@ struct _MetaWindow
* Position always in root coords, unlike window->rect.
*/
MetaRectangle user_rect;
/* Cached net_wm_icon_geometry */
MetaRectangle icon_geometry;
@ -444,7 +444,7 @@ struct _MetaWindow
/* Managed by stack.c */
MetaStackLayer layer;
int stack_position; /* see comment in stack.h */
/* Current dialog open for this window */
int dialog_pid;

View File

@ -10,10 +10,10 @@
* are unmapped.
*/
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2004, 2005 Elijah Newren
*
*
* 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
@ -23,7 +23,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -38,7 +38,7 @@ struct _MetaWorkspace
{
GObject parent_instance;
MetaScreen *screen;
GList *windows;
/* The "MRU list", or "most recently used" list, is a list of

View File

@ -1,10 +1,10 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2003 Rob Adams
* Copyright (C) 2004, 2005 Elijah Newren
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -197,7 +197,7 @@ meta_workspace_new (MetaScreen *screen)
workspace->all_struts = NULL;
workspace->showing_desktop = FALSE;
return workspace;
}
@ -219,7 +219,7 @@ workspace_free_all_struts (MetaWorkspace *workspace)
{
if (workspace->all_struts == NULL)
return;
g_slist_foreach (workspace->all_struts, free_this, NULL);
g_slist_free (workspace->all_struts);
workspace->all_struts = NULL;
@ -236,7 +236,7 @@ workspace_free_builtin_struts (MetaWorkspace *workspace)
{
if (workspace->builtin_struts == NULL)
return;
g_slist_foreach (workspace->builtin_struts, free_this, NULL);
g_slist_free (workspace->builtin_struts);
workspace->builtin_struts = NULL;
@ -254,7 +254,7 @@ meta_workspace_remove (MetaWorkspace *workspace)
/* Here we assume all the windows are already on another workspace
* as well, so they won't be "orphaned"
*/
tmp = workspace->windows;
while (tmp != NULL)
{
@ -272,10 +272,10 @@ meta_workspace_remove (MetaWorkspace *workspace)
g_assert (workspace->windows == NULL);
screen = workspace->screen;
workspace->screen->workspaces =
g_list_remove (workspace->screen->workspaces, workspace);
g_free (workspace->work_area_monitor);
g_list_free (workspace->mru_list);
@ -313,11 +313,11 @@ meta_workspace_add_window (MetaWorkspace *workspace,
MetaWindow *window)
{
g_return_if_fail (window->workspace == NULL);
/* If the window is on all workspaces, we want to add it to all mru
* lists, otherwise just add it to this workspaces mru list
*/
if (window->on_all_workspaces)
if (window->on_all_workspaces)
{
if (window->workspace == NULL)
{
@ -343,7 +343,7 @@ meta_workspace_add_window (MetaWorkspace *workspace,
window->workspace = workspace;
meta_window_set_current_workspace_hint (window);
if (window->struts)
{
meta_topic (META_DEBUG_WORKAREA,
@ -371,10 +371,10 @@ meta_workspace_remove_window (MetaWorkspace *workspace,
window->workspace = NULL;
/* If the window is on all workspaces, we don't want to remove it
* from the MRU list unless this causes it to be removed from all
* from the MRU list unless this causes it to be removed from all
* workspaces
*/
if (window->on_all_workspaces)
if (window->on_all_workspaces)
{
GList* tmp = window->screen->workspaces;
while (tmp)
@ -392,7 +392,7 @@ meta_workspace_remove_window (MetaWorkspace *workspace,
}
meta_window_set_current_workspace_hint (window);
if (window->struts)
{
meta_topic (META_DEBUG_WORKAREA,
@ -416,12 +416,12 @@ meta_workspace_relocate_windows (MetaWorkspace *workspace,
{
GList *tmp;
GList *copy;
g_return_if_fail (workspace != new_home);
/* can't modify list we're iterating over */
copy = g_list_copy (workspace->windows);
tmp = copy;
while (tmp != NULL)
{
@ -429,12 +429,12 @@ meta_workspace_relocate_windows (MetaWorkspace *workspace,
meta_workspace_remove_window (workspace, window);
meta_workspace_add_window (new_home, window);
tmp = tmp->next;
}
g_list_free (copy);
g_assert (workspace->windows == NULL);
}
@ -547,10 +547,10 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
MetaWorkspaceLayout layout1, layout2;
gint num_workspaces, current_space, new_space;
MetaMotionDirection direction;
meta_verbose ("Activating workspace %d\n",
meta_workspace_index (workspace));
if (workspace->screen->active_workspace == workspace)
return;
@ -582,7 +582,7 @@ meta_workspace_activate_with_focus (MetaWorkspace *workspace,
if (workspace->screen->display->grab_op == META_GRAB_OP_MOVING ||
workspace->screen->display->grab_op == META_GRAB_OP_KEYBOARD_MOVING)
move_window = workspace->screen->display->grab_window;
if (move_window != NULL)
{
if (move_window->on_all_workspaces)
@ -739,7 +739,7 @@ meta_workspace_list_windows (MetaWorkspace *workspace)
GSList *display_windows;
GSList *tmp;
GList *workspace_windows;
display_windows = meta_display_list_windows (workspace->screen->display,
META_LIST_DEFAULT);
@ -767,7 +767,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
GList *tmp;
GList *windows;
int i;
if (workspace->work_areas_invalid)
{
meta_topic (META_DEBUG_WORKAREA,
@ -787,7 +787,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
g_free (workspace->work_area_monitor);
workspace->work_area_monitor = NULL;
workspace_free_all_struts (workspace);
for (i = 0; i < workspace->screen->n_monitor_infos; i++)
@ -800,7 +800,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
workspace->screen_region = NULL;
workspace->screen_edges = NULL;
workspace->monitor_edges = NULL;
workspace->work_areas_invalid = TRUE;
/* redo the size/position constraints on all windows */
@ -811,7 +811,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
MetaWindow *w = tmp->data;
meta_window_queue (w, META_QUEUE_MOVE_RESIZE);
tmp = tmp->next;
}
@ -876,7 +876,7 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
/* STEP 2: Get the maximal/spanning rects for the onscreen and
* on-single-monitor regions
*/
*/
g_assert (workspace->monitor_region == NULL);
g_assert (workspace->screen_region == NULL);
@ -948,7 +948,7 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
workspace->work_area_screen.x,
workspace->work_area_screen.y,
workspace->work_area_screen.width,
workspace->work_area_screen.height);
workspace->work_area_screen.height);
/* Now find the work areas for each monitor */
g_free (workspace->work_area_monitor);
@ -983,7 +983,7 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
/* STEP 4: Make sure the screen_region is nonempty (separate from step 2
* since it relies on step 3).
*/
*/
if (workspace->screen_region == NULL)
{
MetaRectangle *nonempty_region;
@ -1070,7 +1070,7 @@ meta_workspace_get_work_area_for_monitor (MetaWorkspace *workspace,
ensure_work_areas_validated (workspace);
g_assert (which_monitor < workspace->screen->n_monitor_infos);
*area = workspace->work_area_monitor[which_monitor];
}
@ -1086,7 +1086,7 @@ meta_workspace_get_work_area_all_monitors (MetaWorkspace *workspace,
MetaRectangle *area)
{
ensure_work_areas_validated (workspace);
*area = workspace->work_area_screen;
}
@ -1151,7 +1151,7 @@ MetaWorkspace*
meta_workspace_get_neighbor (MetaWorkspace *workspace,
MetaMotionDirection direction)
{
MetaWorkspaceLayout layout;
MetaWorkspaceLayout layout;
int i, current_space, num_workspaces;
gboolean ltr;
@ -1162,10 +1162,10 @@ meta_workspace_get_neighbor (MetaWorkspace *workspace,
meta_verbose ("Getting neighbor of %d in direction %s\n",
current_space, meta_motion_direction_to_string (direction));
ltr = meta_ui_get_direction() == META_UI_DIRECTION_LTR;
switch (direction)
switch (direction)
{
case META_MOTION_LEFT:
layout.current_col -= ltr ? 1 : -1;
@ -1199,12 +1199,12 @@ meta_workspace_get_neighbor (MetaWorkspace *workspace,
if (i >= num_workspaces)
meta_bug ("calc_workspace_layout left an invalid (too-high) workspace number %d in the grid\n",
i);
meta_verbose ("Neighbor workspace is %d at row %d col %d\n",
i, layout.current_row, layout.current_col);
meta_screen_free_workspace_layout (&layout);
return meta_screen_get_workspace_by_index (workspace->screen, i);
}
@ -1258,7 +1258,7 @@ meta_workspace_focus_default_window (MetaWorkspace *workspace,
}
if (workspace->screen->display->autoraise_window != window &&
meta_prefs_get_auto_raise ())
meta_prefs_get_auto_raise ())
{
meta_display_queue_autoraise_callback (workspace->screen->display,
window);
@ -1303,7 +1303,7 @@ focus_ancestor_or_top_window (MetaWorkspace *workspace,
meta_topic (META_DEBUG_FOCUS,
"Focusing MRU window\n");
/* First, check to see if we need to focus an ancestor of a window */
/* First, check to see if we need to focus an ancestor of a window */
if (not_this_one)
{
MetaWindow *ancestor;
@ -1314,9 +1314,9 @@ focus_ancestor_or_top_window (MetaWorkspace *workspace,
meta_window_showing_on_its_workspace (ancestor))
{
meta_topic (META_DEBUG_FOCUS,
"Focusing %s, ancestor of %s\n",
"Focusing %s, ancestor of %s\n",
ancestor->desc, not_this_one->desc);
meta_window_focus (ancestor, timestamp);
/* Also raise the window if in click-to-focus */
@ -1335,7 +1335,7 @@ focus_ancestor_or_top_window (MetaWorkspace *workspace,
{
meta_topic (META_DEBUG_FOCUS,
"Focusing workspace MRU window %s\n", window->desc);
meta_window_focus (window, timestamp);
/* Also raise the window if in click-to-focus */

View File

@ -2,9 +2,9 @@
/* Simple box operations */
/*
/*
* Copyright (C) 2005, 2006 Elijah Newren
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -4,10 +4,10 @@
* PLEASE KEEP IN SYNC WITH GSETTINGS SCHEMAS!
*/
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -17,7 +17,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -290,7 +290,7 @@ typedef enum
*/
META_VIRTUAL_SHIFT_MASK = 1 << 5,
META_VIRTUAL_CONTROL_MASK = 1 << 6,
META_VIRTUAL_ALT_MASK = 1 << 7,
META_VIRTUAL_ALT_MASK = 1 << 7,
META_VIRTUAL_META_MASK = 1 << 8,
META_VIRTUAL_SUPER_MASK = 1 << 9,
META_VIRTUAL_HYPER_MASK = 1 << 10,

View File

@ -2,9 +2,9 @@
/* Mutter X error handling */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,10 +2,10 @@
/* Mutter gradient rendering */
/*
/*
* Copyright (C) 2001 Havoc Pennington, 99% copied from wrlib in
* WindowMaker, Copyright (C) 1997-2000 Dan Pascu and Alfredo Kojima
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>. */

View File

@ -2,9 +2,9 @@
/* Mutter window groups */
/*
/*
* Copyright (C) 2002 Red Hat Inc.
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,9 +2,9 @@
/* Mutter main */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,10 +2,10 @@
/* Mutter preferences */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2006 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -171,95 +171,95 @@ void meta_prefs_set_ignore_request_hide_titlebar (gboolean whether);
/**
* MetaKeyBindingAction:
* @META_KEYBINDING_ACTION_NONE: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_1: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_2: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_3: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_4: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_5: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_6: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_7: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_8: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_9: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_10: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_11: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_12: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_LEFT: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_RIGHT: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_UP: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_DOWN: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_LAST: FILLME
* @META_KEYBINDING_ACTION_SWITCH_APPLICATIONS: FILLME
* @META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_SWITCH_GROUP: FILLME
* @META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_SWITCH_WINDOWS: FILLME
* @META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_SWITCH_PANELS: FILLME
* @META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_CYCLE_GROUP: FILLME
* @META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_CYCLE_WINDOWS: FILLME
* @META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_CYCLE_PANELS: FILLME
* @META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_SHOW_DESKTOP: FILLME
* @META_KEYBINDING_ACTION_PANEL_MAIN_MENU: FILLME
* @META_KEYBINDING_ACTION_PANEL_RUN_DIALOG: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_RECORDING: FILLME
* @META_KEYBINDING_ACTION_SET_SPEW_MARK: FILLME
* @META_KEYBINDING_ACTION_ACTIVATE_WINDOW_MENU: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_FULLSCREEN: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_MAXIMIZED: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_TILED_LEFT: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_TILED_RIGHT: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_ABOVE: FILLME
* @META_KEYBINDING_ACTION_MAXIMIZE: FILLME
* @META_KEYBINDING_ACTION_UNMAXIMIZE: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_SHADED: FILLME
* @META_KEYBINDING_ACTION_MINIMIZE: FILLME
* @META_KEYBINDING_ACTION_CLOSE: FILLME
* @META_KEYBINDING_ACTION_BEGIN_MOVE: FILLME
* @META_KEYBINDING_ACTION_BEGIN_RESIZE: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_ON_ALL_WORKSPACES: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_1: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_2: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_3: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_4: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_5: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_6: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_7: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_8: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_9: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_10: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_11: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_12: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LEFT: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_RIGHT: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_UP: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LAST: FILLME
* @META_KEYBINDING_ACTION_NONE: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_1: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_2: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_3: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_4: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_5: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_6: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_7: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_8: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_9: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_10: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_11: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_12: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_LEFT: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_RIGHT: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_UP: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_DOWN: FILLME
* @META_KEYBINDING_ACTION_WORKSPACE_LAST: FILLME
* @META_KEYBINDING_ACTION_SWITCH_APPLICATIONS: FILLME
* @META_KEYBINDING_ACTION_SWITCH_APPLICATIONS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_SWITCH_GROUP: FILLME
* @META_KEYBINDING_ACTION_SWITCH_GROUP_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_SWITCH_WINDOWS: FILLME
* @META_KEYBINDING_ACTION_SWITCH_WINDOWS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_SWITCH_PANELS: FILLME
* @META_KEYBINDING_ACTION_SWITCH_PANELS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_CYCLE_GROUP: FILLME
* @META_KEYBINDING_ACTION_CYCLE_GROUP_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_CYCLE_WINDOWS: FILLME
* @META_KEYBINDING_ACTION_CYCLE_WINDOWS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_CYCLE_PANELS: FILLME
* @META_KEYBINDING_ACTION_CYCLE_PANELS_BACKWARD: FILLME
* @META_KEYBINDING_ACTION_SHOW_DESKTOP: FILLME
* @META_KEYBINDING_ACTION_PANEL_MAIN_MENU: FILLME
* @META_KEYBINDING_ACTION_PANEL_RUN_DIALOG: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_RECORDING: FILLME
* @META_KEYBINDING_ACTION_SET_SPEW_MARK: FILLME
* @META_KEYBINDING_ACTION_ACTIVATE_WINDOW_MENU: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_FULLSCREEN: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_MAXIMIZED: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_TILED_LEFT: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_TILED_RIGHT: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_ABOVE: FILLME
* @META_KEYBINDING_ACTION_MAXIMIZE: FILLME
* @META_KEYBINDING_ACTION_UNMAXIMIZE: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_SHADED: FILLME
* @META_KEYBINDING_ACTION_MINIMIZE: FILLME
* @META_KEYBINDING_ACTION_CLOSE: FILLME
* @META_KEYBINDING_ACTION_BEGIN_MOVE: FILLME
* @META_KEYBINDING_ACTION_BEGIN_RESIZE: FILLME
* @META_KEYBINDING_ACTION_TOGGLE_ON_ALL_WORKSPACES: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_1: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_2: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_3: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_4: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_5: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_6: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_7: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_8: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_9: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_10: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_11: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_12: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LEFT: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_RIGHT: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_UP: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_LAST: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_LEFT: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_RIGHT: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_UP: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_DOWN: FILLME
* @META_KEYBINDING_ACTION_RAISE_OR_LOWER: FILLME
* @META_KEYBINDING_ACTION_RAISE: FILLME
* @META_KEYBINDING_ACTION_LOWER: FILLME
* @META_KEYBINDING_ACTION_MAXIMIZE_VERTICALLY: FILLME
* @META_KEYBINDING_ACTION_MAXIMIZE_HORIZONTALLY: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CORNER_NW: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CORNER_NE: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CORNER_SW: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CORNER_SE: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_N: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_S: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_E: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_W: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CENTER: FILLME
* @META_KEYBINDING_ACTION_OVERLAY_KEY: FILLME
* @META_KEYBINDING_ACTION_ALWAYS_ON_TOP: FILLME
* @META_KEYBINDING_ACTION_LAST: FILLME
* @META_KEYBINDING_ACTION_RAISE_OR_LOWER: FILLME
* @META_KEYBINDING_ACTION_RAISE: FILLME
* @META_KEYBINDING_ACTION_LOWER: FILLME
* @META_KEYBINDING_ACTION_MAXIMIZE_VERTICALLY: FILLME
* @META_KEYBINDING_ACTION_MAXIMIZE_HORIZONTALLY: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CORNER_NW: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CORNER_NE: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CORNER_SW: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CORNER_SE: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_N: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_S: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_E: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_SIDE_W: FILLME
* @META_KEYBINDING_ACTION_MOVE_TO_CENTER: FILLME
* @META_KEYBINDING_ACTION_OVERLAY_KEY: FILLME
* @META_KEYBINDING_ACTION_ALWAYS_ON_TOP: FILLME
* @META_KEYBINDING_ACTION_LAST: FILLME
*/
/* XXX FIXME This should be x-macroed, but isn't yet because it would be
* difficult (or perhaps impossible) to add the suffixes using the current

View File

@ -2,9 +2,9 @@
/* Metacity Theme Rendering */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,10 +2,10 @@
/* Mutter utilities */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -15,7 +15,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,11 +2,11 @@
/* Metacity window frame manager widget */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2003 Red Hat, Inc.
* Copyright (C) 2005, 2006 Elijah Newren
*
*
* 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
@ -16,7 +16,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -129,7 +129,7 @@ meta_frames_class_init (MetaFramesClass *class)
widget_class->style_updated = meta_frames_style_updated;
widget_class->draw = meta_frames_draw;
widget_class->destroy_event = meta_frames_destroy_event;
widget_class->destroy_event = meta_frames_destroy_event;
widget_class->button_press_event = meta_frames_button_press_event;
widget_class->button_release_event = meta_frames_button_release_event;
widget_class->motion_notify_event = meta_frames_motion_notify_event;
@ -217,7 +217,7 @@ static void
meta_frames_init (MetaFrames *frames)
{
frames->text_heights = g_hash_table_new (NULL, NULL);
frames->frames = g_hash_table_new (unsigned_long_hash, unsigned_long_equal);
frames->style_variants = g_hash_table_new_full (g_str_hash, g_str_equal,
@ -245,7 +245,7 @@ meta_frames_destroy (GtkWidget *object)
GSList *winlist;
GSList *tmp;
MetaFrames *frames;
frames = META_FRAMES (object);
winlist = NULL;
@ -281,13 +281,13 @@ static void
meta_frames_finalize (GObject *object)
{
MetaFrames *frames;
frames = META_FRAMES (object);
meta_prefs_remove_listener (prefs_changed_callback, frames);
g_hash_table_destroy (frames->text_heights);
g_assert (g_hash_table_size (frames->frames) == 0);
g_hash_table_destroy (frames->frames);
@ -308,7 +308,7 @@ queue_recalc_func (gpointer key, gpointer value, gpointer data)
* 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);
@ -316,7 +316,7 @@ queue_recalc_func (gpointer key, gpointer value, gpointer data)
{
/* save title to recreate layout */
g_free (frame->title);
frame->title = g_strdup (pango_layout_get_text (frame->layout));
g_object_unref (G_OBJECT (frame->layout));
@ -332,7 +332,7 @@ meta_frames_font_changed (MetaFrames *frames)
g_hash_table_destroy (frames->text_heights);
frames->text_heights = g_hash_table_new (NULL, NULL);
}
/* Queue a draw/resize on all frames */
g_hash_table_foreach (frames->frames,
queue_recalc_func, frames);
@ -405,7 +405,7 @@ meta_frames_ensure_layout (MetaFrames *frames,
widget = GTK_WIDGET (frames);
g_return_if_fail (gtk_widget_get_realized (widget));
meta_core_get (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow,
META_CORE_GET_FRAME_FLAGS, &flags,
META_CORE_GET_FRAME_TYPE, &type,
@ -420,7 +420,7 @@ meta_frames_ensure_layout (MetaFrames *frames,
{
/* save title to recreate layout */
g_free (frame->title);
frame->title = g_strdup (pango_layout_get_text (frame->layout));
g_object_unref (G_OBJECT (frame->layout));
@ -429,18 +429,18 @@ meta_frames_ensure_layout (MetaFrames *frames,
}
frame->cache_style = style;
if (frame->layout == NULL)
{
gpointer key, value;
PangoFontDescription *font_desc;
double scale;
int size;
scale = meta_theme_get_title_scale (meta_theme_get_current (),
type,
flags);
frame->layout = gtk_widget_create_pango_layout (widget, frame->title);
pango_layout_set_ellipsize (frame->layout, PANGO_ELLIPSIZE_END);
@ -468,10 +468,10 @@ meta_frames_ensure_layout (MetaFrames *frames,
GINT_TO_POINTER (size),
GINT_TO_POINTER (frame->text_height));
}
pango_layout_set_font_description (frame->layout,
pango_layout_set_font_description (frame->layout,
font_desc);
pango_font_description_free (font_desc);
/* Save some RAM */
@ -489,7 +489,7 @@ meta_frames_calc_geometry (MetaFrames *frames,
MetaFrameFlags flags;
MetaFrameType type;
MetaButtonLayout button_layout;
meta_core_get (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), frame->xwindow,
META_CORE_GET_CLIENT_WIDTH, &width,
META_CORE_GET_CLIENT_HEIGHT, &height,
@ -500,7 +500,7 @@ meta_frames_calc_geometry (MetaFrames *frames,
meta_frames_ensure_layout (frames, frame);
meta_prefs_get_button_layout (&button_layout);
meta_theme_calc_geometry (meta_theme_get_current (),
type,
frame->text_height,
@ -575,7 +575,7 @@ meta_frames_manage_window (MetaFrames *frames,
g_assert (window);
frame = g_new (MetaUIFrame, 1);
frame->window = window;
gdk_window_set_user_data (frame->window, frames);
@ -583,7 +583,7 @@ meta_frames_manage_window (MetaFrames *frames,
frame->style = NULL;
/* Don't set event mask here, it's in frame.c */
frame->xwindow = xwindow;
frame->cache_style = NULL;
frame->layout = NULL;
@ -596,9 +596,9 @@ meta_frames_manage_window (MetaFrames *frames,
* 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);
}
@ -621,7 +621,7 @@ meta_frames_unmanage_window (MetaFrames *frames,
if (frames->last_motion_frame == frame)
frames->last_motion_frame = NULL;
g_hash_table_remove (frames->frames, &frame->xwindow);
g_object_unref (frame->style);
@ -633,7 +633,7 @@ meta_frames_unmanage_window (MetaFrames *frames,
if (frame->title)
g_free (frame->title);
g_free (frame);
}
else
@ -667,7 +667,7 @@ meta_ui_frame_get_borders (MetaFrames *frames,
g_return_if_fail (type < META_FRAME_TYPE_LAST);
meta_frames_ensure_layout (frames, frame);
/* We can't get the full geometry, because that depends on
* the client window size and probably we're being called
* by the core move/resize code to decide on the client
@ -731,7 +731,7 @@ meta_frames_reset_bg (MetaFrames *frames,
Window xwindow)
{
MetaUIFrame *frame;
frame = meta_frames_lookup_window (frames, xwindow);
meta_frames_set_window_background (frames, frame);
@ -755,7 +755,7 @@ meta_frames_unflicker_bg (MetaFrames *frames,
int target_height)
{
MetaUIFrame *frame;
frame = meta_frames_lookup_window (frames, xwindow);
g_return_if_fail (frame != NULL);
@ -807,7 +807,7 @@ get_visible_region (MetaFrames *frames,
corners_region = cairo_region_create ();
get_visible_frame_rect (fgeom, window_width, window_height, &frame_rect);
if (fgeom->top_left_corner_rounded_radius != 0)
{
const int corner = fgeom->top_left_corner_rounded_radius;
@ -821,7 +821,7 @@ get_visible_region (MetaFrames *frames,
rect.y = frame_rect.y + i;
rect.width = width;
rect.height = 1;
cairo_region_union_rectangle (corners_region, &rect);
}
}
@ -839,7 +839,7 @@ get_visible_region (MetaFrames *frames,
rect.y = frame_rect.y + i;
rect.width = width;
rect.height = 1;
cairo_region_union_rectangle (corners_region, &rect);
}
}
@ -857,7 +857,7 @@ get_visible_region (MetaFrames *frames,
rect.y = frame_rect.y + frame_rect.height - i - 1;
rect.width = width;
rect.height = 1;
cairo_region_union_rectangle (corners_region, &rect);
}
}
@ -875,11 +875,11 @@ get_visible_region (MetaFrames *frames,
rect.y = frame_rect.y + frame_rect.height - i - 1;
rect.width = width;
rect.height = 1;
cairo_region_union_rectangle (corners_region, &rect);
}
}
visible_region = cairo_region_create_rectangle (&frame_rect);
cairo_region_subtract (visible_region, corners_region);
cairo_region_destroy (corners_region);
@ -916,7 +916,7 @@ meta_frames_move_resize_frame (MetaFrames *frames,
{
MetaUIFrame *frame = meta_frames_lookup_window (frames, xwindow);
int old_width, old_height;
old_width = gdk_window_get_width (frame->window);
old_height = gdk_window_get_height (frame->window);
@ -931,7 +931,7 @@ meta_frames_queue_draw (MetaFrames *frames,
Window xwindow)
{
MetaUIFrame *frame;
frame = meta_frames_lookup_window (frames, xwindow);
invalidate_whole_window (frames, frame);
@ -943,14 +943,14 @@ meta_frames_set_title (MetaFrames *frames,
const char *title)
{
MetaUIFrame *frame;
frame = meta_frames_lookup_window (frames, xwindow);
g_assert (frame);
g_free (frame->title);
frame->title = g_strdup (title);
if (frame->layout)
{
g_object_unref (frame->layout);
@ -979,7 +979,7 @@ meta_frames_repaint_frame (MetaFrames *frames,
Window xwindow)
{
MetaUIFrame *frame;
frame = meta_frames_lookup_window (frames, xwindow);
g_assert (frame);
@ -997,7 +997,7 @@ redraw_control (MetaFrames *frames,
{
MetaFrameGeometry fgeom;
GdkRectangle *rect;
meta_frames_calc_geometry (frames, frame, &fgeom);
rect = control_rect (control, &fgeom);
@ -1014,7 +1014,7 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
Display *display;
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
switch (action)
{
case G_DESKTOP_TITLEBAR_ACTION_TOGGLE_SHADE:
@ -1022,7 +1022,7 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
meta_core_get (display, frame->xwindow,
META_CORE_GET_FRAME_FLAGS, &flags,
META_CORE_GET_END);
if (flags & META_FRAME_ALLOWS_SHADE)
{
if (flags & META_FRAME_SHADED)
@ -1035,14 +1035,14 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
event->time);
}
}
break;
break;
case G_DESKTOP_TITLEBAR_ACTION_TOGGLE_MAXIMIZE:
{
meta_core_get (display, frame->xwindow,
META_CORE_GET_FRAME_FLAGS, &flags,
META_CORE_GET_END);
if (flags & META_FRAME_ALLOWS_MAXIMIZE)
{
meta_core_toggle_maximize (display, frame->xwindow);
@ -1055,7 +1055,7 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
meta_core_get (display, frame->xwindow,
META_CORE_GET_FRAME_FLAGS, &flags,
META_CORE_GET_END);
if (flags & META_FRAME_ALLOWS_MAXIMIZE)
{
meta_core_toggle_maximize_horizontally (display, frame->xwindow);
@ -1068,7 +1068,7 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
meta_core_get (display, frame->xwindow,
META_CORE_GET_FRAME_FLAGS, &flags,
META_CORE_GET_END);
if (flags & META_FRAME_ALLOWS_MAXIMIZE)
{
meta_core_toggle_maximize_vertically (display, frame->xwindow);
@ -1081,7 +1081,7 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
meta_core_get (display, frame->xwindow,
META_CORE_GET_FRAME_FLAGS, &flags,
META_CORE_GET_END);
if (flags & META_FRAME_ALLOWS_MINIMIZE)
{
meta_core_minimize (display, frame->xwindow);
@ -1092,7 +1092,7 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
case G_DESKTOP_TITLEBAR_ACTION_NONE:
/* Yaay, a sane user that doesn't use that other weird crap! */
break;
case G_DESKTOP_TITLEBAR_ACTION_LOWER:
meta_core_user_lower_and_unfocus (display,
frame->xwindow,
@ -1108,7 +1108,7 @@ meta_frame_titlebar_event (MetaUIFrame *frame,
event->time);
break;
}
return TRUE;
}
@ -1117,7 +1117,7 @@ meta_frame_double_click_event (MetaUIFrame *frame,
GdkEventButton *event)
{
int action = meta_prefs_get_action_double_click_titlebar ();
return meta_frame_titlebar_event (frame, event, action);
}
@ -1126,7 +1126,7 @@ meta_frame_middle_click_event (MetaUIFrame *frame,
GdkEventButton *event)
{
int action = meta_prefs_get_action_middle_click_titlebar();
return meta_frame_titlebar_event (frame, event, action);
}
@ -1135,7 +1135,7 @@ meta_frame_right_click_event(MetaUIFrame *frame,
GdkEventButton *event)
{
int action = meta_prefs_get_action_right_click_titlebar();
return meta_frame_titlebar_event (frame, event, action);
}
@ -1147,14 +1147,14 @@ meta_frames_button_press_event (GtkWidget *widget,
MetaFrames *frames;
MetaFrameControl control;
Display *display;
frames = META_FRAMES (widget);
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
/* Remember that the display may have already done something with this event.
* If so there's probably a GrabOp in effect.
*/
frame = meta_frames_lookup_window (frames, GDK_WINDOW_XID (event->window));
if (frame == NULL)
return FALSE;
@ -1172,13 +1172,13 @@ meta_frames_button_press_event (GtkWidget *widget,
frame->xwindow);
meta_core_user_focus (display,
frame->xwindow,
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
* if we double click the titlebar.
*/
@ -1191,7 +1191,7 @@ meta_frames_button_press_event (GtkWidget *widget,
}
if (meta_core_get_grab_op (display) != META_GRAB_OP_NONE)
return FALSE; /* already up to something */
return FALSE; /* already up to something */
if (event->button == 1 &&
(control == META_FRAME_CONTROL_MAXIMIZE ||
@ -1226,7 +1226,7 @@ meta_frames_button_press_event (GtkWidget *widget,
/* get delta to convert to root coords */
dx = event->x_root - event->x;
dy = event->y_root - event->y;
/* Align to the right end of the menu rectangle if RTL */
if (meta_ui_get_direction() == META_UI_DIRECTION_RTL)
dx += rect->width;
@ -1250,7 +1250,7 @@ meta_frames_button_press_event (GtkWidget *widget,
control == META_FRAME_CONTROL_RESIZE_W))
{
MetaGrabOp op;
op = META_GRAB_OP_NONE;
switch (control)
@ -1305,7 +1305,7 @@ meta_frames_button_press_event (GtkWidget *widget,
META_CORE_GET_END);
if (flags & META_FRAME_ALLOWS_MOVE)
{
{
meta_core_begin_grab_op (display,
frame->xwindow,
META_GRAB_OP_MOVING,
@ -1326,7 +1326,7 @@ meta_frames_button_press_event (GtkWidget *widget,
{
return meta_frame_right_click_event (frame, event);
}
return TRUE;
}
@ -1337,7 +1337,7 @@ meta_frames_button_release_event (GtkWidget *widget,
MetaUIFrame *frame;
MetaFrames *frames;
Display *display;
frames = META_FRAMES (widget);
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
@ -1360,7 +1360,7 @@ meta_frames_button_release_event (GtkWidget *widget,
break;
case META_FRAME_CONTROL_MAXIMIZE:
/* Focus the window on the maximize */
meta_core_user_focus (display, frame->xwindow, event->time);
meta_core_user_focus (display, frame->xwindow, event->time);
meta_core_maximize (display, frame->xwindow);
break;
case META_FRAME_CONTROL_UNMAXIMIZE:
@ -1399,7 +1399,7 @@ meta_frames_button_release_event (GtkWidget *widget,
MetaFrameControl control = get_control (frames, frame, event->x, event->y);
meta_frames_update_prelit_control (frames, frame, control);
}
return TRUE;
}
@ -1413,9 +1413,9 @@ meta_frames_update_prelit_control (MetaFrames *frames,
meta_verbose ("Updating prelit control from %u to %u\n",
frame->prelit_control, control);
cursor = META_CURSOR_DEFAULT;
switch (control)
{
case META_FRAME_CONTROL_CLIENT_AREA:
@ -1470,12 +1470,12 @@ meta_frames_update_prelit_control (MetaFrames *frames,
case META_FRAME_CONTROL_RESIZE_E:
cursor = META_CURSOR_EAST_RESIZE;
break;
}
}
/* set/unset the prelight cursor */
meta_core_set_screen_cursor (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()),
frame->xwindow,
cursor);
cursor);
switch (control)
{
@ -1496,7 +1496,7 @@ meta_frames_update_prelit_control (MetaFrames *frames,
/* Only prelight buttons */
control = META_FRAME_CONTROL_NONE;
break;
}
}
if (control == frame->prelit_control)
return;
@ -1546,7 +1546,7 @@ meta_frames_motion_notify_event (GtkWidget *widget,
/* Update prelit control and cursor */
meta_frames_update_prelit_control (frames, frame, control);
}
return TRUE;
}
@ -1562,7 +1562,7 @@ meta_frames_destroy_event (GtkWidget *widget,
frame = meta_frames_lookup_window (frames, GDK_WINDOW_XID (event->window));
if (frame == NULL)
return FALSE;
return TRUE;
}
@ -1600,7 +1600,7 @@ clip_region_to_visible_frame_border (cairo_region_t *region,
MetaFrameBorders borders;
Display *display;
int frame_width, frame_height;
display = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ());
meta_core_get (display, frame->xwindow,
@ -1611,7 +1611,7 @@ clip_region_to_visible_frame_border (cairo_region_t *region,
META_CORE_GET_END);
meta_theme_get_frame_borders (meta_theme_get_current (),
type, frame->text_height, flags,
type, frame->text_height, flags,
&borders);
/* Visible frame rect */
@ -1768,7 +1768,7 @@ meta_frames_draw (GtkWidget *widget,
out:
cairo_region_destroy (region);
return TRUE;
}
@ -1792,7 +1792,7 @@ meta_frames_paint (MetaFrames *frames,
for (i = 0; i < META_BUTTON_TYPE_LAST; i++)
button_states[i] = META_BUTTON_STATE_NORMAL;
/* Set prelight state */
switch (frame->prelit_control)
{
@ -1915,7 +1915,7 @@ meta_frames_enter_notify_event (GtkWidget *widget,
MetaUIFrame *frame;
MetaFrames *frames;
MetaFrameControl control;
frames = META_FRAMES (widget);
frame = meta_frames_lookup_window (frames, GDK_WINDOW_XID (event->window));
@ -1924,7 +1924,7 @@ meta_frames_enter_notify_event (GtkWidget *widget,
control = get_control (frames, frame, event->x, event->y);
meta_frames_update_prelit_control (frames, frame, control);
return TRUE;
}
@ -1942,7 +1942,7 @@ meta_frames_leave_notify_event (GtkWidget *widget,
return FALSE;
meta_frames_update_prelit_control (frames, frame, META_FRAME_CONTROL_NONE);
return TRUE;
}
@ -1951,7 +1951,7 @@ control_rect (MetaFrameControl control,
MetaFrameGeometry *fgeom)
{
GdkRectangle *rect;
rect = NULL;
switch (control)
{
@ -2033,7 +2033,7 @@ get_control (MetaFrames *frames,
if (POINT_IN_RECT (x, y, client))
return META_FRAME_CONTROL_CLIENT_AREA;
if (POINT_IN_RECT (x, y, fgeom.close_rect.clickable))
return META_FRAME_CONTROL_DELETE;
@ -2068,7 +2068,7 @@ get_control (MetaFrames *frames,
else
return META_FRAME_CONTROL_MAXIMIZE;
}
if (POINT_IN_RECT (x, y, fgeom.shade_rect.clickable))
{
return META_FRAME_CONTROL_SHADE;

View File

@ -2,9 +2,9 @@
/* Metacity window frame manager widget */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -79,7 +79,7 @@ struct _MetaUIFrame
int text_height;
char *title; /* NULL once we have a layout */
guint shape_applied : 1;
/* FIXME get rid of this, it can just be in the MetaFrames struct */
MetaFrameControl prelit_control;
MetaButtonState button_state;
@ -89,7 +89,7 @@ struct _MetaUIFrame
struct _MetaFrames
{
GtkWindow parent_instance;
GHashTable *text_heights;
GHashTable *frames;

View File

@ -1,10 +1,10 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2001 Havoc Pennington, 99% copied from wrlib in
* WindowMaker, Copyright (C) 1997-2000 Dan Pascu and Alfredo Kojima
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>. */
@ -76,7 +76,7 @@ blank_pixbuf (int width, int height, gboolean no_padding)
if (no_padding)
rowstride = width * 3;
else
/* Always align rows to 32-bit boundaries */
/* Always align rows to 32-bit boundaries */
rowstride = 4 * ((3 * width + 3) / 4);
buf = g_try_malloc (height * rowstride);
@ -194,7 +194,7 @@ meta_gradient_create_interwoven (int width,
const GdkRGBA colors2[2],
int thickness2)
{
int i, j, k, l, ll;
long r1, g1, b1, dr1, dg1, db1;
long r2, g2, b2, dr2, dg2, db2;
@ -202,14 +202,14 @@ meta_gradient_create_interwoven (int width,
unsigned char *ptr;
unsigned char *pixels;
int rowstride;
pixbuf = blank_pixbuf (width, height, FALSE);
if (pixbuf == NULL)
return NULL;
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
r1 = (long)(colors1[0].red*0xffffff);
g1 = (long)(colors1[0].green*0xffffff);
b1 = (long)(colors1[0].blue*0xffffff);
@ -229,7 +229,7 @@ meta_gradient_create_interwoven (int width,
for (i=0,k=0,l=0,ll=thickness1; i<height; i++)
{
ptr = pixels + i * rowstride;
if (k == 0)
{
ptr[0] = (unsigned char) (r1>>16);
@ -264,7 +264,7 @@ meta_gradient_create_interwoven (int width,
r1+=dr1;
g1+=dg1;
b1+=db1;
r2+=dr2;
g2+=dg2;
b2+=db2;
@ -277,20 +277,20 @@ meta_gradient_create_interwoven (int width,
*----------------------------------------------------------------------
* meta_gradient_create_horizontal--
* Renders a horizontal linear gradient of the specified size in the
* GdkPixbuf format with a border of the specified type.
*
* GdkPixbuf format with a border of the specified type.
*
* Returns:
* A 24bit GdkPixbuf with the gradient (no alpha channel).
*
*
* Side effects:
* None
*----------------------------------------------------------------------
*----------------------------------------------------------------------
*/
static GdkPixbuf*
meta_gradient_create_horizontal (int width, int height,
const GdkRGBA *from,
const GdkRGBA *to)
{
{
int i;
long r, g, b, dr, dg, db;
GdkPixbuf *pixbuf;
@ -303,22 +303,22 @@ meta_gradient_create_horizontal (int width, int height,
pixbuf = blank_pixbuf (width, height, FALSE);
if (pixbuf == NULL)
return NULL;
pixels = gdk_pixbuf_get_pixels (pixbuf);
ptr = pixels;
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
r0 = (guchar) (from->red * 0xff);
g0 = (guchar) (from->green * 0xff);
b0 = (guchar) (from->blue * 0xff);
rf = (guchar) (to->red * 0xff);
gf = (guchar) (to->green * 0xff);
bf = (guchar) (to->blue * 0xff);
r = r0 << 16;
g = g0 << 16;
b = b0 << 16;
dr = ((rf-r0)<<16)/(int)width;
dg = ((gf-g0)<<16)/(int)width;
db = ((bf-b0)<<16)/(int)width;
@ -367,21 +367,21 @@ meta_gradient_create_vertical (int width, int height,
int rf, gf, bf;
int rowstride;
unsigned char *pixels;
pixbuf = blank_pixbuf (width, height, FALSE);
if (pixbuf == NULL)
return NULL;
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
r0 = (guchar) (from->red * 0xff);
g0 = (guchar) (from->green * 0xff);
b0 = (guchar) (from->blue * 0xff);
rf = (guchar) (to->red * 0xff);
gf = (guchar) (to->green * 0xff);
bf = (guchar) (to->blue * 0xff);
r = r0<<16;
g = g0<<16;
b = b0<<16;
@ -393,7 +393,7 @@ meta_gradient_create_vertical (int width, int height,
for (i=0; i<height; i++)
{
ptr = pixels + i * rowstride;
ptr[0] = (unsigned char)(r>>16);
ptr[1] = (unsigned char)(g>>16);
ptr[2] = (unsigned char)(b>>16);
@ -436,7 +436,7 @@ meta_gradient_create_diagonal (int width, int height,
unsigned char *ptr;
unsigned char *pixels;
int rowstride;
if (width == 1)
return meta_gradient_create_vertical (width, height, from, to);
else if (height == 1)
@ -445,7 +445,7 @@ meta_gradient_create_diagonal (int width, int height,
pixbuf = blank_pixbuf (width, height, FALSE);
if (pixbuf == NULL)
return NULL;
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
@ -483,27 +483,27 @@ meta_gradient_create_multi_horizontal (int width, int height,
GdkPixbuf *pixbuf;
unsigned char *ptr;
unsigned char *pixels;
int width2;
int width2;
int rowstride;
g_return_val_if_fail (count > 2, NULL);
pixbuf = blank_pixbuf (width, height, FALSE);
if (pixbuf == NULL)
return NULL;
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
ptr = pixels;
if (count > width)
count = width;
if (count > 1)
width2 = width/(count-1);
else
width2 = width;
k = 0;
r = (long)(colors[0].red * 0xffffff);
@ -536,7 +536,7 @@ meta_gradient_create_multi_horizontal (int width, int height,
*ptr++ = (unsigned char)(g>>16);
*ptr++ = (unsigned char)(b>>16);
}
/* copy the first line to the other lines */
for (i=1; i<height; i++)
{
@ -557,25 +557,25 @@ meta_gradient_create_multi_vertical (int width, int height,
int height2;
int x;
int rowstride;
g_return_val_if_fail (count > 2, NULL);
pixbuf = blank_pixbuf (width, height, FALSE);
if (pixbuf == NULL)
return NULL;
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
ptr = pixels;
if (count > height)
count = height;
if (count > 1)
height2 = height/(count-1);
else
height2 = height;
k = 0;
r = (long)(colors[0].red * 0xffffff);
@ -599,7 +599,7 @@ meta_gradient_create_multi_vertical (int width, int height,
memcpy (&(ptr[x*3]), ptr, (width - x)*3);
ptr += rowstride;
r += dr;
g += dg;
b += db;
@ -623,14 +623,14 @@ meta_gradient_create_multi_vertical (int width, int height,
memcpy (&(ptr[x*3]), ptr, (width - x)*3);
ptr += rowstride;
for (j=k+1; j<height; j++)
{
memcpy (ptr, tmp, rowstride);
ptr += rowstride;
}
}
return pixbuf;
}
@ -646,7 +646,7 @@ meta_gradient_create_multi_diagonal (int width, int height,
unsigned char *ptr;
unsigned char *pixels;
int rowstride;
g_return_val_if_fail (count > 2, NULL);
if (width == 1)
@ -658,10 +658,10 @@ meta_gradient_create_multi_diagonal (int width, int height,
width, height);
if (pixbuf == NULL)
return NULL;
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
if (count > width)
count = width;
if (count > height)
@ -708,12 +708,12 @@ simple_multiply_alpha (GdkPixbuf *pixbuf,
int row;
g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
if (alpha == 255)
return;
g_assert (gdk_pixbuf_get_has_alpha (pixbuf));
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
height = gdk_pixbuf_get_height (pixbuf);
@ -738,7 +738,7 @@ simple_multiply_alpha (GdkPixbuf *pixbuf,
*/
/* ((*p / 255.0) * (alpha / 255.0)) * 255; */
*p = (guchar) (((int) *p * (int) alpha) / (int) 255);
++p; /* skip A */
}
@ -755,13 +755,13 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf *pixbuf,
long a, da;
unsigned char *p;
unsigned char *pixels;
int width2;
int width2;
int rowstride;
int width, height;
unsigned char *gradient;
unsigned char *gradient_p;
unsigned char *gradient_end;
g_return_if_fail (n_alphas > 0);
if (n_alphas == 1)
@ -770,24 +770,24 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf *pixbuf,
simple_multiply_alpha (pixbuf, alphas[0]);
return;
}
width = gdk_pixbuf_get_width (pixbuf);
height = gdk_pixbuf_get_height (pixbuf);
gradient = g_new (unsigned char, width);
gradient_end = gradient + width;
if (n_alphas > width)
n_alphas = width;
if (n_alphas > 1)
width2 = width / (n_alphas - 1);
else
width2 = width;
a = alphas[0] << 8;
gradient_p = gradient;
/* render the gradient into an array */
for (i = 1; i < n_alphas; i++)
{
@ -796,7 +796,7 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf *pixbuf,
for (j = 0; j < width2; j++)
{
*gradient_p++ = (a >> 8);
a += da;
}
@ -808,11 +808,11 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf *pixbuf,
{
*gradient_p++ = a >> 8;
}
/* Now for each line of the pixbuf, fill in with the gradient */
pixels = gdk_pixbuf_get_pixels (pixbuf);
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
p = pixels;
i = 0;
while (i < height)
@ -838,7 +838,7 @@ meta_gradient_add_alpha_horizontal (GdkPixbuf *pixbuf,
p = row_end;
++i;
}
g_free (gradient);
}
@ -851,21 +851,21 @@ meta_gradient_add_alpha (GdkPixbuf *pixbuf,
g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
g_return_if_fail (gdk_pixbuf_get_has_alpha (pixbuf));
g_return_if_fail (n_alphas > 0);
switch (type)
{
case META_GRADIENT_HORIZONTAL:
meta_gradient_add_alpha_horizontal (pixbuf, alphas, n_alphas);
break;
case META_GRADIENT_VERTICAL:
g_printerr ("metacity: vertical alpha channel gradient not implemented yet\n");
break;
case META_GRADIENT_DIAGONAL:
g_printerr ("metacity: diagonal alpha channel gradient not implemented yet\n");
break;
case META_GRADIENT_LAST:
g_assert_not_reached ();
break;

View File

@ -2,11 +2,11 @@
/* Mutter window menu */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2004 Rob Adams
* Copyright (C) 2005 Elijah Newren
*
*
* 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
@ -16,7 +16,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -107,18 +107,18 @@ popup_position_func (GtkMenu *menu,
gboolean *push_in,
gpointer user_data)
{
GtkRequisition req;
GtkRequisition req;
GdkPoint *pos;
pos = user_data;
gtk_widget_get_preferred_size (GTK_WIDGET (menu), &req, NULL);
*x = pos->x;
*y = pos->y;
if (meta_ui_get_direction() == META_UI_DIRECTION_RTL)
*x = MAX (0, *x - req.width);
*x = MAX (0, *x - req.width);
/* Ensure onscreen */
*x = CLAMP (*x, 0, MAX (0, gdk_screen_width () - req.width));
@ -130,7 +130,7 @@ menu_closed (GtkMenu *widget,
gpointer data)
{
MetaWindowMenu *menu;
menu = data;
(* menu->func) (menu,
@ -139,7 +139,7 @@ menu_closed (GtkMenu *widget,
gtk_get_current_event_time (),
0, 0,
menu->data);
/* menu may now be freed */
}
@ -147,9 +147,9 @@ static void
activate_cb (GtkWidget *menuitem, gpointer data)
{
MenuData *md;
g_return_if_fail (GTK_IS_WIDGET (menuitem));
md = data;
(* md->menu->func) (md->menu,
@ -169,7 +169,7 @@ activate_cb (GtkWidget *menuitem, gpointer data)
* accelerators. At the moment this means adding a _ if the name is of
* the form "Workspace n" where n is less than 10, and escaping any
* other '_'s so they do not create inadvertant accelerators.
*
*
* The calling code owns the string, and is reponsible to free the
* memory after use.
*
@ -188,7 +188,7 @@ get_workspace_name_with_accel (Display *display,
name = meta_core_get_workspace_name_with_index (display, xroot, index);
g_assert (name != NULL);
/*
* If the name is of the form "Workspace x" where x is an unsigned
* integer, insert a '_' before the number if it is less than 10 and
@ -199,7 +199,7 @@ get_workspace_name_with_accel (Display *display,
*(name + charcount)=='\0')
{
char *new_name;
/*
* Above name is a pointer into the Workspace struct. Here we make
* a copy copy so we can have our wicked way with it.
@ -271,10 +271,10 @@ menu_item_new (MenuItem *menuitem, int workspace_id)
else if (menuitem->type == MENU_ITEM_CHECKBOX)
{
mi = gtk_check_menu_item_new ();
gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (mi),
menuitem->checked);
}
}
else if (menuitem->type == MENU_ITEM_RADIOBUTTON)
{
mi = gtk_check_menu_item_new ();
@ -300,7 +300,7 @@ menu_item_new (MenuItem *menuitem, int workspace_id)
meta_accel_label_set_accelerator (META_ACCEL_LABEL (accel_label),
key, mods);
return mi;
}
@ -320,18 +320,18 @@ meta_window_menu_new (MetaFrames *frames,
/* FIXME: Modifications to 'ops' should happen in meta_window_show_menu */
if (n_workspaces < 2)
ops &= ~(META_MENU_OP_STICK | META_MENU_OP_UNSTICK | META_MENU_OP_WORKSPACES);
else if (n_workspaces == 2)
else if (n_workspaces == 2)
/* #151183: If we only have two workspaces, disable the menu listing them. */
ops &= ~(META_MENU_OP_WORKSPACES);
menu = g_new (MetaWindowMenu, 1);
menu->frames = frames;
menu->client_xwindow = client_xwindow;
menu->func = func;
menu->data = data;
menu->ops = ops;
menu->insensitive = insensitive;
menu->insensitive = insensitive;
menu->menu = gtk_menu_new ();
gtk_menu_set_screen (GTK_MENU (menu->menu),
@ -450,12 +450,12 @@ meta_window_menu_new (MetaFrames *frames,
if (insensitive & menuitem.op)
gtk_widget_set_sensitive (mi, FALSE);
md = g_new (MenuData, 1);
md->menu = menu;
md->op = menuitem.op;
g_signal_connect_data (G_OBJECT (mi),
"activate",
G_CALLBACK (activate_cb),
@ -466,15 +466,15 @@ meta_window_menu_new (MetaFrames *frames,
if (mi)
{
gtk_menu_shell_append (GTK_MENU_SHELL (menu->menu), mi);
gtk_widget_show (mi);
}
}
}
g_signal_connect (menu->menu, "selection_done",
G_CALLBACK (menu_closed), menu);
G_CALLBACK (menu_closed), menu);
return menu;
}
@ -487,7 +487,7 @@ meta_window_menu_popup (MetaWindowMenu *menu,
guint32 timestamp)
{
GdkPoint *pt;
pt = g_new (GdkPoint, 1);
g_object_set_data_full (G_OBJECT (menu->menu),
@ -497,7 +497,7 @@ meta_window_menu_popup (MetaWindowMenu *menu,
pt->x = root_x;
pt->y = root_y;
gtk_menu_popup (GTK_MENU (menu->menu),
NULL, NULL,
popup_position_func, pt,

View File

@ -2,9 +2,9 @@
/* Mutter window menu */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -271,9 +271,9 @@ meta_accel_label_draw (GtkWidget *widget,
cairo_translate (cr, ac_width, 0);
if (gtk_label_get_ellipsize (label))
pango_layout_set_width (label_layout,
pango_layout_get_width (label_layout)
pango_layout_get_width (label_layout)
- ac_width * PANGO_SCALE);
allocation.width -= ac_width;
gtk_widget_set_allocation (widget, &allocation);
if (GTK_WIDGET_CLASS (meta_accel_label_parent_class)->draw)
@ -283,7 +283,7 @@ meta_accel_label_draw (GtkWidget *widget,
gtk_widget_set_allocation (widget, &allocation);
if (gtk_label_get_ellipsize (label))
pango_layout_set_width (label_layout,
pango_layout_get_width (label_layout)
pango_layout_get_width (label_layout)
+ ac_width * PANGO_SCALE);
cairo_restore (cr);
@ -318,7 +318,7 @@ meta_accel_label_draw (GtkWidget *widget,
if (GTK_WIDGET_CLASS (meta_accel_label_parent_class)->draw)
GTK_WIDGET_CLASS (meta_accel_label_parent_class)->draw (widget, cr);
}
return FALSE;
}

View File

@ -2,9 +2,9 @@
/* Metacity resizing-terminal-window feedback */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -30,13 +30,13 @@ struct _MetaResizePopup
GtkWidget *size_window;
GtkWidget *size_label;
Display *display;
int screen_number;
int screen_number;
int vertical_size;
int horizontal_size;
gboolean showing;
MetaRectangle rect;
};
@ -50,7 +50,7 @@ meta_ui_resize_popup_new (Display *display,
popup->display = display;
popup->screen_number = screen_number;
return popup;
}
@ -58,10 +58,10 @@ void
meta_ui_resize_popup_free (MetaResizePopup *popup)
{
g_return_if_fail (popup != NULL);
if (popup->size_window)
gtk_widget_destroy (popup->size_window);
g_free (popup);
}
@ -125,9 +125,9 @@ update_size_window (MetaResizePopup *popup)
char *str;
int x, y;
int width, height;
g_return_if_fail (popup->size_window != NULL);
/* Translators: This represents the size of a window. The first number is
* the width of the window and the second is the height.
*/
@ -143,7 +143,7 @@ update_size_window (MetaResizePopup *popup)
x = popup->rect.x + (popup->rect.width - width) / 2;
y = popup->rect.y + (popup->rect.height - height) / 2;
if (gtk_widget_get_realized (popup->size_window))
{
/* using move_resize to avoid jumpiness */
@ -165,7 +165,7 @@ sync_showing (MetaResizePopup *popup)
{
if (popup->size_window)
gtk_widget_show (popup->size_window);
if (popup->size_window && gtk_widget_get_realized (popup->size_window))
gdk_window_raise (gtk_widget_get_window (popup->size_window));
}
@ -186,11 +186,11 @@ meta_ui_resize_popup_set (MetaResizePopup *popup,
{
gboolean need_update_size;
int display_w, display_h;
g_return_if_fail (popup != NULL);
need_update_size = FALSE;
display_w = rect.width - base_width;
if (width_inc > 0)
display_w /= width_inc;
@ -203,17 +203,17 @@ meta_ui_resize_popup_set (MetaResizePopup *popup,
display_w != popup->horizontal_size ||
display_h != popup->vertical_size)
need_update_size = TRUE;
popup->rect = rect;
popup->vertical_size = display_h;
popup->horizontal_size = display_w;
if (need_update_size)
{
ensure_size_window (popup);
update_size_window (popup);
}
sync_showing (popup);
}
@ -222,7 +222,7 @@ meta_ui_resize_popup_set_showing (MetaResizePopup *popup,
gboolean showing)
{
g_return_if_fail (popup != NULL);
if (showing == popup->showing)
return;
@ -233,6 +233,6 @@ meta_ui_resize_popup_set_showing (MetaResizePopup *popup,
ensure_size_window (popup);
update_size_window (popup);
}
sync_showing (popup);
}

View File

@ -2,9 +2,9 @@
/* Mutter resizing-terminal-window feedback */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,9 +2,9 @@
/* Mutter gradient test program */
/*
/*
* Copyright (C) 2002 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>. */
@ -32,9 +32,9 @@ draw_checkerboard (cairo_t *cr,
{
gint i, j, xcount, ycount;
GdkRGBA color1, color2;
#define CHECK_SIZE 10
#define SPACING 2
#define SPACING 2
color1.red = 30000. / 65535.;
color1.green = 30000. / 65535.;
@ -83,7 +83,7 @@ render_simple (cairo_t *cr,
{
GdkPixbuf *pixbuf;
GdkRGBA from, to;
gdk_rgba_parse (&from, "blue");
gdk_rgba_parse (&to, "green");
@ -94,23 +94,23 @@ render_simple (cairo_t *cr,
if (with_alpha)
{
const unsigned char alphas[] = { 0xff, 0xaa, 0x2f, 0x0, 0xcc, 0xff, 0xff };
if (!gdk_pixbuf_get_has_alpha (pixbuf))
{
GdkPixbuf *new_pixbuf;
new_pixbuf = gdk_pixbuf_add_alpha (pixbuf, FALSE, 0, 0, 0);
g_object_unref (G_OBJECT (pixbuf));
pixbuf = new_pixbuf;
}
meta_gradient_add_alpha (pixbuf,
alphas, G_N_ELEMENTS (alphas),
META_GRADIENT_HORIZONTAL);
draw_checkerboard (cr , width, height);
}
gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0);
cairo_rectangle (cr, 0, 0, width, height);
cairo_fill (cr);
@ -253,13 +253,13 @@ create_gradient_window (const char *title,
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), title);
drawing_area = gtk_drawing_area_new ();
gtk_widget_set_size_request (drawing_area, 1, 1);
gtk_window_set_default_size (GTK_WINDOW (window), 175, 175);
g_signal_connect (G_OBJECT (drawing_area),
"draw",
G_CALLBACK (draw_callback),
@ -268,7 +268,7 @@ create_gradient_window (const char *title,
gtk_container_add (GTK_CONTAINER (window), drawing_area);
gtk_widget_show_all (window);
return window;
}

File diff suppressed because it is too large Load Diff

View File

@ -2,9 +2,9 @@
/* Metacity Theme Rendering */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -57,7 +57,7 @@ typedef struct _MetaGradientSpec MetaGradientSpec;
* MetaAlphaGradientSpec: (skip)
*
*/
typedef struct _MetaAlphaGradientSpec MetaAlphaGradientSpec;
typedef struct _MetaAlphaGradientSpec MetaAlphaGradientSpec;
/**
* MetaColorSpec: (skip)
*
@ -131,14 +131,14 @@ struct _MetaFrameLayout
{
/** Reference count. */
int refcount;
/** Size of left side */
int left_width;
/** Size of right side */
int right_width;
/** Size of bottom side */
int bottom_height;
/** Border of blue title region
* \bug (blue?!)
**/
@ -146,12 +146,12 @@ struct _MetaFrameLayout
/** Extra height for inside of title region, above the font height */
int title_vertical_pad;
/** Right indent of buttons from edges of frame */
int right_titlebar_edge;
/** Left indent of buttons from edges of frame */
int left_titlebar_edge;
/**
* Sizing rule of buttons, either META_BUTTON_SIZING_ASPECT
* (in which case button_aspect will be honoured, and
@ -167,7 +167,7 @@ struct _MetaFrameLayout
* Otherwise we figure out the height from the button_border.
*/
double button_aspect;
/** Width of a button; set even when we are using aspect sizing */
int button_width;
@ -179,7 +179,7 @@ struct _MetaFrameLayout
/** scale factor for title text */
double title_scale;
/** Whether title text will be displayed */
guint has_title : 1;
@ -218,7 +218,7 @@ struct _MetaFrameGeometry
MetaFrameBorders borders;
int width;
int height;
int height;
GdkRectangle title_rect;
@ -230,7 +230,7 @@ struct _MetaFrameGeometry
/* used for a memset hack */
#define ADDRESS_OF_BUTTON_RECTS(fgeom) (((char*)(fgeom)) + G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
#define LENGTH_OF_BUTTON_RECTS (G_STRUCT_OFFSET (MetaFrameGeometry, right_single_background) + sizeof (GdkRectangle) - G_STRUCT_OFFSET (MetaFrameGeometry, close_rect))
/* The button rects (if changed adjust memset hack) */
MetaButtonSpace close_rect;
MetaButtonSpace max_rect;
@ -258,7 +258,7 @@ struct _MetaFrameGeometry
MetaButtonLayout button_layout;
int n_left_buttons;
int n_right_buttons;
/* Round corners */
guint top_left_corner_rounded_radius;
guint top_right_corner_rounded_radius;
@ -363,14 +363,14 @@ typedef enum
/** Clip to a rectangle */
META_DRAW_CLIP,
/* Texture thingies */
/** Just a filled rectangle with alpha */
META_DRAW_TINT,
META_DRAW_GRADIENT,
META_DRAW_IMAGE,
/** GTK theme engine stuff */
META_DRAW_GTK_ARROW,
META_DRAW_GTK_BOX,
@ -459,7 +459,7 @@ struct _MetaDrawSpec
* otherwise it is zero.
*/
int value;
/** A list of tokens in the expression. */
PosToken *tokens;
@ -517,7 +517,7 @@ struct _MetaDrawOp
MetaDrawSpec *width;
MetaDrawSpec *height;
} clip;
struct {
MetaColorSpec *color_spec;
MetaAlphaGradientSpec *alpha_spec;
@ -551,7 +551,7 @@ struct _MetaDrawOp
unsigned int vertical_stripes : 1;
unsigned int horizontal_stripes : 1;
} image;
struct {
GtkStateFlags state;
GtkShadowType shadow;
@ -577,7 +577,7 @@ struct _MetaDrawOp
GtkStateFlags state;
MetaDrawSpec *x;
MetaDrawSpec *y1;
MetaDrawSpec *y2;
MetaDrawSpec *y2;
} gtk_vline;
struct {
@ -615,7 +615,7 @@ struct _MetaDrawOp
MetaDrawSpec *tile_width;
MetaDrawSpec *tile_height;
} tile;
} data;
};
@ -690,7 +690,7 @@ typedef enum
* | rather than |
*
*/
/* entire frame */
META_FRAME_PIECE_ENTIRE_BACKGROUND,
/* entire titlebar background */
@ -756,7 +756,7 @@ struct _MetaFrameStyle
};
/* Kinds of frame...
*
*
* normal -> noresize / vert only / horz only / both
* focused / unfocused
* max -> focused / unfocused
@ -768,7 +768,7 @@ struct _MetaFrameStyle
*
* 14 window states times 7 or 8 window types. Except some
* window types never get a frame so that narrows it down a bit.
*
*
*/
typedef enum
{

File diff suppressed because it is too large Load Diff

View File

@ -2,9 +2,9 @@
/* Mutter interface for talking to GTK+ UI module */
/*
/*
* Copyright (C) 2002 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -330,7 +330,7 @@ meta_ui_create_frame_window (MetaUI *ui,
gint attributes_mask;
GdkWindow *window;
GdkVisual *visual;
/* 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
@ -379,7 +379,7 @@ meta_ui_create_frame_window (MetaUI *ui,
&attrs, attributes_mask);
gdk_window_resize (window, width, height);
meta_frames_manage_window (ui->frames, GDK_WINDOW_XID (window), window);
return GDK_WINDOW_XID (window);
@ -602,7 +602,7 @@ meta_ui_get_default_window_icon (MetaUI *ui)
}
g_object_ref (G_OBJECT (default_icon));
return default_icon;
}
@ -637,7 +637,7 @@ meta_ui_get_default_mini_icon (MetaUI *ui)
}
g_object_ref (G_OBJECT (default_icon));
return default_icon;
}

View File

@ -2,9 +2,9 @@
/* Mutter interface for talking to GTK+ UI module */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -55,7 +55,7 @@ struct _ListNode
struct _AgGetPropertyTask
{
ListNode node;
AgPerDisplayData *dd;
Window window;
Atom property;
@ -77,7 +77,7 @@ struct _AgPerDisplayData
{
ListNode node;
_XAsyncHandler async;
Display *display;
ListNode *pending_tasks;
ListNode *pending_tasks_tail;
@ -96,7 +96,7 @@ append_to_list (ListNode **head,
ListNode *task)
{
task->next = NULL;
if (*tail == NULL)
{
assert (*head == NULL);
@ -131,10 +131,10 @@ remove_from_list (ListNode **head,
if (node == *tail)
*tail = prev;
break;
}
prev = node;
node = node->next;
}
@ -152,7 +152,7 @@ move_to_completed (AgPerDisplayData *dd,
remove_from_list (&dd->pending_tasks,
&dd->pending_tasks_tail,
&task->node);
append_to_list (&dd->completed_tasks,
&dd->completed_tasks_tail,
&task->node);
@ -187,18 +187,18 @@ find_pending_by_request_sequence (AgPerDisplayData *dd,
* I'm not sure this is 100% guaranteed, if it is,
* it would be a big speedup.
*/
node = dd->pending_tasks;
while (node != NULL)
{
AgGetPropertyTask *task = (AgGetPropertyTask*) node;
if (task->request_seq == request_seq)
return task;
node = node->next;
}
return NULL;
}
@ -216,12 +216,12 @@ async_get_property_handler (Display *dpy,
int bytes_read;
dd = (AgPerDisplayData*) data;
#if 0
printf ("%s: seeing request seq %ld buflen %d\n", __FUNCTION__,
dpy->last_request_read, len);
#endif
task = find_pending_by_request_sequence (dd, dpy->last_request_read);
if (task == NULL)
@ -231,7 +231,7 @@ async_get_property_handler (Display *dpy,
task->have_reply = True;
move_to_completed (dd, task);
/* read bytes so far */
bytes_read = SIZEOF (xReply);
@ -240,7 +240,7 @@ async_get_property_handler (Display *dpy,
xError errbuf;
task->error = rep->error.errorCode;
#ifdef DEBUG_SPEW
printf ("%s: error code = %d (ignoring error, eating %d bytes, generic.length = %ld)\n",
__FUNCTION__, task->error, (SIZEOF (xError) - bytes_read),
@ -263,7 +263,7 @@ async_get_property_handler (Display *dpy,
_XGetAsyncReply (dpy, (char *)&errbuf, rep, buf, len,
(SIZEOF (xError) - bytes_read) >> 2, /* in 32-bit words */
False); /* really seems like it should be True */
return True;
}
@ -368,7 +368,7 @@ async_get_property_handler (Display *dpy,
char *netdata;
char *lptr;
char *end_lptr;
/* Store the 32-bit values in the end of the array */
netdata = task->data + nbytes / 2;
@ -377,7 +377,7 @@ async_get_property_handler (Display *dpy,
netbytes);
/* Now move the 32-bit values to the front */
lptr = task->data;
end_lptr = task->data + nbytes;
while (lptr != end_lptr)
@ -411,7 +411,7 @@ async_get_property_handler (Display *dpy,
#if 0
xError error;
#endif
task->error = BadImplementation;
#if 0
@ -468,21 +468,21 @@ get_display_data (Display *display,
{
ListNode *node;
AgPerDisplayData *dd;
node = display_datas;
while (node != NULL)
{
dd = (AgPerDisplayData*) node;
if (dd->display == display)
return dd;
node = node->next;
}
if (!create)
return NULL;
dd = Xcalloc (1, sizeof (AgPerDisplayData));
if (dd == NULL)
return NULL;
@ -496,7 +496,7 @@ get_display_data (Display *display,
append_to_list (&display_datas,
&display_datas_tail,
&dd->node);
return dd;
}
@ -524,8 +524,8 @@ ag_task_create (Display *dpy,
{
AgGetPropertyTask *task;
xGetPropertyReq *req;
AgPerDisplayData *dd;
AgPerDisplayData *dd;
/* Fire up our request */
LockDisplay (dpy);
@ -535,7 +535,7 @@ ag_task_create (Display *dpy,
UnlockDisplay (dpy);
return NULL;
}
GetReq (GetProperty, req);
req->window = window;
req->property = property;
@ -561,7 +561,7 @@ ag_task_create (Display *dpy,
&dd->pending_tasks_tail,
&task->node);
dd->n_tasks_pending += 1;
UnlockDisplay (dpy);
SyncHandle ();
@ -593,13 +593,13 @@ ag_task_get_reply_and_free (AgGetPropertyTask *task,
*prop = NULL;
dpy = task->dd->display; /* Xlib macros require a variable named "dpy" */
if (task->error != Success)
{
Status s = task->error;
free_task (task);
return s;
}
@ -620,7 +620,7 @@ ag_task_get_reply_and_free (AgGetPropertyTask *task,
SyncHandle ();
free_task (task);
return Success;
}
@ -657,7 +657,7 @@ ag_get_next_completed_task (Display *display)
if (dd == NULL)
return NULL;
#ifdef DEBUG_SPEW
printf ("%d pending %d completed\n",
dd->n_tasks_pending,

View File

@ -4,16 +4,16 @@
/*
* Copyright (C) 2002 Havoc Pennington
*
*
* Permission to use, copy, modify, distribute, and sell this software
* and its documentation for any purpose is hereby granted without
* fee, provided that the above copyright notice appear in all copies
* and that both that copyright notice and this permission notice
* appear in supporting documentation.
*
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND

View File

@ -2,9 +2,9 @@
/* Mutter window group private header */
/*
/*
* Copyright (C) 2002 Red Hat Inc.
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,9 +2,9 @@
/* MetaGroup property handling */
/*
/*
* Copyright (C) 2002 Red Hat, Inc.
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -65,16 +65,16 @@ meta_group_reload_properties (MetaGroup *group,
g_return_if_fail (properties != NULL);
g_return_if_fail (n_properties > 0);
values = g_new0 (MetaPropValue, n_properties);
i = 0;
while (i < n_properties)
{
init_prop_value (group->display, properties[i], &values[i]);
++i;
}
meta_prop_get_values (group->display, group->group_leader,
values, n_properties);
@ -82,12 +82,12 @@ meta_group_reload_properties (MetaGroup *group,
while (i < n_properties)
{
reload_prop_value (group, &values[i]);
++i;
}
meta_prop_free_values (values, n_properties);
g_free (values);
}
@ -97,11 +97,11 @@ init_prop_value (MetaDisplay *display,
Atom property,
MetaPropValue *value)
{
MetaGroupPropHooks *hooks;
MetaGroupPropHooks *hooks;
value->type = META_PROP_VALUE_INVALID;
value->atom = None;
hooks = find_hooks (display, property);
if (hooks && hooks->init_func != NULL)
(* hooks->init_func) (display, property, value);
@ -111,8 +111,8 @@ static void
reload_prop_value (MetaGroup *group,
MetaPropValue *value)
{
MetaGroupPropHooks *hooks;
MetaGroupPropHooks *hooks;
hooks = find_hooks (group->display, value->atom);
if (hooks && hooks->reload_func != NULL)
(* hooks->reload_func) (group, value);
@ -133,7 +133,7 @@ reload_wm_client_machine (MetaGroup *group,
{
g_free (group->wm_client_machine);
group->wm_client_machine = NULL;
if (value->type != META_PROP_VALUE_INVALID)
group->wm_client_machine = g_strdup (value->v.str);
@ -156,10 +156,10 @@ reload_net_startup_id (MetaGroup *group,
{
g_free (group->startup_id);
group->startup_id = NULL;
if (value->type != META_PROP_VALUE_INVALID)
group->startup_id = g_strdup (value->v.str);
meta_verbose ("Group has startup id \"%s\"\n",
group->startup_id ? group->startup_id : "unset");
}
@ -171,12 +171,12 @@ meta_display_init_group_prop_hooks (MetaDisplay *display)
{
int i;
MetaGroupPropHooks *hooks;
g_assert (display->group_prop_hooks == NULL);
display->group_prop_hooks = g_new0 (MetaGroupPropHooks, N_HOOKS);
display->group_prop_hooks = g_new0 (MetaGroupPropHooks, N_HOOKS);
hooks = display->group_prop_hooks;
i = 0;
hooks[i].property = display->atom_WM_CLIENT_MACHINE;
@ -193,7 +193,7 @@ meta_display_init_group_prop_hooks (MetaDisplay *display)
hooks[i].init_func = init_net_startup_id;
hooks[i].reload_func = reload_net_startup_id;
++i;
if (i != N_HOOKS)
{
g_error ("Initialized %d group hooks should have been %d\n", i, N_HOOKS);
@ -204,7 +204,7 @@ void
meta_display_free_group_prop_hooks (MetaDisplay *display)
{
g_assert (display->group_prop_hooks != NULL);
g_free (display->group_prop_hooks);
display->group_prop_hooks = NULL;
}
@ -218,13 +218,13 @@ find_hooks (MetaDisplay *display,
/* FIXME we could sort the array and do binary search or
* something
*/
i = 0;
while (i < N_HOOKS)
{
if (display->group_prop_hooks[i].property == property)
return &display->group_prop_hooks[i];
++i;
}

View File

@ -2,9 +2,9 @@
/* MetaGroup property handling */
/*
/*
* Copyright (C) 2002 Red Hat, Inc.
*
*
* 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,9 +1,9 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
/*
* Copyright (C) 2002 Red Hat Inc.
* Copyright (C) 2003 Rob Adams
*
*
* 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
@ -13,7 +13,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -40,16 +40,16 @@ meta_group_new (MetaDisplay *display,
#define N_INITIAL_PROPS 3
Atom initial_props[N_INITIAL_PROPS];
int i;
g_assert (N_INITIAL_PROPS == (int) G_N_ELEMENTS (initial_props));
group = g_new0 (MetaGroup, 1);
group->display = display;
group->windows = NULL;
group->group_leader = group_leader;
group->refcount = 1; /* owned by caller, hash table has only weak ref */
if (display->groups_by_leader == NULL)
display->groups_by_leader = g_hash_table_new (meta_unsigned_long_hash,
meta_unsigned_long_equal);
@ -66,13 +66,13 @@ meta_group_new (MetaDisplay *display,
initial_props[i++] = display->atom__NET_WM_PID;
initial_props[i++] = display->atom__NET_STARTUP_ID;
g_assert (N_INITIAL_PROPS == i);
meta_group_reload_properties (group, initial_props, N_INITIAL_PROPS);
meta_topic (META_DEBUG_GROUPS,
"Created new group with leader 0x%lx\n",
group->group_leader);
return group;
}
@ -86,10 +86,10 @@ meta_group_unref (MetaGroup *group)
{
meta_topic (META_DEBUG_GROUPS,
"Destroying group with leader 0x%lx\n",
group->group_leader);
group->group_leader);
g_assert (group->display->groups_by_leader != NULL);
g_hash_table_remove (group->display->groups_by_leader,
&group->group_leader);
@ -102,7 +102,7 @@ meta_group_unref (MetaGroup *group)
g_free (group->wm_client_machine);
g_free (group->startup_id);
g_free (group);
}
}
@ -128,9 +128,9 @@ meta_window_compute_group (MetaWindow* window)
MetaWindow *ancestor;
/* use window->xwindow if no window->xgroup_leader */
group = NULL;
/* Determine the ancestor of the window; its group setting will override the
* normal grouping rules; see bug 328211.
*/
@ -147,7 +147,7 @@ meta_window_compute_group (MetaWindow* window)
group = g_hash_table_lookup (window->display->groups_by_leader,
&window->xwindow);
}
if (group != NULL)
{
window->group = group;
@ -164,7 +164,7 @@ meta_window_compute_group (MetaWindow* window)
else
group = meta_group_new (window->display,
window->xwindow);
window->group = group;
}
@ -184,7 +184,7 @@ remove_window_from_group (MetaWindow *window)
meta_topic (META_DEBUG_GROUPS,
"Removing %s from group with leader 0x%lx\n",
window->desc, window->group->group_leader);
window->group->windows =
g_slist_remove (window->group->windows,
window);
@ -217,9 +217,9 @@ meta_display_lookup_group (MetaDisplay *display,
Window group_leader)
{
MetaGroup *group;
group = NULL;
if (display->groups_by_leader)
group = g_hash_table_lookup (display->groups_by_leader,
&group_leader);
@ -244,7 +244,7 @@ meta_group_update_layers (MetaGroup *group)
{
GSList *tmp;
GSList *frozen_stacks;
if (group->windows == NULL)
return;
@ -263,7 +263,7 @@ meta_group_update_layers (MetaGroup *group)
meta_stack_update_layer (window->screen->stack,
window);
tmp = tmp->next;
}

View File

@ -471,7 +471,7 @@ try_pixmap_and_mask (MetaDisplay *display,
GDK_INTERP_BILINEAR);
g_object_unref (G_OBJECT (unscaled));
if (*iconp && *mini_iconp)
return TRUE;
else
@ -569,7 +569,7 @@ clear_icon_cache (MetaIconCache *icon_cache,
g_object_unref (G_OBJECT (icon_cache->mini_icon));
icon_cache->mini_icon = NULL;
#endif
icon_cache->origin = USING_NO_ICON;
if (dirty_all)
@ -655,13 +655,13 @@ scaled_from_pixdata (guchar *pixdata,
{
GdkPixbuf *src;
GdkPixbuf *dest;
src = gdk_pixbuf_new_from_data (pixdata,
GDK_COLORSPACE_RGB,
TRUE,
8,
w, h, w * 4,
free_pixels,
free_pixels,
NULL);
if (src == NULL)
@ -673,7 +673,7 @@ scaled_from_pixdata (guchar *pixdata,
int size;
size = MAX (w, h);
tmp = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, size, size);
if (tmp)
@ -682,16 +682,16 @@ scaled_from_pixdata (guchar *pixdata,
gdk_pixbuf_copy_area (src, 0, 0, w, h,
tmp,
(size - w) / 2, (size - h) / 2);
g_object_unref (src);
src = tmp;
}
}
if (w != new_w || h != new_h)
{
dest = gdk_pixbuf_scale_simple (src, new_w, new_h, GDK_INTERP_BILINEAR);
g_object_unref (G_OBJECT (src));
}
else
@ -741,7 +741,7 @@ meta_read_icons (MetaScreen *screen,
icon_cache->ideal_mini_width = ideal_mini_width;
icon_cache->ideal_mini_height = ideal_mini_height;
#endif
if (!meta_icon_cache_get_icon_invalidated (icon_cache))
return FALSE; /* we have no new info to use */
@ -778,7 +778,7 @@ meta_read_icons (MetaScreen *screen,
{
replace_cache (icon_cache, USING_NET_WM_ICON,
*iconp, *mini_iconp);
return TRUE;
}
else
@ -862,7 +862,7 @@ meta_read_icons (MetaScreen *screen,
replace_cache (icon_cache, USING_FALLBACK_ICON,
*iconp, *mini_iconp);
return TRUE;
}

View File

@ -2,9 +2,9 @@
/* Mutter window icons */
/*
/*
* Copyright (C) 2002 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -39,13 +39,13 @@ Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
both that copyright notice and this permission notice appear in
supporting documentation, and that the name of Digital not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
software without specific, written prior permission.
DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL

View File

@ -2,11 +2,11 @@
/* Mutter Session Management */
/*
/*
* Copyright (C) 2001 Havoc Pennington (some code in here from
* libgnomeui, (C) Tom Tromey, Carsten Schaar)
* Copyright (C) 2004, 2005 Elijah Newren
*
*
* 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
@ -16,7 +16,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -70,7 +70,7 @@ meta_window_release_saved_state (const MetaWindowSessionInfo *info)
static void ice_io_error_handler (IceConn connection);
static void new_ice_connection (IceConn connection, IcePointer client_data,
static void new_ice_connection (IceConn connection, IcePointer client_data,
Bool opening, IcePointer *watch_data);
static void save_state (void);
@ -100,7 +100,7 @@ process_ice_messages (GIOChannel *channel,
#if 0
IcePointer context = IceGetConnectionContext (connection);
#endif
/* We were disconnected; close our connection to the
* session manager, this will result in the ICE connection
* being cleaned up, since it is owned by libSM.
@ -110,7 +110,7 @@ process_ice_messages (GIOChannel *channel,
return FALSE;
}
return TRUE;
}
@ -128,22 +128,22 @@ new_ice_connection (IceConn connection, IcePointer client_data, Bool opening,
* exec'ed children
*/
GIOChannel *channel;
fcntl (IceConnectionNumber (connection), F_SETFD,
fcntl (IceConnectionNumber (connection), F_GETFD, 0) | FD_CLOEXEC);
channel = g_io_channel_unix_new (IceConnectionNumber (connection));
input_id = g_io_add_watch (channel,
G_IO_IN | G_IO_ERR,
process_ice_messages,
connection);
g_io_channel_unref (channel);
*watch_data = (IcePointer) GUINT_TO_POINTER (input_id);
}
else
else
{
input_id = GPOINTER_TO_UINT ((gpointer) *watch_data);
@ -153,14 +153,14 @@ new_ice_connection (IceConn connection, IcePointer client_data, Bool opening,
static IceIOErrorHandler ice_installed_handler;
/* We call any handler installed before (or after) gnome_ice_init but
/* We call any handler installed before (or after) gnome_ice_init but
avoid calling the default libICE handler which does an exit() */
static void
ice_io_error_handler (IceConn connection)
{
if (ice_installed_handler)
(*ice_installed_handler) (connection);
}
}
static void
ice_init (void)
@ -229,7 +229,7 @@ meta_session_init (const char *previous_client_id,
unsigned long mask;
SmcCallbacks callbacks;
char *saved_client_id;
meta_topic (META_DEBUG_SM, "Initializing session with save file '%s'\n",
previous_save_file ? previous_save_file : "(none)");
@ -248,24 +248,24 @@ meta_session_init (const char *previous_client_id,
{
saved_client_id = NULL;
}
ice_init ();
mask = SmcSaveYourselfProcMask | SmcDieProcMask |
SmcSaveCompleteProcMask | SmcShutdownCancelledProcMask;
callbacks.save_yourself.callback = save_yourself_callback;
callbacks.save_yourself.client_data = NULL;
callbacks.die.callback = die_callback;
callbacks.die.client_data = NULL;
callbacks.save_complete.callback = save_complete_callback;
callbacks.save_complete.client_data = NULL;
callbacks.shutdown_cancelled.callback = shutdown_cancelled_callback;
callbacks.shutdown_cancelled.client_data = NULL;
session_connection =
SmcOpenConnection (NULL, /* use SESSION_MANAGER env */
NULL, /* means use existing ICE connection */
@ -276,10 +276,10 @@ meta_session_init (const char *previous_client_id,
(char*) previous_client_id,
&client_id,
255, buf);
if (session_connection == NULL)
{
meta_topic (META_DEBUG_SM,
meta_topic (META_DEBUG_SM,
"Failed to a open connection to a session manager, so window positions will not be saved: %s\n",
buf);
@ -296,7 +296,7 @@ meta_session_init (const char *previous_client_id,
current_state = STATE_IDLE;
else
current_state = STATE_REGISTERING;
{
SmProp prop1, prop2, prop3, prop4, prop5, prop6, *props[6];
SmPropValue prop1val, prop2val, prop3val, prop4val, prop5val, prop6val;
@ -328,7 +328,7 @@ meta_session_init (const char *previous_client_id,
prop2.vals = &prop2val;
prop2val.value = (char*) g_get_user_name ();
prop2val.length = strlen (prop2val.value);
prop3.name = SmRestartStyleHint;
prop3.type = SmCARD8;
prop3.num_vals = 1;
@ -342,7 +342,7 @@ meta_session_init (const char *previous_client_id,
prop4.num_vals = 1;
prop4.vals = &prop4val;
prop4val.value = pid;
prop4val.length = strlen (prop4val.value);
prop4val.length = strlen (prop4val.value);
/* Always start in home directory */
prop5.name = SmCurrentDirectory;
@ -358,14 +358,14 @@ meta_session_init (const char *previous_client_id,
prop6.vals = &prop6val;
prop6val.value = &priority;
prop6val.length = 1;
props[0] = &prop1;
props[1] = &prop2;
props[2] = &prop3;
props[3] = &prop4;
props[4] = &prop5;
props[5] = &prop6;
SmcSetProperties (session_connection, 6, props);
}
@ -388,11 +388,11 @@ save_yourself_possibly_done (gboolean shutdown,
meta_topic (META_DEBUG_SM,
"save possibly done shutdown = %d success = %d\n",
shutdown, successful);
if (current_state == STATE_SAVING_PHASE_1)
{
Status status;
status = SmcRequestSaveYourselfPhase2 (session_connection,
save_phase_2_callback,
GINT_TO_POINTER (shutdown));
@ -423,17 +423,17 @@ save_yourself_possibly_done (gboolean shutdown,
meta_topic (META_DEBUG_SM,
"Requested interact, status = %d\n", status);
}
if (current_state == STATE_SAVING_PHASE_1 ||
current_state == STATE_SAVING_PHASE_2 ||
current_state == STATE_DONE_WITH_INTERACT ||
current_state == STATE_SKIPPING_GLOBAL_SAVE)
{
meta_topic (META_DEBUG_SM, "Sending SaveYourselfDone\n");
SmcSaveYourselfDone (session_connection,
successful);
if (shutdown)
current_state = STATE_FROZEN;
else
@ -441,19 +441,19 @@ save_yourself_possibly_done (gboolean shutdown,
}
}
static void
static void
save_phase_2_callback (SmcConn smc_conn, SmPointer client_data)
{
gboolean shutdown;
meta_topic (META_DEBUG_SM, "Phase 2 save");
shutdown = GPOINTER_TO_INT (client_data);
current_state = STATE_SAVING_PHASE_2;
save_state ();
save_yourself_possibly_done (shutdown, TRUE);
}
@ -468,9 +468,9 @@ save_yourself_callback (SmcConn smc_conn,
gboolean successful;
meta_topic (META_DEBUG_SM, "SaveYourself received");
successful = TRUE;
/* The first SaveYourself after registering for the first time
* is a special case (SM specs 7.2).
*/
@ -480,8 +480,8 @@ save_yourself_callback (SmcConn smc_conn,
{
current_state = STATE_IDLE;
/* Double check that this is a section 7.2 SaveYourself: */
if (save_style == SmSaveLocal &&
if (save_style == SmSaveLocal &&
interact_style == SmInteractStyleNone &&
!shutdown && !fast)
{
@ -493,7 +493,7 @@ save_yourself_callback (SmcConn smc_conn,
#endif
/* ignore Global style saves
*
*
* This interpretaion of the Local/Global/Both styles
* was discussed extensively on the xdg-list. See:
*
@ -507,11 +507,11 @@ save_yourself_callback (SmcConn smc_conn,
}
interaction_allowed = interact_style != SmInteractStyleNone;
current_state = STATE_SAVING_PHASE_1;
regenerate_save_file ();
set_clone_restart_commands ();
save_yourself_possibly_done (shutdown, successful);
@ -550,7 +550,7 @@ static void
shutdown_cancelled_callback (SmcConn smc_conn, SmPointer client_data)
{
meta_topic (META_DEBUG_SM, "Shutdown cancelled received\n");
if (session_connection != NULL &&
(current_state != STATE_IDLE && current_state != STATE_FROZEN))
{
@ -559,14 +559,14 @@ shutdown_cancelled_callback (SmcConn smc_conn, SmPointer client_data)
}
}
static void
static void
interact_callback (SmcConn smc_conn, SmPointer client_data)
{
/* nothing */
gboolean shutdown;
meta_topic (META_DEBUG_SM, "Interaction permission received\n");
shutdown = GPOINTER_TO_INT (client_data);
current_state = STATE_DONE_WITH_INTERACT;
@ -585,14 +585,14 @@ set_clone_restart_commands (void)
const char *prgname;
prgname = g_get_prgname ();
/* Restart (use same client ID) */
prop1.name = SmRestartCommand;
prop1.type = SmLISTofARRAY8;
g_return_if_fail (client_id);
i = 0;
restartv[i] = (char *)prgname;
++i;
@ -613,7 +613,7 @@ set_clone_restart_commands (void)
prop1.num_vals = i;
/* Clone (no client ID) */
i = 0;
clonev[i] = (char *)prgname;
++i;
@ -621,7 +621,7 @@ set_clone_restart_commands (void)
prop2.name = SmCloneCommand;
prop2.type = SmLISTofARRAY8;
prop2.vals = g_new (SmPropValue, i);
i = 0;
while (clonev[i])
@ -633,7 +633,7 @@ set_clone_restart_commands (void)
prop2.num_vals = i;
/* Discard */
i = 0;
discardv[i] = "rm";
++i;
@ -642,10 +642,10 @@ set_clone_restart_commands (void)
discardv[i] = (char*) full_save_file ();
++i;
discardv[i] = NULL;
prop3.name = SmDiscardCommand;
prop3.type = SmLISTofARRAY8;
prop3.vals = g_new (SmPropValue, i);
i = 0;
while (discardv[i])
@ -656,11 +656,11 @@ set_clone_restart_commands (void)
}
prop3.num_vals = i;
props[0] = &prop1;
props[1] = &prop2;
props[2] = &prop3;
SmcSetProperties (session_connection, 3, props);
g_free (prop1.vals);
@ -713,7 +713,7 @@ window_type_to_string (MetaWindowType type)
}
return "";
}
}
static MetaWindowType
window_type_from_string (const char *str)
@ -776,7 +776,7 @@ encode_text_as_utf8_markup (const char *text)
GString *str;
const char *p;
char *escaped;
str = g_string_new ("");
p = text;
@ -788,7 +788,7 @@ encode_text_as_utf8_markup (const char *text)
escaped = g_markup_escape_text (str->str, str->len);
g_string_free (str, TRUE);
return escaped;
}
@ -800,7 +800,7 @@ decode_text_from_utf8 (const char *text)
const char *p;
str = g_string_new ("");
p = text;
while (*p)
{
@ -822,11 +822,11 @@ save_state (void)
GSList *windows;
GSList *tmp;
int stack_position;
g_assert (client_id);
outfile = NULL;
/*
* g_get_user_config_dir() is guaranteed to return an existing directory.
* Eventually, if SM stays with the WM, I'd like to make this
@ -838,7 +838,7 @@ save_state (void)
mutter_dir = g_strconcat (g_get_user_config_dir (),
G_DIR_SEPARATOR_S "mutter",
NULL);
session_dir = g_strconcat (mutter_dir,
G_DIR_SEPARATOR_S "sessions",
NULL);
@ -858,7 +858,7 @@ save_state (void)
}
meta_topic (META_DEBUG_SM, "Saving session to '%s'\n", full_save_file ());
outfile = fopen (full_save_file (), "w");
if (outfile == NULL)
@ -881,9 +881,9 @@ save_state (void)
* Note that attributes on <window> are the match info we use to
* see if the saved state applies to a restored window, and
* child elements are the saved state to be applied.
*
*
*/
fprintf (outfile, "<mutter_session id=\"%s\">\n",
client_id);
@ -912,7 +912,7 @@ save_state (void)
* in UTF-8 (I think they are in XPCS which is Latin-1?
* in practice they are always ascii though.)
*/
sm_client_id = encode_text_as_utf8_markup (window->sm_client_id);
res_class = window->res_class ?
encode_text_as_utf8_markup (window->res_class) : NULL;
@ -924,7 +924,7 @@ save_state (void)
title = g_markup_escape_text (window->title, -1);
else
title = NULL;
meta_topic (META_DEBUG_SM, "Saving session managed window %s, client ID '%s'\n",
window->desc, window->sm_client_id);
@ -943,7 +943,7 @@ save_state (void)
g_free (res_name);
g_free (role);
g_free (title);
/* Sticky */
if (window->on_all_workspaces_requested)
fputs (" <sticky/>\n", outfile);
@ -956,13 +956,13 @@ save_state (void)
if (META_WINDOW_MAXIMIZED (window))
{
fprintf (outfile,
" <maximized saved_x=\"%d\" saved_y=\"%d\" saved_width=\"%d\" saved_height=\"%d\"/>\n",
" <maximized saved_x=\"%d\" saved_y=\"%d\" saved_width=\"%d\" saved_height=\"%d\"/>\n",
window->saved_rect.x,
window->saved_rect.y,
window->saved_rect.width,
window->saved_rect.height);
}
/* Workspaces we're on */
{
int n;
@ -975,13 +975,13 @@ save_state (void)
{
int x, y, w, h;
meta_window_get_geometry (window, &x, &y, &w, &h);
fprintf (outfile,
" <geometry x=\"%d\" y=\"%d\" width=\"%d\" height=\"%d\" gravity=\"%s\"/>\n",
x, y, w, h,
meta_gravity_to_string (window->size_hints.win_gravity));
}
fputs (" </window>\n", outfile);
}
else
@ -989,15 +989,15 @@ save_state (void)
meta_topic (META_DEBUG_SM, "Not saving window '%s', not session managed\n",
window->desc);
}
tmp = tmp->next;
++stack_position;
}
g_slist_free (windows);
fputs ("</mutter_session>\n", outfile);
out:
if (outfile)
{
@ -1013,7 +1013,7 @@ save_state (void)
full_save_file (), g_strerror (errno));
}
}
g_free (mutter_dir);
g_free (session_dir);
}
@ -1094,7 +1094,7 @@ load_state (const char *previous_save_file)
G_DIR_SEPARATOR_S,
previous_save_file,
NULL);
if (!g_file_get_contents (session_file,
&text,
&length,
@ -1114,10 +1114,10 @@ load_state (const char *previous_save_file)
meta_topic (META_DEBUG_SM, "Parsing saved session file %s\n", session_file);
g_free (session_file);
session_file = NULL;
parse_data.info = NULL;
parse_data.previous_id = NULL;
context = g_markup_parse_context_new (&mutter_session_parser,
0, &parse_data, NULL);
@ -1127,8 +1127,8 @@ load_state (const char *previous_save_file)
length,
&error))
goto error;
error = NULL;
if (!g_markup_parse_context_end_parse (context, &error))
goto error;
@ -1138,7 +1138,7 @@ load_state (const char *previous_save_file)
goto out;
error:
meta_warning ("Failed to parse saved session file: %s\n",
error->message);
g_error_free (error);
@ -1148,9 +1148,9 @@ load_state (const char *previous_save_file)
g_free (parse_data.previous_id);
parse_data.previous_id = NULL;
out:
g_free (text);
return parse_data.previous_id;
@ -1172,14 +1172,14 @@ start_element_handler (GMarkupParseContext *context,
if (strcmp (element_name, "mutter_session") == 0)
{
/* Get previous ID */
int i;
int i;
i = 0;
while (attribute_names[i])
{
const char *name;
const char *val;
name = attribute_names[i];
val = attribute_values[i];
@ -1191,7 +1191,7 @@ start_element_handler (GMarkupParseContext *context,
"<mutter_session> attribute seen but we already have the session ID");
return;
}
if (strcmp (name, "id") == 0)
{
pd->previous_id = decode_text_from_utf8 (val);
@ -1205,14 +1205,14 @@ start_element_handler (GMarkupParseContext *context,
name, "mutter_session");
return;
}
++i;
}
}
else if (strcmp (element_name, "window") == 0)
{
int i;
if (pd->info)
{
g_set_error (error,
@ -1221,7 +1221,7 @@ start_element_handler (GMarkupParseContext *context,
"nested <window> tag");
return;
}
pd->info = session_info_new ();
i = 0;
@ -1229,10 +1229,10 @@ start_element_handler (GMarkupParseContext *context,
{
const char *name;
const char *val;
name = attribute_names[i];
val = attribute_values[i];
if (strcmp (name, "id") == 0)
{
if (*val)
@ -1282,7 +1282,7 @@ start_element_handler (GMarkupParseContext *context,
pd->info = NULL;
return;
}
++i;
}
}
@ -1296,7 +1296,7 @@ start_element_handler (GMarkupParseContext *context,
const char *name;
name = attribute_names[i];
if (strcmp (name, "index") == 0)
{
pd->info->workspace_indices =
@ -1314,7 +1314,7 @@ start_element_handler (GMarkupParseContext *context,
pd->info = NULL;
return;
}
++i;
}
}
@ -1394,22 +1394,22 @@ start_element_handler (GMarkupParseContext *context,
pd->info->saved_rect.y,
pd->info->saved_rect.width,
pd->info->saved_rect.height);
}
}
else if (strcmp (element_name, "geometry") == 0)
{
int i;
pd->info->geometry_set = TRUE;
i = 0;
while (attribute_names[i])
{
const char *name;
const char *val;
name = attribute_names[i];
val = attribute_values[i];
if (strcmp (name, "x") == 0)
{
if (*val)
@ -1444,7 +1444,7 @@ start_element_handler (GMarkupParseContext *context,
name, "geometry");
return;
}
++i;
}
@ -1482,12 +1482,12 @@ end_element_handler (GMarkupParseContext *context,
window_info_list = g_slist_prepend (window_info_list,
pd->info);
meta_topic (META_DEBUG_SM, "Loaded window info from session with class: %s name: %s role: %s\n",
pd->info->res_class ? pd->info->res_class : "(none)",
pd->info->res_name ? pd->info->res_name : "(none)",
pd->info->role ? pd->info->role : "(none)");
pd->info = NULL;
}
}
@ -1523,20 +1523,20 @@ get_possible_matches (MetaWindow *window)
GSList *retval;
GSList *tmp;
gboolean ignore_client_id;
retval = NULL;
ignore_client_id = g_getenv ("MUTTER_DEBUG_SM") != NULL;
tmp = window_info_list;
while (tmp != NULL)
{
MetaWindowSessionInfo *info;
info = tmp->data;
if ((ignore_client_id ||
both_null_or_matching (info->id, window->sm_client_id)) &&
both_null_or_matching (info->id, window->sm_client_id)) &&
both_null_or_matching (info->res_class, window->res_class) &&
both_null_or_matching (info->res_name, window->res_name) &&
both_null_or_matching (info->role, window->role))
@ -1563,7 +1563,7 @@ get_possible_matches (MetaWindow *window)
window->desc,
window->res_class ? window->res_class : "(none)",
info->res_class ? info->res_class : "(none)");
else if (!both_null_or_matching (info->res_name, window->res_name))
meta_topic (META_DEBUG_SM, "Window %s has name %s doesn't match saved name %s, no match\n",
window->desc,
@ -1579,7 +1579,7 @@ get_possible_matches (MetaWindow *window)
window->desc, info->id);
}
}
tmp = tmp->next;
}
@ -1593,10 +1593,10 @@ find_best_match (GSList *infos,
GSList *tmp;
const MetaWindowSessionInfo *matching_title;
const MetaWindowSessionInfo *matching_type;
matching_title = NULL;
matching_type = NULL;
tmp = infos;
while (tmp != NULL)
{
@ -1611,7 +1611,7 @@ find_best_match (GSList *infos,
if (matching_type == NULL &&
info->type == window->type)
matching_type = info;
tmp = tmp->next;
}
@ -1620,7 +1620,7 @@ find_best_match (GSList *infos,
* to e.g. break ties by geometry hint similarity,
* or other window features.
*/
if (matching_title)
return matching_title;
else if (matching_type)
@ -1634,7 +1634,7 @@ meta_window_lookup_saved_state (MetaWindow *window)
{
GSList *possibles;
const MetaWindowSessionInfo *info;
/* Window is not session managed.
* I haven't yet figured out how to deal with these
* in a way that doesn't cause broken side effects in
@ -1658,9 +1658,9 @@ meta_window_lookup_saved_state (MetaWindow *window)
}
info = find_best_match (possibles, window);
g_slist_free (possibles);
return info;
}
@ -1685,7 +1685,7 @@ session_info_free (MetaWindowSessionInfo *info)
g_free (info->role);
g_slist_free (info->workspace_indices);
g_free (info);
}
@ -1698,7 +1698,7 @@ session_info_new (void)
info->type = META_WINDOW_NORMAL;
info->gravity = NorthWestGravity;
return info;
}
@ -1739,7 +1739,7 @@ finish_interact (gboolean shutdown)
if (current_state == STATE_DONE_WITH_INTERACT) /* paranoia */
{
SmcInteractDone (session_connection, False /* don't cancel logout */);
save_yourself_possibly_done (shutdown, TRUE);
}
}
@ -1764,13 +1764,13 @@ warn_about_lame_clients_and_finish_interact (gboolean shutdown)
GSList *tmp;
GSList *columns = NULL;
GPid pid;
windows = meta_display_list_windows (meta_get_display (), META_LIST_DEFAULT);
tmp = windows;
while (tmp != NULL)
{
MetaWindow *window;
window = tmp->data;
/* only complain about normal windows, the others
@ -1779,12 +1779,12 @@ warn_about_lame_clients_and_finish_interact (gboolean shutdown)
if (window->sm_client_id == NULL &&
window->type == META_WINDOW_NORMAL)
lame = g_slist_prepend (lame, window);
tmp = tmp->next;
}
g_slist_free (windows);
if (lame == NULL)
{
/* No lame apps. */

View File

@ -9,9 +9,9 @@
* requires us to do it here.
*/
/*
/*
* Copyright (C) 2001 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
@ -21,7 +21,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -45,11 +45,11 @@ struct _MetaWindowSessionInfo
MetaWindowType type;
/* Information we restore */
GSList *workspace_indices;
GSList *workspace_indices;
int stack_position;
/* width/height should be multiplied by resize inc and
* added to base size; position should be interpreted in
* light of gravity. This preserves semantics of the

View File

@ -94,14 +94,14 @@ x_error_handler (Display *xdisplay,
if (error_trap_depth == 0)
{
print_backtrace ();
fprintf (stderr, "Unexpected X error: %s serial %ld error_code %d request_code %d minor_code %d)\n",
buf,
error->serial,
error->error_code,
error->request_code,
error->minor_code);
exit (1);
}
@ -122,7 +122,7 @@ error_trap_pop (Display *xdisplay)
fprintf (stderr, "Error trap underflow!\n");
exit (1);
}
XSync (xdisplay, False); /* get all errors out of the queue */
--error_trap_depth;
}
@ -192,11 +192,11 @@ try_get_reply (Display *xdisplay,
struct timeval current_time;
gettimeofday (&current_time, NULL);
printf (" %gms (we have a reply for property %ld)\n",
ELAPSED (program_start_time, current_time),
ag_task_get_property (task));
data = NULL;
name = atom_name (xdisplay,
@ -204,7 +204,7 @@ try_get_reply (Display *xdisplay,
printf (" %s on 0x%lx:\n", name,
ag_task_get_window (task));
free (name);
result = ag_task_get_reply_and_free (task,
&actual_type,
&actual_format,
@ -222,12 +222,12 @@ try_get_reply (Display *xdisplay,
name = atom_name (xdisplay, actual_type);
printf (" actual_type = %s\n", name);
free (name);
printf (" actual_format = %d\n", actual_format);
printf (" n_items = %lu\n", n_items);
printf (" bytes_after = %lu\n", bytes_after);
printf (" data = \"%s\"\n", data ? (char*) data : "NULL");
}
@ -252,13 +252,13 @@ main (int argc, char **argv)
char *end;
Atom *props;
struct timeval current_time;
if (argc < 2)
{
fprintf (stderr, "specify window ID\n");
return 1;
}
window_str = argv[1];
end = NULL;
@ -280,7 +280,7 @@ main (int argc, char **argv)
XSynchronize (xdisplay, True);
XSetErrorHandler (x_error_handler);
n_props = 0;
props = XListProperties (xdisplay, window, &n_props);
if (n_props == 0 || props == NULL)
@ -290,7 +290,7 @@ main (int argc, char **argv)
}
gettimeofday (&program_start_time, NULL);
i = 0;
while (i < n_props)
{
@ -307,7 +307,7 @@ main (int argc, char **argv)
fprintf (stderr, "Failed to send request\n");
return 1;
}
++i;
}
@ -315,24 +315,24 @@ main (int argc, char **argv)
props = NULL;
n_left = n_props;
while (TRUE)
{
XEvent xevent;
int connection;
fd_set set;
AgGetPropertyTask *task;
/* Mop up event queue */
while (XPending (xdisplay) > 0)
{
{
XNextEvent (xdisplay, &xevent);
gettimeofday (&current_time, NULL);
printf (" %gms (processing event type %d)\n",
ELAPSED (program_start_time, current_time),
xevent.xany.type);
}
while ((task = ag_get_next_completed_task (xdisplay)))
{
try_get_reply (xdisplay, task);
@ -358,7 +358,7 @@ main (int argc, char **argv)
}
run_speed_comparison (xdisplay, window);
return 0;
}
@ -373,7 +373,7 @@ run_speed_comparison (Display *xdisplay,
int n_props;
struct timeval start, end;
int n_left;
/* We just use atom values (0 to n_props) % 200, many are probably
* BadAtom, that's fine, but the %200 keeps most of them valid. The
* async case is about twice as advantageous when using valid atoms
@ -382,9 +382,9 @@ run_speed_comparison (Display *xdisplay,
*/
n_props = 4000;
printf ("Timing with %d property requests\n", n_props);
gettimeofday (&start, NULL);
i = 0;
while (i < n_props)
{
@ -397,23 +397,23 @@ run_speed_comparison (Display *xdisplay,
fprintf (stderr, "Failed to send request\n");
exit (1);
}
++i;
}
n_left = n_props;
while (TRUE)
{
int connection;
fd_set set;
XEvent xevent;
AgGetPropertyTask *task;
/* Mop up event queue */
while (XPending (xdisplay) > 0)
XNextEvent (xdisplay, &xevent);
while ((task = ag_get_next_completed_task (xdisplay)))
{
Atom actual_type;
@ -423,7 +423,7 @@ run_speed_comparison (Display *xdisplay,
unsigned char *data;
assert (ag_task_have_reply (task));
data = NULL;
ag_task_get_reply_and_free (task,
&actual_type,
@ -431,13 +431,13 @@ run_speed_comparison (Display *xdisplay,
&n_items,
&bytes_after,
&data);
if (data)
XFree (data);
n_left -= 1;
}
if (n_left == 0)
break;
@ -449,16 +449,16 @@ run_speed_comparison (Display *xdisplay,
select (connection + 1, &set, NULL, NULL, NULL);
}
gettimeofday (&end, NULL);
printf ("Async time: %gms\n",
ELAPSED (start, end));
gettimeofday (&start, NULL);
error_trap_push (xdisplay);
i = 0;
while (i < n_props)
{
@ -467,7 +467,7 @@ run_speed_comparison (Display *xdisplay,
unsigned long n_items;
unsigned long bytes_after;
unsigned char *data;
data = NULL;
if (XGetWindowProperty (xdisplay, window,
(Atom) i % 200,
@ -483,14 +483,14 @@ run_speed_comparison (Display *xdisplay,
if (data)
XFree (data);
}
++i;
}
error_trap_pop (xdisplay);
gettimeofday (&end, NULL);
printf ("Sync time: %gms\n",
ELAPSED (start, end));
}

View File

@ -15,11 +15,11 @@
* together.
*/
/*
/*
* Copyright (C) 2001, 2002, 2003 Red Hat, Inc.
* Copyright (C) 2004, 2005 Elijah Newren
* Copyright (C) 2009 Thomas Thurman
*
*
* 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
@ -29,7 +29,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -196,7 +196,7 @@ reload_wm_client_machine (MetaWindow *window,
{
g_free (window->wm_client_machine);
window->wm_client_machine = NULL;
if (value->type != META_PROP_VALUE_INVALID)
window->wm_client_machine = g_strdup (value->v.str);
@ -345,7 +345,7 @@ reload_net_wm_pid (MetaWindow *window,
if (value->type != META_PROP_VALUE_INVALID)
{
gulong cardinal = (int) value->v.cardinal;
if (cardinal <= 0)
meta_warning ("Application set a bogus _NET_WM_PID %lu\n",
cardinal);
@ -445,12 +445,12 @@ set_title_text (MetaWindow *window,
char **target)
{
gboolean modified = FALSE;
if (!target)
return FALSE;
g_free (*target);
if (!title)
*target = g_strdup ("");
else if (g_utf8_strlen (title, MAX_TITLE_LENGTH + 1) > MAX_TITLE_LENGTH)
@ -503,7 +503,7 @@ set_window_title (MetaWindow *window,
window->display->atom__NET_WM_VISIBLE_NAME,
&new_title);
priv->using_net_wm_visible_name = modified;
meta_window_set_title (window, new_title);
g_free (new_title);
@ -548,7 +548,7 @@ reload_wm_name (MetaWindow *window,
value->v.str);
return;
}
if (value->type != META_PROP_VALUE_INVALID)
{
set_window_title (window, value->v.str);
@ -796,7 +796,7 @@ reload_mwm_hints (MetaWindow *window,
meta_verbose ("Functions flag unset\n");
meta_window_recalc_features (window);
/* We do all this anyhow at the end of meta_window_x11_new() */
if (!window->constructing)
{
@ -804,7 +804,7 @@ reload_mwm_hints (MetaWindow *window,
meta_window_ensure_frame (window);
else
meta_window_destroy_frame (window);
meta_window_queue (window,
META_QUEUE_MOVE_RESIZE |
/* because ensure/destroy frame may unmap: */
@ -859,32 +859,32 @@ reload_net_startup_id (MetaWindow *window,
{
guint32 timestamp = window->net_wm_user_time;
MetaWorkspace *workspace = NULL;
g_free (window->startup_id);
if (value->type != META_PROP_VALUE_INVALID)
window->startup_id = g_strdup (value->v.str);
else
window->startup_id = NULL;
/* Update timestamp and workspace on a running window */
if (!window->constructing)
{
window->initial_timestamp_set = 0;
window->initial_timestamp_set = 0;
window->initial_workspace_set = 0;
if (meta_screen_apply_startup_properties (window->screen, window))
{
if (window->initial_timestamp_set)
timestamp = window->initial_timestamp;
if (window->initial_workspace_set)
workspace = meta_screen_get_workspace_by_index (window->screen, window->initial_workspace);
meta_window_activate_with_workspace (window, timestamp, workspace);
}
}
meta_verbose ("New _NET_STARTUP_ID \"%s\" for %s\n",
window->startup_id ? window->startup_id : "unset",
window->desc);
@ -982,7 +982,7 @@ spew_size_hints_differences (const XSizeHints *old,
if (FLAG_CHANGED (old, new, PWinGravity))
meta_topic (META_DEBUG_GEOMETRY, "XSizeHints: PWinGravity now %s (%d -> %d)\n",
FLAG_TOGGLED_ON (old, new, PWinGravity) ? "set" : "unset",
old->win_gravity, new->win_gravity);
old->win_gravity, new->win_gravity);
}
void
@ -1335,15 +1335,15 @@ reload_normal_hints (MetaWindow *window,
if (value->type != META_PROP_VALUE_INVALID)
{
XSizeHints old_hints;
meta_topic (META_DEBUG_GEOMETRY, "Updating WM_NORMAL_HINTS for %s\n", window->desc);
old_hints = window->size_hints;
meta_set_normal_hints (window, value->v.size_hints.hints);
spew_size_hints_differences (&old_hints, &window->size_hints);
meta_window_recalc_features (window);
if (!initial)
@ -1357,12 +1357,12 @@ reload_wm_protocols (MetaWindow *window,
gboolean initial)
{
int i;
window->take_focus = FALSE;
window->delete_window = FALSE;
window->can_ping = FALSE;
if (value->type == META_PROP_VALUE_INVALID)
if (value->type == META_PROP_VALUE_INVALID)
return;
i = 0;
@ -1379,7 +1379,7 @@ reload_wm_protocols (MetaWindow *window,
window->can_ping = TRUE;
++i;
}
meta_verbose ("New _NET_STARTUP_ID \"%s\" for %s\n",
window->startup_id ? window->startup_id : "unset",
window->desc);
@ -1394,7 +1394,7 @@ reload_wm_hints (MetaWindow *window,
gboolean urgent;
old_group_leader = window->xgroup_leader;
/* Fill in defaults */
window->input = TRUE;
window->initially_iconic = FALSE;
@ -1406,7 +1406,7 @@ reload_wm_hints (MetaWindow *window,
if (value->type != META_PROP_VALUE_INVALID)
{
const XWMHints *hints = value->v.wm_hints;
if (hints->flags & InputHint)
window->input = hints->input;
@ -1436,7 +1436,7 @@ reload_wm_hints (MetaWindow *window,
{
meta_verbose ("Window %s changed its group leader to 0x%lx\n",
window->desc, window->xgroup_leader);
meta_window_group_leader_changed (window);
}
@ -1709,7 +1709,7 @@ meta_display_init_window_prop_hooks (MetaDisplay *display)
MetaWindowPropHooks *table = g_memdup (hooks, sizeof (hooks)),
*cursor = table;
g_assert (display->prop_hooks == NULL);
display->prop_hooks_table = (gpointer) table;

View File

@ -11,9 +11,9 @@
* round trip to the server.
*/
/*
/*
* Copyright (C) 2001, 2002 Red Hat, Inc.
*
*
* 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
@ -23,7 +23,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/

View File

@ -2,7 +2,7 @@
/* Mutter X property convenience routines */
/*
/*
* Copyright (C) 2001 Havoc Pennington
* Copyright (C) 2002 Red Hat Inc.
*
@ -10,7 +10,7 @@
* Copyright 1987, 1988, 1998 The Open Group
* Copyright 1988 by Wyse Technology, Inc., San Jose, Ca,
* Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
*
*
* 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
@ -20,7 +20,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -31,20 +31,20 @@ Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts,
All Rights Reserved
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
both that copyright notice and this permission notice appear in
supporting documentation, and that the name Digital not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
software without specific, written prior permission.
DIGITAL AND WYSE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL DIGITAL OR WYSE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
DIGITAL AND WYSE DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
EVENT SHALL DIGITAL OR WYSE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
******************************************************************/
@ -114,12 +114,12 @@ validate_or_free_results (GetPropertyResults *results,
const char *res_class;
const char *res_name;
MetaWindow *w;
if (expected_format == results->format &&
expected_type == results->type &&
(!must_have_items || results->n_items > 0))
return TRUE;
return TRUE;
meta_error_trap_push (results->display);
type_name = XGetAtomName (results->display->xdisplay, results->type);
expected_name = XGetAtomName (results->display->xdisplay, expected_type);
@ -140,7 +140,7 @@ validate_or_free_results (GetPropertyResults *results,
res_class = NULL;
res_name = NULL;
}
if (title == NULL)
title = "unknown";
@ -149,7 +149,7 @@ validate_or_free_results (GetPropertyResults *results,
if (res_name == NULL)
res_name = "unknown";
meta_warning ("Window 0x%lx has property %s\nthat was expected to have type %s format %d\nand actually has type %s format %d n_items %d.\nThis is most likely an application bug, not a window manager bug.\nThe window has title=\"%s\" class=\"%s\" name=\"%s\"\n",
results->xwindow,
prop_name ? prop_name : "(bad atom)",
@ -171,7 +171,7 @@ validate_or_free_results (GetPropertyResults *results,
XFree (results->prop);
results->prop = NULL;
}
return FALSE;
}
@ -190,7 +190,7 @@ get_property (MetaDisplay *display,
results->type = None;
results->bytes_after = 0;
results->format = 0;
meta_error_trap_push (display);
if (XGetWindowProperty (display->xdisplay, xwindow, xatom,
0, G_MAXLONG,
@ -222,12 +222,12 @@ atom_list_from_results (GetPropertyResults *results,
int *n_atoms_p)
{
if (!validate_or_free_results (results, 32, XA_ATOM, FALSE))
return FALSE;
return FALSE;
*atoms_p = (Atom*) results->prop;
*n_atoms_p = results->n_items;
results->prop = NULL;
results->prop = NULL;
return TRUE;
}
@ -256,12 +256,12 @@ cardinal_list_from_results (GetPropertyResults *results,
int *n_cardinals_p)
{
if (!validate_or_free_results (results, 32, XA_CARDINAL, FALSE))
return FALSE;
return FALSE;
*cardinals_p = (gulong*) results->prop;
*n_cardinals_p = results->n_items;
results->prop = NULL;
#if GLIB_SIZEOF_LONG == 8
/* Xlib sign-extends format=32 items, but we want them unsigned */
{
@ -300,8 +300,8 @@ motif_hints_from_results (GetPropertyResults *results,
{
int real_size, max_size;
#define MAX_ITEMS sizeof (MotifWmHints)/sizeof (gulong)
*hints_p = NULL;
*hints_p = NULL;
if (results->type == None || results->n_items <= 0)
{
@ -337,7 +337,7 @@ motif_hints_from_results (GetPropertyResults *results,
XFree (results->prop);
results->prop = NULL;
}
return TRUE;
}
@ -348,7 +348,7 @@ meta_prop_get_motif_hints (MetaDisplay *display,
MotifWmHints **hints_p)
{
GetPropertyResults results;
*hints_p = NULL;
if (!get_property (display, xwindow, xatom, AnyPropertyType,
@ -363,13 +363,13 @@ latin1_string_from_results (GetPropertyResults *results,
char **str_p)
{
*str_p = NULL;
if (!validate_or_free_results (results, 8, XA_STRING, FALSE))
return FALSE;
*str_p = (char*) results->prop;
results->prop = NULL;
return TRUE;
}
@ -386,7 +386,7 @@ meta_prop_get_latin1_string (MetaDisplay *display,
if (!get_property (display, xwindow, xatom, XA_STRING,
&results))
return FALSE;
return latin1_string_from_results (&results, str_p);
}
@ -395,7 +395,7 @@ utf8_string_from_results (GetPropertyResults *results,
char **str_p)
{
*str_p = NULL;
if (!validate_or_free_results (results, 8,
results->display->atom_UTF8_STRING, FALSE))
return FALSE;
@ -411,13 +411,13 @@ utf8_string_from_results (GetPropertyResults *results,
meta_XFree (name);
XFree (results->prop);
results->prop = NULL;
return FALSE;
}
*str_p = (char*) results->prop;
results->prop = NULL;
return TRUE;
}
@ -449,14 +449,14 @@ utf8_list_from_results (GetPropertyResults *results,
int n_strings;
char **retval;
const char *p;
*str_p = NULL;
*n_str_p = 0;
if (!validate_or_free_results (results, 8,
results->display->atom_UTF8_STRING, FALSE))
return FALSE;
/* I'm not sure this is right, but I'm guessing the
* property is nul-separated
*/
@ -471,11 +471,11 @@ utf8_list_from_results (GetPropertyResults *results,
if (results->prop[results->n_items - 1] != '\0')
++n_strings;
/* we're guaranteed that results->prop has a nul on the end
* by XGetWindowProperty
*/
retval = g_new0 (char*, n_strings + 1);
p = (char *)results->prop;
@ -494,17 +494,17 @@ utf8_list_from_results (GetPropertyResults *results,
meta_XFree (name);
meta_XFree (results->prop);
results->prop = NULL;
g_strfreev (retval);
return FALSE;
}
retval[i] = g_strdup (p);
p = p + strlen (p) + 1;
++i;
}
*str_p = retval;
*n_str_p = i;
@ -544,13 +544,13 @@ latin1_list_from_results (GetPropertyResults *results,
int n_strings;
char **retval;
const char *p;
*str_p = NULL;
*n_str_p = 0;
if (!validate_or_free_results (results, 8, XA_STRING, FALSE))
return FALSE;
/* I'm not sure this is right, but I'm guessing the
* property is nul-separated
*/
@ -565,11 +565,11 @@ latin1_list_from_results (GetPropertyResults *results,
if (results->prop[results->n_items - 1] != '\0')
++n_strings;
/* we're guaranteed that results->prop has a nul on the end
* by XGetWindowProperty
*/
retval = g_new0 (char*, n_strings + 1);
p = (char *)results->prop;
@ -577,11 +577,11 @@ latin1_list_from_results (GetPropertyResults *results,
while (i < n_strings)
{
retval[i] = g_strdup (p);
p = p + strlen (p) + 1;
++i;
}
*str_p = retval;
*n_str_p = i;
@ -616,9 +616,9 @@ meta_prop_set_utf8_string_hint (MetaDisplay *display,
const char *val)
{
meta_error_trap_push (display);
XChangeProperty (display->xdisplay,
XChangeProperty (display->xdisplay,
xwindow, atom,
display->atom_UTF8_STRING,
display->atom_UTF8_STRING,
8, PropModeReplace, (guchar*) val, strlen (val));
meta_error_trap_pop (display);
}
@ -628,12 +628,12 @@ window_from_results (GetPropertyResults *results,
Window *window_p)
{
if (!validate_or_free_results (results, 32, XA_WINDOW, TRUE))
return FALSE;
return FALSE;
*window_p = *(Window*) results->prop;
XFree (results->prop);
results->prop = NULL;
results->prop = NULL;
return TRUE;
}
@ -644,12 +644,12 @@ counter_from_results (GetPropertyResults *results,
if (!validate_or_free_results (results, 32,
XA_CARDINAL,
TRUE))
return FALSE;
return FALSE;
*counter_p = *(XSyncCounter*) results->prop;
XFree (results->prop);
results->prop = NULL;
return TRUE;
}
@ -679,7 +679,7 @@ meta_prop_get_window (MetaDisplay *display,
GetPropertyResults results;
*window_p = None;
if (!get_property (display, xwindow, xatom, XA_WINDOW,
&results))
return FALSE;
@ -703,7 +703,7 @@ cardinal_with_atom_type_from_results (GetPropertyResults *results,
gulong *cardinal_p)
{
if (!validate_or_free_results (results, 32, prop_type, TRUE))
return FALSE;
return FALSE;
*cardinal_p = *(gulong*) results->prop;
#if GLIB_SIZEOF_LONG == 8
@ -711,8 +711,8 @@ cardinal_with_atom_type_from_results (GetPropertyResults *results,
*cardinal_p &= 0xffffffff;
#endif
XFree (results->prop);
results->prop = NULL;
results->prop = NULL;
return TRUE;
}
@ -769,13 +769,13 @@ text_property_from_results (GetPropertyResults *results,
results->prop = NULL;
tp.encoding = results->type;
tp.format = results->format;
tp.nitems = results->n_items;
tp.nitems = results->n_items;
*utf8_str_p = text_property_to_utf8 (results->display->xdisplay, &tp);
if (tp.value != NULL)
XFree (tp.value);
return *utf8_str_p != NULL;
}
@ -786,7 +786,7 @@ meta_prop_get_text_property (MetaDisplay *display,
char **utf8_str_p)
{
GetPropertyResults results;
if (!get_property (display, xwindow, xatom, AnyPropertyType,
&results))
return FALSE;
@ -825,13 +825,13 @@ wm_hints_from_results (GetPropertyResults *results,
{
XWMHints *hints;
xPropWMHints *raw;
*hints_p = NULL;
if (!validate_or_free_results (results, 32, XA_WM_HINTS, TRUE))
return FALSE;
/* pre-R3 bogusly truncated window_group, don't fail on them */
*hints_p = NULL;
if (!validate_or_free_results (results, 32, XA_WM_HINTS, TRUE))
return FALSE;
/* pre-R3 bogusly truncated window_group, don't fail on them */
if (results->n_items < (NumPropWMHintsElements - 1))
{
meta_verbose ("WM_HINTS property too short: %d should be %d\n",
@ -843,11 +843,11 @@ wm_hints_from_results (GetPropertyResults *results,
}
return FALSE;
}
hints = ag_Xmalloc0 (sizeof (XWMHints));
raw = (xPropWMHints*) results->prop;
hints->flags = raw->flags;
hints->input = (raw->input ? True : False);
hints->initial_state = cvtINT32toInt (raw->initialState);
@ -881,7 +881,7 @@ meta_prop_get_wm_hints (MetaDisplay *display,
GetPropertyResults results;
*hints_p = NULL;
if (!get_property (display, xwindow, xatom, XA_WM_HINTS,
&results))
return FALSE;
@ -894,13 +894,13 @@ class_hint_from_results (GetPropertyResults *results,
XClassHint *class_hint)
{
int len_name, len_class;
class_hint->res_class = NULL;
class_hint->res_name = NULL;
if (!validate_or_free_results (results, 8, XA_STRING, FALSE))
return FALSE;
len_name = strlen ((char *) results->prop);
if (! (class_hint->res_name = ag_Xmalloc (len_name+1)))
{
@ -908,14 +908,14 @@ class_hint_from_results (GetPropertyResults *results,
results->prop = NULL;
return FALSE;
}
strcpy (class_hint->res_name, (char *)results->prop);
if (len_name == (int) results->n_items)
len_name--;
len_class = strlen ((char *)results->prop + len_name + 1);
if (! (class_hint->res_class = ag_Xmalloc(len_class+1)))
{
XFree(class_hint->res_name);
@ -924,12 +924,12 @@ class_hint_from_results (GetPropertyResults *results,
results->prop = NULL;
return FALSE;
}
strcpy (class_hint->res_class, (char *)results->prop + len_name + 1);
XFree (results->prop);
results->prop = NULL;
return TRUE;
}
@ -940,10 +940,10 @@ meta_prop_get_class_hint (MetaDisplay *display,
XClassHint *class_hint)
{
GetPropertyResults results;
class_hint->res_class = NULL;
class_hint->res_name = NULL;
if (!get_property (display, xwindow, xatom, XA_STRING,
&results))
return FALSE;
@ -958,10 +958,10 @@ size_hints_from_results (GetPropertyResults *results,
{
xPropSizeHints *raw;
XSizeHints *hints;
*hints_p = NULL;
*flags_p = 0;
if (!validate_or_free_results (results, 32, XA_WM_SIZE_HINTS, FALSE))
return FALSE;
@ -971,7 +971,7 @@ size_hints_from_results (GetPropertyResults *results,
raw = (xPropSizeHints*) results->prop;
hints = ag_Xmalloc (sizeof (XSizeHints));
/* XSizeHints misdeclares these as int instead of long */
hints->flags = raw->flags;
hints->x = cvtINT32toInt (raw->x);
@ -999,12 +999,12 @@ size_hints_from_results (GetPropertyResults *results,
}
hints->flags &= (*flags_p); /* get rid of unwanted bits */
XFree (results->prop);
results->prop = NULL;
*hints_p = hints;
return TRUE;
}
@ -1019,7 +1019,7 @@ meta_prop_get_size_hints (MetaDisplay *display,
*hints_p = NULL;
*flags_p = 0;
if (!get_property (display, xwindow, xatom, XA_WM_SIZE_HINTS,
&results))
return FALSE;
@ -1044,7 +1044,7 @@ latin1_to_utf8 (const char *text)
{
GString *str;
const char *p;
str = g_string_new ("");
p = text;
@ -1068,10 +1068,10 @@ meta_prop_get_values (MetaDisplay *display,
meta_verbose ("Requesting %d properties of 0x%lx at once\n",
n_values, xwindow);
if (n_values == 0)
return;
tasks = g_new0 (AgGetPropertyTask*, n_values);
/* Start up tasks. The "values" array can have values
@ -1134,22 +1134,22 @@ meta_prop_get_values (MetaDisplay *display,
if (values[i].atom != None)
tasks[i] = get_task (display, xwindow,
values[i].atom, values[i].required_type);
++i;
}
}
/* Get replies for all our tasks */
meta_topic (META_DEBUG_SYNC, "Syncing to get %d GetProperty replies in %s\n",
n_values, G_STRFUNC);
XSync (display->xdisplay, False);
/* Collect results, should arrive in order requested */
i = 0;
while (i < n_values)
{
AgGetPropertyTask *task;
GetPropertyResults results;
if (tasks[i] == NULL)
{
/* Probably values[i].type was None, or ag_task_create()
@ -1158,7 +1158,7 @@ meta_prop_get_values (MetaDisplay *display,
values[i].type = META_PROP_VALUE_INVALID;
goto next;
}
task = ag_get_next_completed_task (display->xdisplay);
g_assert (task != NULL);
g_assert (ag_task_have_reply (task));
@ -1171,7 +1171,7 @@ meta_prop_get_values (MetaDisplay *display,
results.type = None;
results.bytes_after = 0;
results.format = 0;
if (ag_task_get_reply_and_free (task,
&results.type, &results.format,
&results.n_items,
@ -1301,7 +1301,7 @@ free_value (MetaPropValue *value)
{
switch (value->type)
{
case META_PROP_VALUE_INVALID:
case META_PROP_VALUE_INVALID:
break;
case META_PROP_VALUE_UTF8:
case META_PROP_VALUE_STRING:
@ -1310,10 +1310,10 @@ free_value (MetaPropValue *value)
break;
case META_PROP_VALUE_MOTIF_HINTS:
meta_XFree (value->v.motif_hints);
break;
break;
case META_PROP_VALUE_CARDINAL:
break;
case META_PROP_VALUE_WINDOW:
case META_PROP_VALUE_WINDOW:
break;
case META_PROP_VALUE_ATOM_LIST:
meta_XFree (value->v.atom_list.atoms);

View File

@ -2,9 +2,9 @@
/* Mutter X property convenience routines */
/*
/*
* Copyright (C) 2001 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
@ -14,7 +14,7 @@
* 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, see <http://www.gnu.org/licenses/>.
*/
@ -168,7 +168,7 @@ typedef struct
MetaPropValueType type;
Atom atom;
Atom required_type; /* autofilled if None */
union
{
char *str;
@ -183,13 +183,13 @@ typedef struct
gulong *counters;
int n_counters;
} xcounter_list;
struct
{
XSizeHints *hints;
unsigned long flags;
} size_hints;
struct
{
gulong *cardinals;
@ -207,7 +207,7 @@ typedef struct
Atom *atoms;
int n_atoms;
} atom_list;
} v;
} MetaPropValue;