Commit e27c29e5 authored by Mark McLoughlin's avatar Mark McLoughlin Committed by Mark McLoughlin

Merge the new-toplevel branch into HEAD and:

2003-03-05  Mark McLoughlin  <mark@skynet.ie>

        * Makefile.am, eggaccelerators.[ch]: re-instate
        eggaccelerators.[ch].

        * panel.c, panel_widget.c: remove the delete_dialog
        PanelWidget member and just use object data instead.
        Adapt the delete dialog code for PanelToplevel.

        * gnome-panel-screenshot.c: fix warning.
parent 3c173e8a
2003-03-05 Mark McLoughlin <mark@skynet.ie>
* eggtraymanager.c: fix warning temporarily.
2003-01-30 Havoc Pennington <hp@pobox.com>
Update to newer libegg with some fixes.
......
......@@ -492,6 +492,7 @@ egg_tray_manager_manage_xscreen (EggTrayManager *manager, Screen *xscreen)
}
}
#if EGG_TRAY_ENABLE_MULTIHEAD
gboolean
egg_tray_manager_manage_screen (EggTrayManager *manager,
GdkScreen *screen)
......@@ -502,6 +503,7 @@ egg_tray_manager_manage_screen (EggTrayManager *manager,
return egg_tray_manager_manage_xscreen (manager,
GDK_SCREEN_XSCREEN (screen));
}
#endif
gboolean
egg_tray_manager_manage (EggTrayManager *manager)
......
......@@ -47,6 +47,7 @@ ORBIT_REQUIRED=2.4.0
GNOME_VFS_REQUIRED=2.1.3
GNOME_VFS_MODULE_REQUIRED=2.1.3
LIBWNCK_REQUIRED=2.1.5
GCONF_REQUIRED=2.3.0
AC_SUBST(GTK_REQUIRED)
AC_SUBST(GDK_PIXBUF_REQUIRED)
......@@ -55,11 +56,11 @@ AC_SUBST(LIBGNOME_REQUIRED)
AC_SUBST(ORBIT_REQUIRED)
AC_SUBST(GNOME_VFS_REQUIRED)
AC_SUBST(LIBWNCK_REQUIRED)
AC_SUBST(GCONF_REQUIRED)
dnl pkg-config dependency checks
PKG_CHECK_MODULES(PANEL, ORBit-2.0 >= $ORBIT_REQUIRED gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GTK_REQUIRED libgnome-2.0 >= $LIBGNOME_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gnome-desktop-2.0 >= $LIBGNOME_DESKTOP_REQUIRED gnome-vfs-2.0 >= $GNOME_VFS_REQUIRED gnome-vfs-module-2.0 >= $GNOME_VFS_MODULE_REQUIRED)
PKG_CHECK_MODULES(PANEL, ORBit-2.0 >= $ORBIT_REQUIRED gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED gtk+-2.0 >= $GTK_REQUIRED libgnome-2.0 >= $LIBGNOME_REQUIRED libgnomeui-2.0 >= $LIBGNOMEUI_REQUIRED gnome-desktop-2.0 >= $LIBGNOME_DESKTOP_REQUIRED gnome-vfs-2.0 >= $GNOME_VFS_REQUIRED gnome-vfs-module-2.0 >= $GNOME_VFS_MODULE_REQUIRED libglade-2.0 >= $LIBGLADE_REQUIRED gconf-2.0 >= $GCONF_REQUIRED)
AC_SUBST(PANEL_CFLAGS)
AC_SUBST(PANEL_LIBS)
......
This diff is collapsed.
......@@ -46,7 +46,7 @@ bin_PROGRAMS = \
gnome-panel-screenshot \
gnome-desktop-item-edit
$(gnome_panel_OBJECTS) $(gnome_panel_properties_OBJECTS) $(gnome_panel_screenshot_OBJECTS): $(BUILT_SOURCES)
$(gnome_panel_OBJECTS) $(gnome_panel_preferences_OBJECTS) $(gnome_panel_screenshot_OBJECTS): $(BUILT_SOURCES)
CORBA_SRCLIST = \
GNOME_Panel-stubs.c \
......@@ -81,6 +81,11 @@ EGG_SCREEN_EXEC_FILES = \
egg-screen-url.c \
$(NULL)
EGG_ACCELERATORS_FILES = \
eggaccelerators.c \
eggaccelerators.h \
$(NULL)
BUILT_SOURCES = \
$(CORBA_SRCLIST) \
panel-typebuiltins.c \
......@@ -95,18 +100,10 @@ panel_sources = \
panel-marshal.h \
main.c \
panel-widget.c \
basep-widget.c \
button-widget.c \
multiscreen-stuff.c \
xstuff.c \
session.c \
panel-session.c \
panel-compatibility.c \
border-widget.c \
edge-widget.c \
aligned-widget.c \
drawer-widget.c \
sliding-widget.c \
floating-widget.c \
disclosure-widget.c \
panel.c \
applet.c \
......@@ -114,7 +111,7 @@ panel_sources = \
panel-config-global.c \
panel-util.c \
panel-gconf.c \
panel-config.c \
panel-properties-dialog.c \
distribution.c \
gnome-run.c \
menu.c \
......@@ -125,40 +122,39 @@ panel_sources = \
panel-applet-frame.c \
panel-shell.c \
quick-desktop-reader.c \
panel-access.c \
panel-background.c \
panel-background-monitor.c \
panel-stock-icons.c \
panel-action-button.c \
panel-menu-bar.c \
panel-menu-button.c \
panel-recent.c \
panel-gdk-pixbuf-extensions.c \
panel-action-protocol.c \
panel-toplevel.c \
panel-frame.c \
panel-xutils.c \
panel-multiscreen.c \
panel-a11y.c \
panel-bindings.c \
panel-profile.c \
$(EGG_RECENT_FILES_C) \
$(NULL)
panel_headers = \
panel-types.h \
panel-widget.h \
panel-main.h \
basep-widget.h \
panel-globals.h \
button-widget.h \
multiscreen-stuff.h \
xstuff.h \
session.h \
panel-session.h \
panel-compatibility.h \
border-widget.h \
edge-widget.h \
aligned-widget.h \
drawer-widget.h \
sliding-widget.h \
floating-widget.h \
disclosure-widget.h \
panel.h \
applet.h \
drawer.h \
panel-util.h \
panel-config.h \
panel-properties-dialog.h \
panel-config-global.h \
panel-gconf.h \
distribution.h \
......@@ -176,15 +172,25 @@ panel_headers = \
panel-stock-icons.h \
panel-action-button.h \
panel-menu-bar.h \
panel-menu-button.h \
panel-recent.h \
panel-gdk-pixbuf-extensions.h \
panel-action-protocol.h \
panel-toplevel.h \
panel-frame.h \
panel-xutils.h \
panel-multiscreen.h \
panel-a11y.h \
panel-bindings.h \
panel-profile.h \
panel-enums.h \
$(EGG_RECENT_FILES_H) \
$(NULL)
gnome_panel_SOURCES = \
$(CORBA_SRCLIST) \
$(EGG_SCREEN_EXEC_FILES) \
$(EGG_ACCELERATORS_FILES) \
$(panel_sources) \
$(panel_headers) \
$(NULL)
......@@ -200,7 +206,7 @@ gnome_panel_LDFLAGS = -export-dynamic
gnome_panel_preferences_SOURCES = \
gnome-panel-preferences.c \
panel-gconf.c \
panel-access.c
panel-a11y.c
gnome_panel_preferences_LDADD = \
$(X_LIBS) \
......@@ -214,7 +220,7 @@ gnome_desktop_item_edit_SOURCES = \
menu-ditem.c \
panel-util.c \
xstuff.c \
panel-access.c \
panel-a11y.c \
egg-screen-exec.c \
egg-screen-help.c \
egg-screen-url.c
......@@ -240,7 +246,8 @@ gnome_panel_screenshot_LDADD = \
gladedir = $(datadir)/gnome/panel
glade_DATA = \
gnome-panel-preferences.glade \
gnome-panel-screenshot.glade
gnome-panel-screenshot.glade \
panel-properties-dialog.glade
EXTRA_DIST = \
GNOME_Panel.server.in \
......@@ -252,7 +259,8 @@ EXTRA_DIST = \
$(ui_DATA) \
panel-marshal.list \
update-from-egg.sh \
gnome-panelrc
gnome-panelrc \
install-defaults.sh
sysdir = $(datadir)/control-center-2.0/capplets
sys_in_files = gnome-panel-preferences.desktop.in
......@@ -261,12 +269,8 @@ sys_DATA = $(sys_in_files:.desktop.in=.desktop)
@INTLTOOL_DESKTOP_RULE@
panel_enum_headers = \
$(top_srcdir)/gnome-panel/panel-enums.h \
$(top_srcdir)/gnome-panel/panel-types.h \
$(top_srcdir)/gnome-panel/panel-widget.h \
$(top_srcdir)/gnome-panel/basep-widget.h \
$(top_srcdir)/gnome-panel/aligned-widget.h \
$(top_srcdir)/gnome-panel/sliding-widget.h \
$(top_srcdir)/gnome-panel/panel-action-button.h \
$(top_builddir)/gnome-panel/GNOME_Panel.h
panel-marshal.h: panel-marshal.list $(GLIB_GENMARSHAL)
......@@ -281,13 +285,13 @@ panel-typebuiltins.c: @REBUILD@ $(panel_enum_headers)
--fhead "#include \"panel-typebuiltins.h\"\n\n" \
--fprod "\n/* enumerations from \"@filename@\" */" \
--fprod "\n#include \"@filename@\"\n" \
--vhead "static const G@Type@Value _@enum_name@_values[] = {" \
--vhead "static const GEnumValue _@enum_name@_values[] = {" \
--vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
--vtail " { 0, NULL, NULL }\n};\n\n" \
--vtail "GType\n@enum_name@_get_type (void)\n{\n" \
--vtail " static GType type = 0;\n\n" \
--vtail " if (!type)\n" \
--vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \
--vtail " type = g_enum_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \
--vtail " return type;\n}\n\n" \
$(panel_enum_headers) > $@
......@@ -316,8 +320,10 @@ rc_DATA = gnome-panelrc
schemasdir = $(GCONF_SCHEMA_FILE_DIR)
schemas_in_files = \
panel-global-config.schemas.in \
panel-per-panel-config.schemas.in \
panel-global.schemas.in \
panel-general.schemas.in \
panel-toplevel.schemas.in \
panel-object.schemas.in \
gnome-panel-screenshot.schemas.in \
$(NULL)
schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
......@@ -329,7 +335,8 @@ install-data-local:
if test -z "$(DESTDIR)" ; then \
for p in $(schemas_DATA) ; do \
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(top_builddir)/gnome-panel/$$p ; \
done \
done ; \
GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) GCONFTOOL=$(GCONFTOOL) $(srcdir)/install-defaults.sh ; \
fi
else
install-data-local:
......@@ -342,8 +349,10 @@ dist-hook:
EGG_SCREEN_EXEC_DIR = $(srcdir)/../../libegg/libegg/screen-exec
EGG_RECENT_DIR = $(srcdir)/../../libegg/libegg/recent-files
EGG_ACCELERATORS_DIR = $(srcdir)/../../libegg/libegg/treeviewutils
regenerate-built-sources:
EGGFILES="$(EGG_SCREEN_EXEC_FILES)" EGGDIR="$(EGG_SCREEN_EXEC_DIR)" $(srcdir)/update-from-egg.sh
EGGFILES="$(EGG_RECENT_FILES_C)" EGGDIR="$(EGG_RECENT_DIR)" $(srcdir)/update-from-egg.sh
EGGFILES="$(EGG_RECENT_FILES_H)" EGGDIR="$(EGG_RECENT_DIR)" $(srcdir)/update-from-egg.sh
EGGFILES="$(EGG_ACCELERATORS_FILES)" EGGDIR="$(EGG_ACCELERATORS_DIR)" $(srcdir)/update-from-egg.sh
/* Gnome panel: aligned (corner) widget
* (C) 1999 the Free Software Foundation
*
* Authores: Jacob Berkman
* George Lebl
*/
#include "config.h"
#include "panel-marshal.h"
#include "aligned-widget.h"
#include "panel-config-global.h"
#include "multiscreen-stuff.h"
#include "panel-typebuiltins.h"
static void aligned_pos_class_init (AlignedPosClass *klass);
static void aligned_pos_instance_init (AlignedPos *pos);
static void aligned_pos_set_pos (BasePWidget *basep,
int x, int y,
int w, int h,
gboolean force);
static void aligned_pos_get_pos (BasePWidget *basep,
int *x, int *y,
int w, int h);
static void aligned_pos_show_hide_left (BasePWidget *basep);
static void aligned_pos_show_hide_right (BasePWidget *basep);
static BorderPosClass *aligned_pos_parent_class;
GType
aligned_pos_get_type (void)
{
static GType object_type = 0;
if (object_type == 0) {
static const GTypeInfo object_info = {
sizeof (AlignedPosClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
(GClassInitFunc) aligned_pos_class_init,
NULL, /* class_finalize */
NULL, /* class_data */
sizeof (AlignedPos),
0, /* n_preallocs */
(GInstanceInitFunc) aligned_pos_instance_init
};
object_type = g_type_register_static (BORDER_TYPE_POS, "AlignedPos", &object_info, 0);
aligned_pos_parent_class = g_type_class_ref (BORDER_TYPE_POS);
}
return object_type;
}
enum {
ALIGN_CHANGE_SIGNAL,
LAST_SIGNAL
};
static guint aligned_pos_signals[LAST_SIGNAL] = { 0 };
static void
aligned_pos_class_init (AlignedPosClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
BasePPosClass *pos_class = BASEP_POS_CLASS (klass);
aligned_pos_signals[ALIGN_CHANGE_SIGNAL] =
g_signal_new ("align_change",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (AlignedPosClass, align_change),
NULL,
NULL,
g_cclosure_marshal_VOID__ENUM,
G_TYPE_NONE,
1,
PANEL_TYPE_ALIGNMENT);
pos_class->set_pos = aligned_pos_set_pos;
pos_class->get_pos = aligned_pos_get_pos;
pos_class->north_clicked = pos_class->west_clicked =
aligned_pos_show_hide_left;
pos_class->south_clicked = pos_class->east_clicked =
aligned_pos_show_hide_right;
}
static void
aligned_pos_instance_init (AlignedPos *pos) {
/* Does nothing */
}
static void
aligned_pos_set_pos (BasePWidget *basep,
int x, int y,
int w, int h,
gboolean force)
{
int innerx, innery;
int screen_width, screen_height;
BorderEdge newpos = BORDER_POS(basep->pos)->edge;
AlignedAlignment newalign = ALIGNED_POS(basep->pos)->align;
if ( ! force) {
int minx, miny, maxx, maxy;
gdk_window_get_geometry (GTK_WIDGET(basep)->window,
&minx, &miny, &maxx, &maxy, NULL);
gdk_window_get_origin (GTK_WIDGET(basep)->window, &minx, &miny);
maxx += minx;
maxy += miny;
if (x >= minx &&
x <= maxx &&
y >= miny &&
y <= maxy)
return;
}
innerx = x - multiscreen_x (basep->screen, basep->monitor);
innery = y - multiscreen_y (basep->screen, basep->monitor);
screen_width = multiscreen_width (basep->screen, basep->monitor);
screen_height = multiscreen_height (basep->screen, basep->monitor);
/*if in the inner 1/3rd, don't change to avoid fast flickery
movement*/
if ( innerx > (screen_width / 3) &&
innerx < (2*screen_width / 3) &&
innery > (screen_height / 3) &&
innery < (2*screen_height / 3))
return;
if (innerx * screen_height > innery * screen_width ) {
if (screen_height * (screen_width-innerx) >
innery * screen_width ) {
newpos = BORDER_TOP;
if (innerx < screen_width/3)
newalign = ALIGNED_LEFT;
else if (innerx < 2*screen_width/3)
newalign = ALIGNED_CENTER;
else
newalign = ALIGNED_RIGHT;
} else {
newpos = BORDER_RIGHT;
if (innery < screen_height/3)
newalign = ALIGNED_LEFT;
else if (innery < 2*screen_height/3)
newalign = ALIGNED_CENTER;
else
newalign = ALIGNED_RIGHT;
}
} else {
if (screen_height * (screen_width-innerx) >
innery * screen_width ) {
newpos = BORDER_LEFT;
if (innery < screen_height/3)
newalign = ALIGNED_LEFT;
else if (innery < 2*screen_height/3)
newalign = ALIGNED_CENTER;
else
newalign = ALIGNED_RIGHT;
} else {
newpos = BORDER_BOTTOM;
if (innerx < screen_width/3)
newalign = ALIGNED_LEFT;
else if (innerx < 2*screen_width/3)
newalign = ALIGNED_CENTER;
else
newalign = ALIGNED_RIGHT;
}
}
if(newalign != ALIGNED_POS(basep->pos)->align)
aligned_widget_change_align (ALIGNED_WIDGET(basep), newalign);
if(newpos != BORDER_POS(basep->pos)->edge)
border_widget_change_edge (BORDER_WIDGET(basep), newpos);
}
static void
aligned_pos_get_pos (BasePWidget *basep, int *x, int *y,
int w, int h)
{
int a, b;
BorderEdge edge = BORDER_POS(basep->pos)->edge;
*x = *y = 0;
switch (edge) {
case BORDER_BOTTOM:
*y = multiscreen_height (basep->screen, basep->monitor) - h;
/* fall thru */
case BORDER_TOP:
switch (ALIGNED_POS (basep->pos)->align) {
case ALIGNED_LEFT:
break;
case ALIGNED_CENTER:
*x = (multiscreen_width (basep->screen, basep->monitor) - w) / 2;
break;
case ALIGNED_RIGHT:
*x = multiscreen_width (basep->screen, basep->monitor) - w;
break;
}
break;
case BORDER_RIGHT:
*x = multiscreen_width (basep->screen, basep->monitor) - w;
basep_border_get (basep, BORDER_TOP, NULL, NULL, &a);
basep_border_get (basep, BORDER_BOTTOM, NULL, NULL, &b);
switch (ALIGNED_POS (basep->pos)->align) {
case ALIGNED_LEFT:
*y = a;
break;
case ALIGNED_CENTER:
*y = (multiscreen_height (basep->screen, basep->monitor) - h) / 2;
break;
case ALIGNED_RIGHT:
*y = multiscreen_height (basep->screen, basep->monitor) - h - b;
break;
}
break;
case BORDER_LEFT:
basep_border_get (basep, BORDER_TOP, &a, NULL, NULL);
basep_border_get (basep, BORDER_BOTTOM, &b, NULL, NULL);
switch (ALIGNED_POS (basep->pos)->align) {
case ALIGNED_LEFT:
*y = a;
break;
case ALIGNED_CENTER:
*y = (multiscreen_height (basep->screen, basep->monitor) - h) / 2;
break;
case ALIGNED_RIGHT:
*y = multiscreen_height (basep->screen, basep->monitor) - h - b;
break;
}
break;
}
*x += multiscreen_x (basep->screen, basep->monitor);
*y += multiscreen_y (basep->screen, basep->monitor);
basep_border_queue_recalc (basep->screen, basep->monitor);
}
static void
aligned_pos_show_hide_left (BasePWidget *basep)
{
switch (basep->state) {
case BASEP_SHOWN:
if (ALIGNED_POS (basep->pos)->align == ALIGNED_RIGHT)
aligned_widget_change_align (ALIGNED_WIDGET (basep),
ALIGNED_LEFT);
else
basep_widget_explicit_hide (basep, BASEP_HIDDEN_LEFT);
break;
case BASEP_HIDDEN_RIGHT:
basep_widget_explicit_show (basep);
break;
default:
break;
}
}
static void
aligned_pos_show_hide_right (BasePWidget *basep)
{
switch (basep->state) {
case BASEP_SHOWN:
if (ALIGNED_POS (basep->pos)->align == ALIGNED_LEFT)
aligned_widget_change_align (ALIGNED_WIDGET (basep),
ALIGNED_RIGHT);
else
basep_widget_explicit_hide (basep, BASEP_HIDDEN_RIGHT);
break;
case BASEP_HIDDEN_LEFT:
basep_widget_explicit_show (basep);
break;
default:
break;
}
}
void
aligned_widget_change_params (AlignedWidget *aligned,
int screen,
int monitor,
AlignedAlignment align,
BorderEdge edge,
int sz,
BasePMode mode,
BasePState state,
gboolean hidebuttons_enabled,
gboolean hidebutton_pixmaps_enabled,
PanelBackgroundType back_type,
char *pixmap_name,
gboolean fit_pixmap_bg,
gboolean stretch_pixmap_bg,
gboolean rotate_pixmap_bg,
PanelColor *back_color)
{
AlignedPos *pos = ALIGNED_POS (BASEP_WIDGET (aligned)->pos);
if (pos->align != align) {
pos->align = align;
g_signal_emit (G_OBJECT (pos),
aligned_pos_signals[ALIGN_CHANGE_SIGNAL],
0, align);
}
border_widget_change_params (BORDER_WIDGET (aligned),
screen,
monitor,
edge,
sz,
mode,
state,
hidebuttons_enabled,
hidebutton_pixmaps_enabled,
back_type,
pixmap_name,
fit_pixmap_bg,
stretch_pixmap_bg,
rotate_pixmap_bg,
back_color);
}
void
aligned_widget_change_align (AlignedWidget *aligned,
AlignedAlignment align)
{
BasePWidget *basep = BASEP_WIDGET (aligned);
PanelWidget *panel = PANEL_WIDGET (basep->panel);
AlignedPos *pos = ALIGNED_POS (basep->pos);
if (pos->align == align)
return;
aligned_widget_change_params (aligned,
basep->screen,
basep->monitor,
align,
BORDER_POS (pos)->edge,
panel->sz, basep->mode,
basep->state,
basep->hidebuttons_enabled,
basep->hidebutton_pixmaps_enabled,
panel->background.type,
panel->background.image,
panel->background.fit_image,
panel->background.stretch_image,
panel->background.rotate_image,
&panel->background.color);
}
void
aligned_widget_change_align_edge (AlignedWidget *aligned,
AlignedAlignment align,
BorderEdge edge)
{
BasePWidget *basep = BASEP_WIDGET (aligned);
PanelWidget *panel = PANEL_WIDGET (basep->panel);
aligned_widget_change_params (aligned,
basep->screen,
basep->monitor,
align,
edge,
panel->sz,
basep->mode,
basep->state,
basep->hidebuttons_enabled,
basep->hidebutton_pixmaps_enabled,
panel->background.type,
panel->background.image,
panel->background.fit_image,
panel->background.stretch_image,
panel->background.rotate_image,
&panel->background.color);
}
GtkWidget *
aligned_widget_new (const char *panel_id,
int screen,
int monitor,
AlignedAlignment align,
BorderEdge edge,
BasePMode mode,
BasePState state,
int sz,
gboolean hidebuttons_enabled,
gboolean hidebutton_pixmaps_enabled,
PanelBackgroundType back_type,
const char *back_pixmap,
gboolean fit_pixmap_bg,
gboolean stretch_pixmap_bg,
gboolean rotate_pixmap_bg,
PanelColor *back_color)
{
AlignedWidget *aligned;
AlignedPos *pos;
aligned = g_object_new (ALIGNED_TYPE_WIDGET, NULL);
pos = g_object_new (ALIGNED_TYPE_POS, NULL);
pos->align = align;
BASEP_WIDGET (aligned)->pos = BASEP_POS (pos);
border_widget_construct (panel_id,
BORDER_WIDGET (aligned),
screen,
monitor,
edge,
TRUE,
FALSE,
sz,
mode,
state,
hidebuttons_enabled,
hidebutton_pixmaps_enabled,
back_type,
back_pixmap,
fit_pixmap_bg,
stretch_pixmap_bg,
rotate_pixmap_bg,
back_color);
return GTK_WIDGET (aligned);
}
/* Gnome panel: aligned (corner) widget
* (C) 1999 the Free Software Foundation
*
* Authors: Jacob Berkman
* George Lebl