[Xfce4-commits] r25773 - in xfwm4/trunk: . src
Olivier Fourdan
olivier at xfce.org
Sun Jun 3 01:52:19 CEST 2007
Author: olivier
Date: 2007-06-02 23:52:19 +0000 (Sat, 02 Jun 2007)
New Revision: 25773
Modified:
xfwm4/trunk/AUTHORS
xfwm4/trunk/NEWS
xfwm4/trunk/src/client.c
xfwm4/trunk/src/client.h
xfwm4/trunk/src/display.c
xfwm4/trunk/src/display.h
xfwm4/trunk/src/events.c
xfwm4/trunk/src/frame.c
xfwm4/trunk/src/frame.h
xfwm4/trunk/src/screen.c
xfwm4/trunk/src/screen.h
xfwm4/trunk/src/settings.c
xfwm4/trunk/src/settings.h
Log:
Add resize from top of window, based on a patch by Phil Vandry <vandry at tzone.org>, reworked to allow compatibility with unchanged themes, bug fixes, and various improvements
Modified: xfwm4/trunk/AUTHORS
===================================================================
--- xfwm4/trunk/AUTHORS 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/AUTHORS 2007-06-02 23:52:19 UTC (rev 25773)
@@ -19,6 +19,7 @@
Nils Rennebarth <Nils.Rennebarth at web.de>
Ori Bernstein <rand_chars at rogers.com>
Paramjit Oberoi <param at cs.wisc.edu>
+Phil Vandry <vandry at tzone.org>
Thomas Leonard <tal at ecs.soton.ac.uk>
Credits :
Modified: xfwm4/trunk/NEWS
===================================================================
--- xfwm4/trunk/NEWS 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/NEWS 2007-06-02 23:52:19 UTC (rev 25773)
@@ -1,6 +1,7 @@
4.5.x
=====
+- Add resize from top of window
- Rework the event filter to avoid passing all events top gtk+
- Treat dialogs and utility windows as transients for group (bug #3102)
- Add support for shape input with XShape extension 1.1 (Bug #3092)
Modified: xfwm4/trunk/src/client.c
===================================================================
--- xfwm4/trunk/src/client.c 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/client.c 2007-06-02 23:52:19 UTC (rev 25773)
@@ -2017,6 +2017,11 @@
myDisplayGetCursorResize(screen_info->display_info, CORNER_TOP_RIGHT));
xfwmWindowCreate (screen_info, c->visual, c->depth, c->frame,
&c->title, None);
+ /* create the top side window AFTER the title window since they overlap
+ and the top side window should be on top */
+ xfwmWindowCreate (screen_info, c->visual, c->depth, c->frame,
+ &c->sides[SIDE_TOP],
+ myDisplayGetCursorResize(screen_info->display_info, CORNER_COUNT + SIDE_TOP));
for (i = 0; i < BUTTON_LAST; i++)
{
xfwmWindowCreate (screen_info, c->visual, c->depth, c->frame,
@@ -2153,10 +2158,11 @@
xfwmWindowDelete (&c->sides[SIDE_LEFT]);
xfwmWindowDelete (&c->sides[SIDE_RIGHT]);
xfwmWindowDelete (&c->sides[SIDE_BOTTOM]);
- xfwmWindowDelete (&c->sides[CORNER_BOTTOM_LEFT]);
- xfwmWindowDelete (&c->sides[CORNER_BOTTOM_RIGHT]);
- xfwmWindowDelete (&c->sides[CORNER_TOP_LEFT]);
- xfwmWindowDelete (&c->sides[CORNER_TOP_RIGHT]);
+ xfwmWindowDelete (&c->sides[SIDE_TOP]);
+ xfwmWindowDelete (&c->corners[CORNER_BOTTOM_LEFT]);
+ xfwmWindowDelete (&c->corners[CORNER_BOTTOM_RIGHT]);
+ xfwmWindowDelete (&c->corners[CORNER_TOP_LEFT]);
+ xfwmWindowDelete (&c->corners[CORNER_TOP_RIGHT]);
xfwmPixmapFree (&c->appmenu[ACTIVE]);
xfwmPixmapFree (&c->appmenu[INACTIVE]);
Modified: xfwm4/trunk/src/client.h
===================================================================
--- xfwm4/trunk/src/client.h 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/client.h 2007-06-02 23:52:19 UTC (rev 25773)
@@ -223,8 +223,8 @@
Window transient_for;
Window *cmap_windows;
xfwmWindow title;
- xfwmWindow sides[3];
- xfwmWindow corners[4];
+ xfwmWindow sides[SIDE_COUNT];
+ xfwmWindow corners[CORNER_COUNT];
xfwmWindow buttons[BUTTON_COUNT];
Window client_leader;
Window group_leader;
Modified: xfwm4/trunk/src/display.c
===================================================================
--- xfwm4/trunk/src/display.c 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/display.c 2007-06-02 23:52:19 UTC (rev 25773)
@@ -347,7 +347,7 @@
display->hostname = NULL;
}
- for (i = 0; i < 7; i++)
+ for (i = 0; i < SIDE_COUNT + CORNER_COUNT; i++)
{
XFreeCursor (display->dpy, display->resize_cursor[i]);
display->resize_cursor[i] = None;
Modified: xfwm4/trunk/src/display.h
===================================================================
--- xfwm4/trunk/src/display.h 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/display.h 2007-06-02 23:52:19 UTC (rev 25773)
@@ -69,6 +69,16 @@
enum
{
+ TITLE_1 = 0,
+ TITLE_2,
+ TITLE_3,
+ TITLE_4,
+ TITLE_5,
+ TITLE_COUNT
+};
+
+enum
+{
CORNER_TOP_LEFT = 0,
CORNER_TOP_RIGHT,
CORNER_BOTTOM_LEFT,
@@ -87,6 +97,30 @@
enum
{
+ MENU_BUTTON = 0,
+ STICK_BUTTON,
+ SHADE_BUTTON,
+ HIDE_BUTTON,
+ MAXIMIZE_BUTTON,
+ CLOSE_BUTTON,
+ TITLE_SEPARATOR,
+ BUTTON_COUNT
+};
+#define BUTTON_LAST (BUTTON_COUNT - 1)
+
+enum
+{
+ ACTIVE = 0,
+ INACTIVE,
+ PRESSED,
+ T_ACTIVE,
+ T_INACTIVE,
+ T_PRESSED,
+ STATE_COUNT
+};
+
+enum
+{
ANY,
WINDOW,
FRAME
@@ -229,7 +263,7 @@
Cursor busy_cursor;
Cursor move_cursor;
Cursor root_cursor;
- Cursor resize_cursor[8];
+ Cursor resize_cursor[SIDE_COUNT + CORNER_COUNT];
Atom atoms[ATOM_COUNT];
Modified: xfwm4/trunk/src/events.c
===================================================================
--- xfwm4/trunk/src/events.c 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/events.c 2007-06-02 23:52:19 UTC (rev 25773)
@@ -976,6 +976,11 @@
{
edgeButton (c, CORNER_COUNT + SIDE_BOTTOM, ev);
}
+ else if ((win == MYWINDOW_XWINDOW (c->sides[SIDE_TOP]))
+ && (state == 0))
+ {
+ edgeButton (c, CORNER_COUNT + SIDE_TOP, ev);
+ }
else if ((win == MYWINDOW_XWINDOW (c->sides[SIDE_LEFT]))
&& (state == 0))
{
Modified: xfwm4/trunk/src/frame.c
===================================================================
--- xfwm4/trunk/src/frame.c 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/frame.c 2007-06-02 23:52:19 UTC (rev 25773)
@@ -249,9 +249,33 @@
}
static void
-frameCreateTitlePixmap (Client * c, int state, int left, int right, xfwmPixmap * pm)
+frameFillTitlePixmap (Client * c, int state, int part, int x, int w, int h, xfwmPixmap * title_pm, xfwmPixmap * top_pm)
{
ScreenInfo *screen_info;
+
+ TRACE ("entering frameFillTitlePixmap");
+
+ g_return_if_fail (c);
+ g_return_if_fail (title_pm);
+ g_return_if_fail (top_pm);
+
+ screen_info = c->screen_info;
+
+ if (screen_info->top[part][state].pixmap)
+ {
+ xfwmPixmapFill (&screen_info->top[part][state], top_pm, x, 0, w, h);
+ }
+ else
+ {
+ xfwmPixmapFill (&screen_info->title[part][state], top_pm, x, 0, w, h);
+ }
+ xfwmPixmapFill (&screen_info->title[part][state], title_pm, x, -h, w, frameTop (c) + h);
+}
+
+static void
+frameCreateTitlePixmap (Client * c, int state, int left, int right, xfwmPixmap * title_pm, xfwmPixmap * top_pm)
+{
+ ScreenInfo *screen_info;
DisplayInfo *display_info;
GdkPixmap *gpixmap;
GdkGCValues values;
@@ -260,11 +284,13 @@
PangoRectangle logical_rect;
int width, x, hoffset, w1, w2, w3, w4, w5, temp;
int voffset, title_x, title_y;
+ int top_height;
TRACE ("entering frameCreateTitlePixmap");
g_return_if_fail (c);
- g_return_if_fail (pm);
+ g_return_if_fail (title_pm);
+ g_return_if_fail (top_pm);
screen_info = c->screen_info;
display_info = screen_info->display_info;
@@ -279,13 +305,22 @@
width = frameWidth (c) - frameTopLeftWidth (c, state) - frameTopRightWidth (c, state);
if (width < 1)
{
- pm->pixmap = None;
- pm->mask = None;
- pm->width = 0;
- pm->height = 0;
+ title_pm->pixmap = None;
+ title_pm->mask = None;
+ title_pm->width = 0;
+ title_pm->height = 0;
+
+ top_pm->pixmap = None;
+ top_pm->mask = None;
+ top_pm->width = 0;
+ top_pm->height = 0;
+
return;
}
+ layout = gtk_widget_create_pango_layout (myScreenGetGtkWidget (screen_info), c->name);
+ pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
+
if (left < frameTopLeftWidth (c, state))
{
left = frameTopLeftWidth (c, state);
@@ -304,15 +339,39 @@
x = 0;
hoffset = 0;
- voffset = 0;
+ if (state == ACTIVE)
+ {
+ voffset = screen_info->params->title_vertical_offset_active;
+ }
+ else
+ {
+ voffset = screen_info->params->title_vertical_offset_inactive;
+ }
+
+ title_y = voffset + (frameTop (c) - logical_rect.height) / 2;
+ if (title_y + logical_rect.height > frameTop (c))
+ {
+ title_y = MAX (0, frameTop (c) - logical_rect.height);
+ }
+
+ if (screen_info->top[3][ACTIVE].pixmap)
+ {
+ top_height = screen_info->top[3][ACTIVE].height;
+ }
+ else
+ {
+ top_height = frameTop (c) / 10 + 1;
+ if (top_height > title_y - 1)
+ {
+ top_height = MAX (title_y - 1, 0);
+ }
+ }
+
w1 = 0;
w2 = screen_info->title[TITLE_2][state].width;
w4 = screen_info->title[TITLE_4][state].width;
- layout = gtk_widget_create_pango_layout (myScreenGetGtkWidget (screen_info), c->name);
- pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
-
if (screen_info->params->full_width_title)
{
w1 = left;
@@ -369,37 +428,25 @@
}
}
- xfwmPixmapCreate (screen_info, pm, width, frameTop (c));
- gpixmap = gdk_pixmap_foreign_new (pm->pixmap);
+ xfwmPixmapCreate (screen_info, top_pm, width, top_height);
+ xfwmPixmapCreate (screen_info, title_pm, width, frameTop (c));
+ gpixmap = gdk_pixmap_foreign_new (title_pm->pixmap);
gdk_drawable_set_colormap (gpixmap, gdk_screen_get_rgb_colormap (screen_info->gscr));
gc = gdk_gc_new (gpixmap);
if (w1 > 0)
{
- xfwmPixmapFill (&screen_info->title[TITLE_1][state], pm, 0, 0, w1, frameTop (c));
+ frameFillTitlePixmap (c, state, TITLE_1, x, w1, top_height, title_pm, top_pm);
x = x + w1;
}
- xfwmPixmapFill (&screen_info->title[TITLE_2][state], pm, x, 0, w2, frameTop (c));
+ frameFillTitlePixmap (c, state, TITLE_2, x, w2, top_height, title_pm, top_pm);
x = x + w2;
if (w3 > 0)
{
- if (state == ACTIVE)
- {
- voffset = screen_info->params->title_vertical_offset_active;
- }
- else
- {
- voffset = screen_info->params->title_vertical_offset_inactive;
- }
- xfwmPixmapFill (&screen_info->title[TITLE_3][state], pm, x, 0, w3, frameTop (c));
+ frameFillTitlePixmap (c, state, TITLE_3, x, w3, top_height, title_pm, top_pm);
title_x = hoffset + x;
- title_y = voffset + (frameTop (c) - logical_rect.height) / 2;
- if (title_y + logical_rect.height > frameTop (c))
- {
- title_y = MAX (0, frameTop (c) - logical_rect.height);
- }
if (screen_info->params->title_shadow[state])
{
gdk_gc_get_values (screen_info->title_shadow_colors[state].gc, &values);
@@ -426,12 +473,12 @@
{
x = right - w4;
}
- xfwmPixmapFill (&screen_info->title[TITLE_4][state], pm, x, 0, w4, frameTop (c));
+ frameFillTitlePixmap (c, state, TITLE_4, x, w4, top_height, title_pm, top_pm);
x = x + w4;
if (w5 > 0)
{
- xfwmPixmapFill (&screen_info->title[TITLE_5][state], pm, x, 0, w5, frameTop (c));
+ frameFillTitlePixmap (c, state, TITLE_5, x, w5, top_height, title_pm, top_pm);
}
g_object_unref (G_OBJECT (gc));
g_object_unref (G_OBJECT (gpixmap));
@@ -653,6 +700,12 @@
ShapeBounding, 0, 0, frame_pix->pm_sides[SIDE_BOTTOM].mask, ShapeSet);
}
+ if (xfwmWindowVisible (&c->sides[SIDE_TOP]))
+ {
+ XShapeCombineMask (display_info->dpy, MYWINDOW_XWINDOW (c->sides[SIDE_TOP]),
+ ShapeBounding, 0, 0, frame_pix->pm_sides[SIDE_TOP].mask, ShapeSet);
+ }
+
if (xfwmWindowVisible (&c->corners[CORNER_BOTTOM_LEFT]))
{
XShapeCombineMask (display_info->dpy, MYWINDOW_XWINDOW (c->corners[CORNER_BOTTOM_LEFT]),
@@ -772,6 +825,14 @@
MYWINDOW_XWINDOW (c->sides[SIDE_BOTTOM]), ShapeBounding, ShapeUnion);
}
+ if (xfwmWindowVisible (&c->sides[SIDE_TOP]))
+ {
+ XShapeCombineShape (display_info->dpy, shape_win, ShapeBounding,
+ screen_info->corners[CORNER_BOTTOM_LEFT][state].width,
+ frameTop (c) - frameBottom (c),
+ MYWINDOW_XWINDOW (c->sides[SIDE_TOP]), ShapeBounding, ShapeUnion);
+ }
+
if (xfwmWindowVisible (&c->corners[CORNER_BOTTOM_LEFT]))
{
XShapeCombineShape (display_info->dpy, shape_win, ShapeBounding, 0,
@@ -1010,9 +1071,10 @@
xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_LEFT]);
xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_RIGHT]);
xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_BOTTOM]);
+ xfwmPixmapInit (screen_info, &frame_pix.pm_sides[SIDE_TOP]);
/* The title is always visible */
- frameCreateTitlePixmap (c, state, left, right, &frame_pix.pm_title);
+ frameCreateTitlePixmap (c, state, left, right, &frame_pix.pm_title, &frame_pix.pm_sides[SIDE_TOP]);
xfwmWindowSetBG (&c->title, &frame_pix.pm_title);
xfwmWindowShow (&c->title,
frameTopLeftWidth (c, state), 0, top_width,
@@ -1037,6 +1099,7 @@
xfwmWindowHide (&c->sides[SIDE_LEFT]);
xfwmWindowHide (&c->sides[SIDE_RIGHT]);
xfwmWindowHide (&c->sides[SIDE_BOTTOM]);
+ xfwmWindowHide (&c->sides[SIDE_TOP]);
xfwmWindowHide (&c->corners[CORNER_TOP_LEFT]);
xfwmWindowHide (&c->corners[CORNER_TOP_RIGHT]);
xfwmWindowHide (&c->corners[CORNER_BOTTOM_LEFT]);
@@ -1085,6 +1148,19 @@
frameHeight (c) - frameBottom (c), bottom_width, frameBottom (c),
(requires_clearing | width_changed));
+ if (frame_pix.pm_sides[SIDE_TOP].pixmap)
+ {
+ xfwmWindowSetBG (&c->sides[SIDE_TOP], &frame_pix.pm_sides[SIDE_TOP]);
+ xfwmWindowShow (&c->sides[SIDE_TOP],
+ screen_info->corners[CORNER_TOP_LEFT][state].width,
+ 0, top_width, frameTop (c),
+ (requires_clearing | width_changed));
+ }
+ else
+ {
+ xfwmWindowHide (&c->sides[SIDE_TOP]);
+ }
+
xfwmWindowShow (&c->corners[CORNER_TOP_LEFT], 0, 0,
frameTopLeftWidth (c, state),
screen_info->corners[CORNER_TOP_LEFT][state].height,
@@ -1117,6 +1193,7 @@
xfwmPixmapFree (&frame_pix.pm_sides[SIDE_BOTTOM]);
xfwmPixmapFree (&frame_pix.pm_sides[SIDE_LEFT]);
xfwmPixmapFree (&frame_pix.pm_sides[SIDE_RIGHT]);
+ xfwmPixmapFree (&frame_pix.pm_sides[SIDE_TOP]);
}
else
{
@@ -1124,7 +1201,7 @@
{
xfwmWindowHide (&c->title);
}
- for (i = 0; i < 3; i++)
+ for (i = 0; i < 4; i++)
{
if (MYWINDOW_XWINDOW (c->sides[i]) && xfwmWindowVisible (&c->sides[i]))
{
Modified: xfwm4/trunk/src/frame.h
===================================================================
--- xfwm4/trunk/src/frame.h 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/frame.h 2007-06-02 23:52:19 UTC (rev 25773)
@@ -33,8 +33,9 @@
struct _FramePixmap
{
xfwmPixmap pm_title;
- xfwmPixmap pm_sides[3];
+ xfwmPixmap pm_sides[SIDE_COUNT];
};
+
typedef struct _FramePixmap FramePixmap;
int frameDecorationLeft (ScreenInfo *);
Modified: xfwm4/trunk/src/screen.c
===================================================================
--- xfwm4/trunk/src/screen.c 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/screen.c 2007-06-02 23:52:19 UTC (rev 25773)
@@ -210,17 +210,17 @@
xfwmPixmapInit (screen_info, &screen_info->buttons[i][T_INACTIVE]);
xfwmPixmapInit (screen_info, &screen_info->buttons[i][T_PRESSED]);
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CORNER_COUNT; i++)
{
xfwmPixmapInit (screen_info, &screen_info->corners[i][ACTIVE]);
xfwmPixmapInit (screen_info, &screen_info->corners[i][INACTIVE]);
}
- for (i = 0; i < 3; i++)
+ for (i = 0; i < SIDE_COUNT; i++)
{
xfwmPixmapInit (screen_info, &screen_info->sides[i][ACTIVE]);
xfwmPixmapInit (screen_info, &screen_info->sides[i][INACTIVE]);
}
- for (i = 0; i < 5; i++)
+ for (i = 0; i < TITLE_COUNT; i++)
{
xfwmPixmapInit (screen_info, &screen_info->title[i][ACTIVE]);
xfwmPixmapInit (screen_info, &screen_info->title[i][INACTIVE]);
Modified: xfwm4/trunk/src/screen.h
===================================================================
--- xfwm4/trunk/src/screen.h 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/screen.h 2007-06-02 23:52:19 UTC (rev 25773)
@@ -70,10 +70,11 @@
/* Theme pixmaps and other params, per screen */
XfwmColor title_colors[2];
XfwmColor title_shadow_colors[2];
- xfwmPixmap buttons[BUTTON_COUNT][6];
- xfwmPixmap corners[4][2];
- xfwmPixmap sides[3][2];
- xfwmPixmap title[5][2];
+ xfwmPixmap buttons[BUTTON_COUNT][STATE_COUNT];
+ xfwmPixmap corners[CORNER_COUNT][2];
+ xfwmPixmap sides[SIDE_COUNT][2];
+ xfwmPixmap title[TITLE_COUNT][2];
+ xfwmPixmap top[TITLE_COUNT][2];
/* Per screen graphic contexts */
GC box_gc;
Modified: xfwm4/trunk/src/settings.c
===================================================================
--- xfwm4/trunk/src/settings.c 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/settings.c 2007-06-02 23:52:19 UTC (rev 25773)
@@ -1006,6 +1006,7 @@
static void
loadTheme (ScreenInfo *screen_info, Settings *rc)
{
+ gchar imagename[30];
GValue tmp_val = { 0, };
DisplayInfo *display_info;
xfwmColorSymbol colsym[ XPM_COLOR_SYMBOL_SIZE + 1 ];
@@ -1183,27 +1184,22 @@
"maximize-toggled-inactive", colsym);
xfwmPixmapLoad (screen_info, &screen_info->buttons[MAXIMIZE_BUTTON][T_PRESSED], theme,
"maximize-toggled-pressed", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_1][ACTIVE], theme,
- "title-1-active", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_1][INACTIVE], theme,
- "title-1-inactive", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_2][ACTIVE], theme,
- "title-2-active", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_2][INACTIVE], theme,
- "title-2-inactive", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_3][ACTIVE], theme,
- "title-3-active", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_3][INACTIVE], theme,
- "title-3-inactive", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_4][ACTIVE], theme,
- "title-4-active", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_4][INACTIVE], theme,
- "title-4-inactive", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_5][ACTIVE], theme,
- "title-5-active", colsym);
- xfwmPixmapLoad (screen_info, &screen_info->title[TITLE_5][INACTIVE], theme,
- "title-5-inactive", colsym);
+ for (i = 0; i < TITLE_COUNT; i++)
+ {
+ g_snprintf(imagename, sizeof (imagename), "title-%d-active", i+1);
+ xfwmPixmapLoad (screen_info, &screen_info->title[i][ACTIVE], theme, imagename, colsym);
+
+ g_snprintf(imagename, sizeof (imagename), "title-%d-inactive", i+1);
+ xfwmPixmapLoad (screen_info, &screen_info->title[i][INACTIVE], theme, imagename, colsym);
+
+ g_snprintf(imagename, sizeof (imagename), "top-%d-active", i+1);
+ xfwmPixmapLoad (screen_info, &screen_info->top[i][ACTIVE], theme, imagename, colsym);
+
+ g_snprintf(imagename, sizeof (imagename), "top-%d-inactive", i+1);
+ xfwmPixmapLoad (screen_info, &screen_info->top[i][INACTIVE], theme, imagename, colsym);
+ }
+
screen_info->box_gc = createGC (screen_info, "#FFFFFF", GXxor, NULL, 2, TRUE);
if (!g_ascii_strcasecmp ("left", getValue ("title_alignment", rc)))
@@ -1646,17 +1642,17 @@
TRACE ("entering unloadTheme");
- for (i = 0; i < 3; i++)
+ for (i = 0; i < SIDE_COUNT; i++)
{
xfwmPixmapFree (&screen_info->sides[i][ACTIVE]);
xfwmPixmapFree (&screen_info->sides[i][INACTIVE]);
}
- for (i = 0; i < 4; i++)
+ for (i = 0; i < CORNER_COUNT; i++)
{
xfwmPixmapFree (&screen_info->corners[i][ACTIVE]);
xfwmPixmapFree (&screen_info->corners[i][INACTIVE]);
}
- for (i = 0; i < BUTTON_LAST; i++)
+ for (i = 0; i < BUTTON_COUNT; i++)
{
xfwmPixmapFree (&screen_info->buttons[i][ACTIVE]);
xfwmPixmapFree (&screen_info->buttons[i][INACTIVE]);
@@ -1665,7 +1661,7 @@
xfwmPixmapFree (&screen_info->buttons[i][T_INACTIVE]);
xfwmPixmapFree (&screen_info->buttons[i][T_PRESSED]);
}
- for (i = 0; i < 5; i++)
+ for (i = 0; i < TITLE_COUNT; i++)
{
xfwmPixmapFree (&screen_info->title[i][ACTIVE]);
xfwmPixmapFree (&screen_info->title[i][INACTIVE]);
Modified: xfwm4/trunk/src/settings.h
===================================================================
--- xfwm4/trunk/src/settings.h 2007-06-01 18:36:12 UTC (rev 25772)
+++ xfwm4/trunk/src/settings.h 2007-06-02 23:52:19 UTC (rev 25773)
@@ -35,15 +35,6 @@
enum
{
- TITLE_1,
- TITLE_2,
- TITLE_3,
- TITLE_4,
- TITLE_5
-};
-
-enum
-{
TITLE_SHADOW_NONE,
TITLE_SHADOW_UNDER,
TITLE_SHADOW_FRAME
@@ -51,29 +42,6 @@
enum
{
- MENU_BUTTON,
- STICK_BUTTON,
- SHADE_BUTTON,
- HIDE_BUTTON,
- MAXIMIZE_BUTTON,
- CLOSE_BUTTON,
- TITLE_SEPARATOR,
- BUTTON_COUNT
-};
-#define BUTTON_LAST (BUTTON_COUNT - 1)
-
-enum
-{
- ACTIVE,
- INACTIVE,
- PRESSED,
- T_ACTIVE,
- T_INACTIVE,
- T_PRESSED
-};
-
-enum
-{
KEY_ADD_WORKSPACE,
KEY_CANCEL,
KEY_CLOSE_WINDOW,
More information about the Xfce4-commits
mailing list