Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
Tag: branch-exp
ewmh.c gnome.c icccm.c
Log Message:
Behave.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ewmh.c,v
retrieving revision 1.55.2.10
retrieving revision 1.55.2.11
diff -u -3 -r1.55.2.10 -r1.55.2.11
--- ewmh.c 20 Oct 2004 21:04:07 -0000 1.55.2.10
+++ ewmh.c 21 Oct 2004 17:25:46 -0000 1.55.2.11
@@ -284,18 +284,24 @@
void
EWMH_SetDesktopCount(void)
{
- int i;
+ int i, n_desks;
CARD32 val;
- Window wl[Conf.desks.num];
+ Window *wl;
EDBUG(6, "EWMH_SetDesktopCount");
- val = Conf.desks.num;
+ n_desks = DesksGetNumber();
+ val = n_desks;
_ATOM_SET_CARD32(_NET_NUMBER_OF_DESKTOPS, VRoot.win, &val, 1);
- for (i = 0; i < Conf.desks.num; i++)
+ wl = Emalloc(n_desks * sizeof(Window));
+ if (!wl)
+ EDBUG_RETURN_;
+
+ for (i = 0; i < n_desks; i++)
wl[i] = DeskGetWin(i);
- _ATOM_SET_WINDOW(_NET_VIRTUAL_ROOTS, VRoot.win, &wl, Conf.desks.num);
+ _ATOM_SET_WINDOW(_NET_VIRTUAL_ROOTS, VRoot.win, &wl, n_desks);
+ Efree(wl);
EDBUG_RETURN_;
}
@@ -303,16 +309,22 @@
void
EWMH_SetDesktopNames(void)
{
- char buf[10 * Conf.desks.num], *s;
- int i;
+ char *buf, *s;
+ int i, n_desks;
EDBUG(6, "EWMH_SetDesktopNames");
+ n_desks = DesksGetNumber();
+ buf = Emalloc(n_desks * 10);
+ if (!buf)
+ EDBUG_RETURN_;
+
s = buf;
- for (i = 0; i < Conf.desks.num; i++)
+ for (i = 0; i < n_desks; i++)
s += sprintf(s, "Desk-%d", i) + 1;
_ATOM_SET_UTF8_STRING_LIST(_NET_DESKTOP_NAMES, VRoot.win, buf, s - buf);
+ Efree(buf);
EDBUG_RETURN_;
}
@@ -335,15 +347,16 @@
EWMH_SetWorkArea(void)
{
CARD32 *p_coord;
- int n_coord, i;
+ int n_coord, i, n_desks;
EDBUG(6, "EWMH_SetWorkArea");
- n_coord = 4 * Conf.desks.num;
+ n_desks = DesksGetNumber();
+ n_coord = 4 * n_desks;
p_coord = Emalloc(n_coord * sizeof(CARD32));
if (p_coord)
{
- for (i = 0; i < Conf.desks.num; i++)
+ for (i = 0; i < n_desks; i++)
{
p_coord[4 * i] = 0;
p_coord[4 * i + 1] = 0;
@@ -371,14 +384,16 @@
EWMH_SetDesktopViewport(void)
{
CARD32 *p_coord;
- int n_coord, i, ax, ay;
+ int n_coord, i, ax, ay, n_desks;
EDBUG(6, "EWMH_SetDesktopViewport");
- n_coord = 2 * Conf.desks.num;
+
+ n_desks = DesksGetNumber();
+ n_coord = 2 * n_desks;
p_coord = Emalloc(n_coord * sizeof(CARD32));
if (p_coord)
{
- for (i = 0; i < Conf.desks.num; i++)
+ for (i = 0; i < n_desks; i++)
{
DeskGetArea(i, &ax, &ay);
p_coord[2 * i] = ax * VRoot.w;
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/gnome.c,v
retrieving revision 1.39.2.4
retrieving revision 1.39.2.5
diff -u -3 -r1.39.2.4 -r1.39.2.5
--- gnome.c 20 Oct 2004 21:53:05 -0000 1.39.2.4
+++ gnome.c 21 Oct 2004 17:25:46 -0000 1.39.2.5
@@ -615,7 +615,7 @@
EDBUG(6, "GNOME_SetDeskCount");
if (!atom_set)
atom_set = XInternAtom(disp, XA_WIN_WORKSPACE_COUNT, False);
- val = Conf.desks.num;
+ val = DesksGetNumber();
XChangeProperty(disp, VRoot.win, atom_set, XA_CARDINAL, 32, PropModeReplace,
(unsigned char *)&val, 1);
EDBUG_RETURN_;
@@ -644,25 +644,36 @@
{
static Atom atom_set = 0;
XTextProperty text;
- char s[1024], *names[Conf.desks.num];
- int i;
+ char s[1024], **names;
+ int i, n_desks;
EDBUG(6, "GNOME_SetDeskNames");
+
if (!atom_set)
atom_set = XInternAtom(disp, XA_WIN_WORKSPACE_NAMES, False);
- for (i = 0; i < Conf.desks.num; i++)
+
+ n_desks = DesksGetNumber();
+ names = Emalloc(n_desks * sizeof(char *));
+ if (!names)
+ EDBUG_RETURN_;
+
+ for (i = 0; i < n_desks; i++)
{
Esnprintf(s, sizeof(s), "%i", i);
names[i] = Estrdup(s);
}
- if (XStringListToTextProperty(names, Conf.desks.num, &text))
+
+ if (XStringListToTextProperty(names, n_desks, &text))
{
XSetTextProperty(disp, VRoot.win, &text, atom_set);
XFree(text.value);
}
- for (i = 0; i < Conf.desks.num; i++)
+
+ for (i = 0; i < n_desks; i++)
if (names[i])
Efree(names[i]);
+ Efree(names);
+
EDBUG_RETURN_;
}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/icccm.c,v
retrieving revision 1.76.2.9
retrieving revision 1.76.2.10
diff -u -3 -r1.76.2.9 -r1.76.2.10
--- icccm.c 20 Oct 2004 21:04:08 -0000 1.76.2.9
+++ icccm.c 21 Oct 2004 17:25:46 -0000 1.76.2.10
@@ -510,7 +510,7 @@
int dsk;
dsk = EoGetDesk(ewin);
- if ((dsk < 0) || (dsk >= Conf.desks.num))
+ if ((dsk < 0) || (dsk >= DesksGetNumber()))
dsk = DesksGetCurrent();
ewin->client.x -= DeskGetX(dsk);
ewin->client.y -= DeskGetY(dsk);
@@ -1049,10 +1049,15 @@
ICCCM_SetMainEInfo(void)
{
Atom a;
- int i, ax, ay;
- CARD32 cc[Conf.desks.num * 2];
+ int i, ax, ay, n_desks;
+ CARD32 *cc;
- for (i = 0; i < Conf.desks.num; i++)
+ n_desks = DesksGetNumber();
+ cc = Emalloc(2 * n_desks * sizeof(CARD32));
+ if (!cc)
+ return;
+
+ for (i = 0; i < n_desks; i++)
{
DeskGetArea(i, &ax, &ay);
cc[(i * 2)] = ax;
@@ -1060,12 +1065,14 @@
}
a = XInternAtom(disp, "ENL_INTERNAL_AREA_DATA", False);
XChangeProperty(disp, VRoot.win, a, XA_CARDINAL, 32, PropModeReplace,
- (unsigned char *)cc, Conf.desks.num * 2);
+ (unsigned char *)cc, n_desks * 2);
a = XInternAtom(disp, "ENL_INTERNAL_DESK_DATA", False);
cc[0] = DesksGetCurrent();
XChangeProperty(disp, VRoot.win, a, XA_CARDINAL, 32, PropModeReplace,
(unsigned char *)cc, 1);
+
+ Efree(cc);
}
void
@@ -1074,9 +1081,11 @@
Atom a, a2;
CARD32 *c;
unsigned long lnum, ldummy;
- int num, dummy, i;
+ int num, dummy, i, n_desks;
unsigned char *puc;
+ n_desks = DesksGetNumber();
+
a = XInternAtom(disp, "ENL_INTERNAL_AREA_DATA", False);
puc = NULL;
XGetWindowProperty(disp, VRoot.win, a, 0, 0xffff, False, XA_CARDINAL, &a2,
@@ -1087,7 +1096,7 @@
{
for (i = 0; i < (num / 2); i++)
{
- if (i < Conf.desks.num)
+ if (i < n_desks)
DeskSetArea(i, c[(i * 2)], c[(i * 2) + 1]);
}
XFree(c);
-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs