2003-03-23 19:48:09 -08:00
|
|
|
/*
|
2004-01-19 14:30:35 -08:00
|
|
|
* Copyright (C) 2003-2004 Kim Woelders
|
2003-03-23 19:48:09 -08:00
|
|
|
*
|
|
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
* of this software and associated documentation files (the "Software"), to
|
|
|
|
* deal in the Software without restriction, including without limitation the
|
|
|
|
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
|
|
* sell copies of the Software, and to permit persons to whom the Software is
|
|
|
|
* furnished to do so, subject to the following conditions:
|
|
|
|
*
|
|
|
|
* The above copyright notice and this permission notice shall be included in
|
|
|
|
* all copies of the Software, its documentation and marketing & publicity
|
|
|
|
* materials, and acknowledgment shall be given in the documentation, materials
|
|
|
|
* and software packages that this Software was used.
|
|
|
|
*
|
|
|
|
* 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 NONINFRINGEMENT. IN NO EVENT SHALL
|
|
|
|
* THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
|
|
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
|
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
*/
|
|
|
|
/*
|
|
|
|
* Feeble attempt to collect hint stuff in one place
|
|
|
|
*/
|
|
|
|
#include "E.h"
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Functions that set X11-properties from E-internals
|
|
|
|
*/
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsInit(void)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-07-12 07:06:37 -07:00
|
|
|
Atom atom;
|
|
|
|
Window win;
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsInit");
|
2004-05-31 13:14:50 -07:00
|
|
|
|
2004-05-04 12:04:42 -07:00
|
|
|
win = ECreateWindow(VRoot.win, -200, -200, 5, 5, 0);
|
2004-05-31 13:14:50 -07:00
|
|
|
|
|
|
|
/* retreive stuff from last time we were loaded if we're restarting */
|
|
|
|
ICCCM_GetMainEInfo();
|
|
|
|
|
2003-06-14 05:03:09 -07:00
|
|
|
ICCCM_Init();
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-07-12 07:06:37 -07:00
|
|
|
GNOME_SetHints(win);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2003-07-12 07:06:37 -07:00
|
|
|
EWMH_Init(win);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-07-12 07:06:37 -07:00
|
|
|
atom = XInternAtom(disp, "ENLIGHTENMENT_VERSION", False);
|
2004-05-04 12:04:42 -07:00
|
|
|
XChangeProperty(disp, VRoot.win, atom, XA_STRING, 8, PropModeReplace,
|
2003-07-12 07:06:37 -07:00
|
|
|
(unsigned char *)e_wm_version, strlen(e_wm_version));
|
2003-12-21 04:25:58 -08:00
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetClientList(void)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetClientList");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_SetClientList();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_SetClientList();
|
2004-04-30 13:05:22 -07:00
|
|
|
EWMH_SetClientStacking();
|
|
|
|
#endif
|
|
|
|
EDBUG_RETURN_;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
HintsSetClientStacking(void)
|
|
|
|
{
|
|
|
|
EDBUG(6, "HintsSetClientStacking");
|
|
|
|
#if ENABLE_EWMH
|
|
|
|
EWMH_SetClientStacking();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetDesktopConfig(void)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetDesktopConfig");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_SetDeskCount();
|
|
|
|
GNOME_SetDeskNames();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_SetDesktopCount();
|
2004-12-28 15:46:49 -08:00
|
|
|
EWMH_SetDesktopRoots();
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_SetDesktopNames();
|
2003-08-18 15:03:10 -07:00
|
|
|
EWMH_SetWorkArea();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetViewportConfig(void)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetViewportConfig");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_SetAreaCount();
|
2003-04-03 08:34:48 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
|
|
|
EWMH_SetDesktopSize();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetCurrentDesktop(void)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetCurrentDesktop");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_SetCurrentDesk();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_SetCurrentDesktop();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
HintsSetDesktopViewport();
|
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetDesktopViewport(void)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetDesktopViewport");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_SetCurrentArea();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_SetDesktopViewport();
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
2004-05-22 12:31:13 -07:00
|
|
|
HintsSetActiveWindow(Window win)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetActiveWindow");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_EWMH
|
2004-05-22 12:31:13 -07:00
|
|
|
EWMH_SetActiveWindow(win);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2004-05-22 12:31:13 -07:00
|
|
|
void
|
|
|
|
HintsSetWindowName(Window win, const char *name)
|
|
|
|
{
|
|
|
|
XTextProperty xtp;
|
|
|
|
|
|
|
|
EDBUG(6, "HintsSetWindowName");
|
|
|
|
|
|
|
|
xtp.encoding = XA_STRING;
|
|
|
|
xtp.format = 8;
|
|
|
|
xtp.value = (unsigned char *)name;
|
|
|
|
xtp.nitems = strlen(name);
|
|
|
|
XSetWMName(disp, win, &xtp);
|
|
|
|
|
|
|
|
#if ENABLE_EWMH
|
|
|
|
EWMH_SetWindowName(win, name);
|
|
|
|
#endif
|
|
|
|
EDBUG_RETURN_;
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
|
|
|
HintsSetWindowClass(Window win, const char *name, const char *clss)
|
|
|
|
{
|
|
|
|
XClassHint *xch;
|
|
|
|
|
|
|
|
EDBUG(6, "HintsSetWindowClass");
|
|
|
|
|
|
|
|
xch = XAllocClassHint();
|
|
|
|
xch->res_name = (char *)name;
|
|
|
|
xch->res_class = (char *)clss;
|
|
|
|
XSetClassHint(disp, win, xch);
|
|
|
|
XFree(xch);
|
|
|
|
|
|
|
|
EDBUG_RETURN_;
|
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetWindowDesktop(EWin * ewin)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetWindowDesktop");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_SetEwinDesk(ewin);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2004-12-28 15:46:49 -08:00
|
|
|
if (ewin->type != EWIN_TYPE_MENU)
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_SetWindowDesktop(ewin);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetWindowArea(EWin * ewin)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetWindowArea");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_SetEwinArea(ewin);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2004-03-18 09:03:50 -08:00
|
|
|
ewin = NULL;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetWindowState(EWin * ewin)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetWindowState");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_SetHint(ewin);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2004-12-28 15:46:49 -08:00
|
|
|
if (ewin->type != EWIN_TYPE_MENU)
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_SetWindowState(ewin);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2004-08-20 14:13:56 -07:00
|
|
|
void
|
|
|
|
HintsSetWindowOpacity(EWin * ewin, unsigned int opacity)
|
|
|
|
{
|
|
|
|
EDBUG(6, "HintsSetWindowOpacity");
|
|
|
|
#if ENABLE_EWMH
|
|
|
|
EWMH_SetWindowOpacity(ewin, opacity);
|
|
|
|
#endif
|
|
|
|
EDBUG_RETURN_;
|
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsSetWindowHints(EWin * ewin)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsSetWindowHints");
|
|
|
|
HintsSetWindowDesktop(ewin);
|
|
|
|
HintsSetWindowState(ewin);
|
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-12-27 11:20:15 -08:00
|
|
|
void
|
|
|
|
HintsSetWindowBorder(EWin * ewin)
|
|
|
|
{
|
|
|
|
static Atom atom_set = 0;
|
|
|
|
CARD32 val[4];
|
|
|
|
|
|
|
|
if (!atom_set)
|
|
|
|
atom_set = XInternAtom(disp, "_E_FRAME_SIZE", False);
|
|
|
|
|
|
|
|
if (ewin->border)
|
|
|
|
{
|
|
|
|
val[0] = ewin->border->border.left;
|
|
|
|
val[1] = ewin->border->border.right;
|
|
|
|
val[2] = ewin->border->border.top;
|
|
|
|
val[3] = ewin->border->border.bottom;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
val[0] = val[1] = val[2] = val[3] = 0;
|
|
|
|
|
|
|
|
XChangeProperty(disp, ewin->client.win, atom_set, XA_CARDINAL, 32,
|
|
|
|
PropModeReplace, (unsigned char *)&val, 4);
|
|
|
|
}
|
|
|
|
|
2003-03-23 19:48:09 -08:00
|
|
|
/*
|
|
|
|
* Functions that set E-internals from X11-properties
|
|
|
|
*/
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsGetWindowHints(EWin * ewin)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsGetWindowHints");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_GetHints(ewin, 0);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_GetWindowHints(ewin);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Functions that delete X11-properties
|
|
|
|
*/
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsDelWindowHints(EWin * ewin)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsDelWindowHints");
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_GNOME
|
2003-03-27 21:16:21 -08:00
|
|
|
GNOME_DelHints(ewin);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_EWMH
|
2003-03-27 21:16:21 -08:00
|
|
|
EWMH_DelWindowHints(ewin);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Functions processing received X11 messages
|
|
|
|
*/
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsProcessPropertyChange(EWin * ewin, Atom atom_change)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2004-07-04 01:47:28 -07:00
|
|
|
char *name;
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsHandlePropertyChange");
|
2004-07-04 01:47:28 -07:00
|
|
|
|
|
|
|
name = XGetAtomName(disp, atom_change);
|
|
|
|
if (name == NULL)
|
|
|
|
EDBUG_RETURN_;
|
|
|
|
|
|
|
|
if (!memcmp(name, "WM_", 3))
|
|
|
|
ICCCM_ProcessPropertyChange(ewin, atom_change);
|
2003-03-23 19:48:09 -08:00
|
|
|
#if ENABLE_EWMH
|
2004-07-04 01:47:28 -07:00
|
|
|
else if (!memcmp(name, "_NET_", 5))
|
|
|
|
EWMH_ProcessPropertyChange(ewin, atom_change);
|
|
|
|
#endif
|
|
|
|
#if 0 /* No! - ENABLE_GNOME */
|
|
|
|
else if (!memcmp(name, "_WIN_", 5))
|
|
|
|
GNOME_GetHints(ewin, atom_change);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2004-07-04 01:47:28 -07:00
|
|
|
XFree(name);
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
void
|
|
|
|
HintsProcessClientMessage(XClientMessageEvent * event)
|
2003-03-23 19:48:09 -08:00
|
|
|
{
|
2003-06-21 01:14:31 -07:00
|
|
|
char *name;
|
2003-06-14 05:03:09 -07:00
|
|
|
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG(6, "HintsHandleClientMessage");
|
2003-06-14 05:03:09 -07:00
|
|
|
|
2003-06-21 01:14:31 -07:00
|
|
|
name = XGetAtomName(disp, event->message_type);
|
|
|
|
if (name == NULL)
|
|
|
|
EDBUG_RETURN_;
|
|
|
|
|
2004-12-28 15:46:49 -08:00
|
|
|
if (!memcmp(name, "WM_", 3))
|
2003-06-14 05:03:09 -07:00
|
|
|
ICCCM_ProcessClientMessage(event);
|
|
|
|
#if ENABLE_EWMH
|
|
|
|
else if (!memcmp(name, "_NET_", 5))
|
|
|
|
EWMH_ProcessClientMessage(event);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
|
|
|
#if ENABLE_GNOME
|
2003-06-14 05:03:09 -07:00
|
|
|
else if (!memcmp(name, "_WIN_", 5))
|
|
|
|
GNOME_ProcessClientMessage(event);
|
2003-03-23 19:48:09 -08:00
|
|
|
#endif
|
2003-06-21 01:14:31 -07:00
|
|
|
XFree(name);
|
2003-03-27 21:16:21 -08:00
|
|
|
EDBUG_RETURN_;
|
2003-03-23 19:48:09 -08:00
|
|
|
}
|
2003-11-21 16:15:41 -08:00
|
|
|
|
|
|
|
void
|
|
|
|
HintsSetRootInfo(Window win, Pixmap pmap, int color)
|
|
|
|
{
|
2004-05-30 05:30:51 -07:00
|
|
|
static Atom a = 0, aa = 0;
|
2003-11-21 16:15:41 -08:00
|
|
|
|
|
|
|
EDBUG(6, "HintsSetRootInfo");
|
|
|
|
|
|
|
|
if (!a)
|
|
|
|
{
|
|
|
|
a = XInternAtom(disp, "_XROOTPMAP_ID", False);
|
|
|
|
aa = XInternAtom(disp, "_XROOTCOLOR_PIXEL", False);
|
|
|
|
}
|
|
|
|
|
2004-03-20 07:49:05 -08:00
|
|
|
if (Conf.hints.set_xroot_info_on_root_window)
|
2004-05-04 12:04:42 -07:00
|
|
|
win = VRoot.win;
|
2004-05-30 05:30:51 -07:00
|
|
|
|
2003-11-21 16:15:41 -08:00
|
|
|
XChangeProperty(disp, win, a, XA_PIXMAP, 32, PropModeReplace,
|
|
|
|
(unsigned char *)&pmap, 1);
|
|
|
|
XChangeProperty(disp, win, aa, XA_CARDINAL, 32, PropModeReplace,
|
|
|
|
(unsigned char *)&color, 1);
|
|
|
|
|
|
|
|
EDBUG_RETURN_;
|
|
|
|
}
|