Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
E.h backgrounds.c dialog.c draw.c e16-ecore_hints.c ecompmgr.c
ecompmgr.h edbus.c hints.c hiwin.c icccm.c iconify.c ipc.c
magwin.c main.c pager.c piximg.c screen.c session.c setup.c
systray.c text_pango.c text_xft.c x.c xwin.h zoom.c
Log Message:
Eliminate RRoot and VRoot.
===================================================================
RCS file: /cvs/e/e16/e/src/E.h,v
retrieving revision 1.613
retrieving revision 1.614
diff -u -3 -r1.613 -r1.614
--- E.h 29 Mar 2008 10:48:45 -0000 1.613
+++ E.h 29 Mar 2008 17:18:57 -0000 1.614
@@ -209,20 +209,6 @@
*/
#include "etypes.h"
-typedef struct {
- Win win;
-} RealRoot;
-
-#define RROOT RRoot.win
-
-typedef struct {
- Win win;
- int scr;
- Pixmap pmap; /* Compositing buffer */
-} VirtRoot;
-
-#define VROOT VRoot.win
-
/* Configuration parameters */
typedef struct {
struct {
@@ -407,8 +393,7 @@
char *cache_dir;
} conf;
struct {
- char *name;
- int screens;
+ char dummy; /* Prevent empty struct */
#ifdef HAVE_XINERAMA
char xinerama_active;
#endif
@@ -426,7 +411,6 @@
Window last_bpress2;
unsigned int last_button;
unsigned int last_keycode;
- unsigned char last_error_code;
char double_click;
char on_screen;
#if USE_COMPOSITE
@@ -434,7 +418,6 @@
#endif
} events;
struct {
- int server_grabbed;
char pointer_grab_active;
Window pointer_grab_window;
} grabs;
@@ -614,7 +597,5 @@
extern const char e_wm_name[];
extern const char e_wm_version[];
extern const char e_wm_date[];
-extern RealRoot RRoot;
-__EXPORT__ extern VirtRoot VRoot;
__EXPORT__ extern EConf Conf;
__EXPORT__ extern EMode Mode;
===================================================================
RCS file: /cvs/e/e16/e/src/backgrounds.c,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -3 -r1.108 -r1.109
--- backgrounds.c 26 Mar 2008 23:19:42 -0000 1.108
+++ backgrounds.c 29 Mar 2008 17:18:58 -0000 1.109
@@ -1748,7 +1748,7 @@
ic_button = ImageclassFind("DIALOG_BUTTON", 0);
- XSetForeground(disp, gc, BlackPixel(disp, VRoot.scr));
+ XSetForeground(disp, gc, Dpy.pixel_black);
XFillRectangle(disp, pmap, gc, 0, 0, w, h);
x = -(num * (64 + 8) - w) * tmp_bg_sel_sliderval / (4 * num);
===================================================================
RCS file: /cvs/e/e16/e/src/dialog.c,v
retrieving revision 1.198
retrieving revision 1.199
diff -u -3 -r1.198 -r1.199
--- dialog.c 24 Mar 2008 11:12:39 -0000 1.198
+++ dialog.c 29 Mar 2008 17:18:58 -0000 1.199
@@ -1576,7 +1576,7 @@
pad = ImageclassGetPadding(d->iclass);
gcv.subwindow_mode = IncludeInferiors;
gc = EXCreateGC(WinGetPmap(d->win), GCSubwindowMode, &gcv);
- XSetForeground(disp, gc, BlackPixel(disp, VRoot.scr));
+ XSetForeground(disp, gc, Dpy.pixel_black);
XDrawRectangle(disp, WinGetPmap(d->win), gc,
pad->left + di->x, pad->top + di->y, di->w, di->h);
EXFreeGC(gc);
===================================================================
RCS file: /cvs/e/e16/e/src/draw.c,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -3 -r1.118 -r1.119
--- draw.c 24 Mar 2008 11:12:39 -0000 1.118
+++ draw.c 29 Mar 2008 17:18:58 -0000 1.119
@@ -376,9 +376,9 @@
XGCValues gcv;
gcv.function = GXxor;
- gcv.foreground = WhitePixel(disp, VRoot.scr);
+ gcv.foreground = Dpy.pixel_white;
if (gcv.foreground == 0)
- gcv.foreground = BlackPixel(disp, VRoot.scr);
+ gcv.foreground = Dpy.pixel_black;
gcv.subwindow_mode = IncludeInferiors;
gc = EXCreateGC(root,
GCFunction | GCForeground | GCSubwindowMode, &gcv);
===================================================================
RCS file: /cvs/e/e16/e/src/e16-ecore_hints.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e16-ecore_hints.c 23 Feb 2008 11:57:41 -0000 1.12
+++ e16-ecore_hints.c 29 Mar 2008 17:18:58 -0000 1.13
@@ -38,12 +38,10 @@
#define ECORE_X_PROP_LIST_ADD 1
#define ECORE_X_PROP_LIST_TOGGLE 2
-extern Display *disp;
-
-#define _ecore_x_disp disp
-
#ifdef USE_ECORE_X
+extern Display *_ecore_x_disp;
+
void
ecore_x_icccm_state_set_iconic(Ecore_X_Window win)
{
@@ -69,6 +67,9 @@
#include <assert.h>
#endif
#include "hints.h"
+#include "xwin.h"
+
+#define _ecore_x_disp disp
#define N_ITEMS(x) (sizeof(x)/sizeof(x[0]))
===================================================================
RCS file: /cvs/e/e16/e/src/ecompmgr.c,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -3 -r1.174 -r1.175
--- ecompmgr.c 29 Mar 2008 08:22:36 -0000 1.174
+++ ecompmgr.c 29 Mar 2008 17:18:58 -0000 1.175
@@ -184,6 +184,7 @@
#if USE_COMPOSITE_OVERLAY_WINDOW
Window cow;
#endif
+ Pixmap pmap; /* Compositing buffer */
char active;
char use_pixmap;
char reorder;
@@ -2304,7 +2305,7 @@
ECompMgrRootBufferCreate(unsigned int w, unsigned int h)
{
/* Root buffer picture and pixmap */
- rootBuffer = EPictureCreateBuffer(VROOT, w, h, &VRoot.pmap);
+ rootBuffer = EPictureCreateBuffer(VROOT, w, h, &Mode_compmgr.pmap);
/* Screen region */
Mode_compmgr.rgn_screen = ERegionCreateRect(0, 0, w, h);
@@ -2317,10 +2318,16 @@
ECompMgrRootBufferDestroy(void)
{
PICTURE_DESTROY(rootBuffer);
- PIXMAP_DESTROY(VRoot.pmap);
+ PIXMAP_DESTROY(Mode_compmgr.pmap);
REGION_DESTROY(Mode_compmgr.rgn_screen);
REGION_DESTROY(Mode_compmgr.rgn_clip);
+}
+
+Pixmap
+ECompMgrGetRootBuffer(void)
+{
+ return Mode_compmgr.pmap;
}
static void
===================================================================
RCS file: /cvs/e/e16/e/src/ecompmgr.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- ecompmgr.h 23 Mar 2008 11:54:23 -0000 1.35
+++ ecompmgr.h 29 Mar 2008 17:18:58 -0000 1.36
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2004-2007 Kim Woelders
+ * Copyright (C) 2004-2008 Kim Woelders
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
@@ -42,6 +42,8 @@
int ECompMgrDeskConfigure(Desk * dsk);
+Pixmap ECompMgrGetRootBuffer(void);
+
void ECompMgrWinNew(EObj * eo);
void ECompMgrWinDel(EObj * eo);
void ECompMgrWinMap(EObj * eo);
@@ -70,6 +72,8 @@
#define ECompMgrIsActive() 0
#define ECompMgrDeskConfigure(dsk) 0
+
+#define ECompMgrGetRootBuffer() None
#endif
===================================================================
RCS file: /cvs/e/e16/e/src/edbus.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- edbus.c 24 Mar 2008 11:12:40 -0000 1.3
+++ edbus.c 29 Mar 2008 17:18:58 -0000 1.4
@@ -24,6 +24,7 @@
#include "edbus.h"
#include "events.h"
#include "ipc.h"
+#include "xwin.h"
#include <dbus/dbus.h>
#define ENABLE_INTROSPECTION 1
@@ -246,16 +247,16 @@
if (Mode.wm.window)
{
- sprintf(buf, "org.e16.wm.w%#x", (unsigned int)WinGetXwin(VROOT));
+ sprintf(buf, "org.e16.wm.p%u", (unsigned int)Mode.wm.pid);
}
else
{
const char *s;
- s = strchr(Mode.display.name, ':');
+ s = strchr(Dpy.name, ':');
if (!s)
return;
- sprintf(buf, "org.e16.wm.d%ds%d", atoi(s + 1), VRoot.scr);
+ sprintf(buf, "org.e16.wm.d%ds%d", atoi(s + 1), Dpy.screen);
}
dbus_data.name = Estrdup(buf);
Esetenv("ENL_DBUS_NAME", dbus_data.name);
===================================================================
RCS file: /cvs/e/e16/e/src/hints.c,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -3 -r1.88 -r1.89
--- hints.c 24 Mar 2008 11:12:40 -0000 1.88
+++ hints.c 29 Mar 2008 17:18:58 -0000 1.89
@@ -586,7 +586,7 @@
if (!sel)
return sel;
- Esnprintf(buf, sizeof(buf), "%s%d", name, VRoot.scr);
+ Esnprintf(buf, sizeof(buf), "%s%d", name, Dpy.screen);
sel->atom = XInternAtom(disp, buf, False);
sel->time = EGetTimestamp();
===================================================================
RCS file: /cvs/e/e16/e/src/hiwin.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- hiwin.c 24 Mar 2008 11:12:40 -0000 1.31
+++ hiwin.c 29 Mar 2008 17:18:58 -0000 1.32
@@ -179,9 +179,9 @@
static void
HiwinRenderPixmapDrawX(Hiwin * phi, Drawable draw)
{
- XSetForeground(disp, phi->gc, BlackPixel(disp, VRoot.scr));
+ XSetForeground(disp, phi->gc, Dpy.pixel_black);
XFillRectangle(disp, draw, phi->gc, 0, 0, EoGetW(phi), EoGetH(phi));
- XSetForeground(disp, phi->gc, WhitePixel(disp, VRoot.scr));
+ XSetForeground(disp, phi->gc, Dpy.pixel_white);
XFillRectangle(disp, draw, phi->gc, 1, 1, EoGetW(phi) - 2, EoGetH(phi) - 2);
}
===================================================================
RCS file: /cvs/e/e16/e/src/icccm.c,v
retrieving revision 1.144
retrieving revision 1.145
diff -u -3 -r1.144 -r1.145
--- icccm.c 24 Mar 2008 11:12:40 -0000 1.144
+++ icccm.c 29 Mar 2008 17:18:58 -0000 1.145
@@ -347,7 +347,7 @@
{
if (XGetWindowAttributes(disp, wlist[i], &xwa))
{
- if (xwa.colormap != DefaultColormap(disp, VRoot.scr))
+ if (xwa.colormap != WinGetCmap(VROOT))
{
XInstallColormap(disp, xwa.colormap);
Mode.current_cmap = xwa.colormap;
===================================================================
RCS file: /cvs/e/e16/e/src/iconify.c,v
retrieving revision 1.230
retrieving revision 1.231
diff -u -3 -r1.230 -r1.231
--- iconify.c 24 Mar 2008 11:12:40 -0000 1.230
+++ iconify.c 29 Mar 2008 17:18:58 -0000 1.231
@@ -101,9 +101,9 @@
gcv.subwindow_mode = IncludeInferiors;
gcv.function = GXxor;
gcv.line_width = 2;
- gcv.foreground = WhitePixel(disp, VRoot.scr);
+ gcv.foreground = Dpy.pixel_white;
if (gcv.foreground == 0)
- gcv.foreground = BlackPixel(disp, VRoot.scr);
+ gcv.foreground = Dpy.pixel_black;
gc = EXCreateGC(root,
GCFunction | GCForeground | GCSubwindowMode | GCLineWidth,
&gcv);
@@ -191,9 +191,9 @@
gcv.subwindow_mode = IncludeInferiors;
gcv.function = GXxor;
gcv.fill_style = FillOpaqueStippled;
- gcv.foreground = WhitePixel(disp, VRoot.scr);
+ gcv.foreground = Dpy.pixel_white;
if (gcv.foreground == 0)
- gcv.foreground = BlackPixel(disp, VRoot.scr);
+ gcv.foreground = Dpy.pixel_black;
gc = EXCreateGC(root,
GCFunction | GCForeground | GCSubwindowMode | GCFillStyle,
&gcv);
===================================================================
RCS file: /cvs/e/e16/e/src/ipc.c,v
retrieving revision 1.310
retrieving revision 1.311
diff -u -3 -r1.310 -r1.311
--- ipc.c 24 Mar 2008 11:12:40 -0000 1.310
+++ ipc.c 29 Mar 2008 17:18:58 -0000 1.311
@@ -144,7 +144,7 @@
}
else if (!strncmp(param, "size", 2))
{
- IpcPrintf("Screen %d size %dx%d\n", VRoot.scr,
+ IpcPrintf("Screen %d size %dx%d\n", Dpy.screen,
WinGetW(VROOT), WinGetH(VROOT));
}
else if (!strcmp(param, "split"))
@@ -1223,7 +1223,7 @@
}
else if (!strncmp(params, "scr", 3))
{
- x = (VRoot.scr + 1) % ScreenCount(disp);
+ x = (Dpy.screen + 1) % ScreenCount(disp);
sscanf(params, "%*s %i", &x);
if (x >= 0 && x < ScreenCount(disp))
EXWarpPointer(RootWindow(disp, x), DisplayWidth(disp, x) / 2,
===================================================================
RCS file: /cvs/e/e16/e/src/magwin.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- magwin.c 24 Mar 2008 11:12:40 -0000 1.10
+++ magwin.c 29 Mar 2008 17:18:58 -0000 1.11
@@ -143,7 +143,9 @@
dw = (int)(sw * scale + .5);
dh = (int)(sh * scale + .5);
- draw = (VRoot.pmap != None) ? VRoot.pmap : WinGetXwin(VROOT);
+ draw = ECompMgrGetRootBuffer();
+ if (draw == None)
+ draw = WinGetXwin(VROOT);
ScaleRect(VROOT, draw, EwinGetClientWin(mw->ewin),
EwinGetClientXwin(mw->ewin), sx, sy, sw, sh,
0, 0, dw, dh, (mw->filter) ? EIMAGE_ANTI_ALIAS : 0);
===================================================================
RCS file: /cvs/e/e16/e/src/main.c,v
retrieving revision 1.170
retrieving revision 1.171
diff -u -3 -r1.170 -r1.171
--- main.c 29 Mar 2008 10:48:45 -0000 1.170
+++ main.c 29 Mar 2008 17:18:58 -0000 1.171
@@ -47,8 +47,6 @@
const char e_wm_version[] = VERSION;
const char e_wm_date[] = E_CHECKOUT_DATE;
-RealRoot RRoot;
-VirtRoot VRoot;
EConf Conf;
EMode Mode;
@@ -108,12 +106,12 @@
Mode.wm.exec_name = argv[0];
Mode.wm.startup = 1;
- memset(&VRoot, 0, sizeof(VRoot));
- VRoot.scr = -1;
-
Mode.mode = MODE_NONE;
Mode.move.check = 1;
+ EXInit();
+ Dpy.screen = -1;
+
str = getenv("EDEBUG");
if (str)
EDebugInit(str);
@@ -185,7 +183,7 @@
break;
case 's':
Mode.wm.single = 1;
- VRoot.scr = strtoul(eoptarg, NULL, 10);
+ Dpy.screen = strtoul(eoptarg, NULL, 10);
break;
case 'S':
SetSMID(eoptarg);
@@ -648,13 +646,13 @@
if (Mode.conf.name)
Esnprintf(buf, sizeof(buf), "%s/%s-%d", EDirUser(), EConfName(),
- VRoot.scr);
+ Dpy.screen);
else if (Mode.wm.window)
Esnprintf(buf, sizeof(buf), "%s/%s-window", EDirUser(),
EConfNameDefault());
else
Esnprintf(buf, sizeof(buf), "%s/%s-%s", EDirUser(), EConfNameDefault(),
- Mode.display.name);
+ Dpy.name);
def_prefix = Estrdup(buf);
for (s = def_prefix; (s = strchr(s, ':')) != NULL; *s = '-')
===================================================================
RCS file: /cvs/e/e16/e/src/pager.c,v
retrieving revision 1.264
retrieving revision 1.265
diff -u -3 -r1.264 -r1.265
--- pager.c 24 Mar 2008 11:12:40 -0000 1.264
+++ pager.c 29 Mar 2008 17:18:58 -0000 1.265
@@ -452,9 +452,9 @@
}
else
{
- XSetForeground(disp, gc, BlackPixel(disp, VRoot.scr));
+ XSetForeground(disp, gc, Dpy.pixel_black);
XDrawRectangle(disp, pmap, gc, wx - 1, wy - 1, ww + 1, wh + 1);
- XSetForeground(disp, gc, WhitePixel(disp, VRoot.scr));
+ XSetForeground(disp, gc, Dpy.pixel_white);
XFillRectangle(disp, pmap, gc, wx, wy, ww, wh);
}
}
@@ -611,9 +611,9 @@
if (gc == None)
return;
- XSetForeground(disp, gc, BlackPixel(disp, VRoot.scr));
+ XSetForeground(disp, gc, Dpy.pixel_black);
XDrawRectangle(disp, pmap, gc, 0, 0, p->dw, p->dh);
- XSetForeground(disp, gc, WhitePixel(disp, VRoot.scr));
+ XSetForeground(disp, gc, Dpy.pixel_white);
XFillRectangle(disp, pmap, gc, 1, 1, p->dw - 2, p->dh - 2);
EXFreeGC(gc);
===================================================================
RCS file: /cvs/e/e16/e/src/piximg.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- piximg.c 24 Mar 2008 11:12:40 -0000 1.6
+++ piximg.c 29 Mar 2008 17:18:58 -0000 1.7
@@ -79,10 +79,10 @@
if (pi->shminfo->shmaddr != (void *)-1)
{
pi->shminfo->readOnly = False;
- Mode.events.last_error_code = 0;
+ Dpy.last_error_code = 0;
XShmAttach(disp, pi->shminfo);
ESync(0);
- if (Mode.events.last_error_code == 0)
+ if (Dpy.last_error_code == 0)
{
pi->pmap =
XShmCreatePixmap(disp, win, pi->shminfo->shmaddr,
@@ -279,7 +279,7 @@
}
break;
case 16:
- if (DefaultDepth(disp, VRoot.scr) != 15)
+ if (WinGetDepth(VROOT) != 15)
{
for (j = 0; j < h; j++)
{
===================================================================
RCS file: /cvs/e/e16/e/src/screen.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -3 -r1.31 -r1.32
--- screen.c 24 Mar 2008 11:12:40 -0000 1.31
+++ screen.c 29 Mar 2008 17:18:58 -0000 1.32
@@ -97,7 +97,7 @@
for (i = 0; i < nx; i++)
for (j = 0; j < ny; j++)
- ScreenAdd(1, VRoot.scr,
+ ScreenAdd(1, Dpy.screen,
i * WinGetW(VROOT) / nx, j * WinGetH(VROOT) / ny,
WinGetW(VROOT) / nx, WinGetH(VROOT) / ny);
}
@@ -145,7 +145,7 @@
else
{
IpcPrintf(" %2d %2d %5d %5d %5d %5d\n",
- 0, VRoot.scr, 0, 0, WinGetW(VROOT), WinGetH(VROOT));
+ 0, Dpy.screen, 0, 0, WinGetW(VROOT), WinGetH(VROOT));
}
}
===================================================================
RCS file: /cvs/e/e16/e/src/session.c,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -3 -r1.152 -r1.153
--- session.c 24 Mar 2008 11:12:40 -0000 1.152
+++ session.c 29 Mar 2008 17:18:58 -0000 1.153
@@ -548,7 +548,7 @@
l = 0;
l += Esnprintf(s + l, sizeof(s) - l, "exec %s -f", Mode.wm.exec_name);
if (Mode.wm.single)
- l += Esnprintf(s + l, sizeof(s) - l, " -s %d", VRoot.scr);
+ l += Esnprintf(s + l, sizeof(s) - l, " -s %d", Dpy.screen);
else if (!Mode.wm.master)
l +=
Esnprintf(s + l, sizeof(s) - l, " -m %d", Mode.wm.master_screen);
===================================================================
RCS file: /cvs/e/e16/e/src/setup.c,v
retrieving revision 1.192
retrieving revision 1.193
diff -u -3 -r1.192 -r1.193
--- setup.c 29 Mar 2008 10:48:45 -0000 1.192
+++ setup.c 29 Mar 2008 17:18:58 -0000 1.193
@@ -52,7 +52,7 @@
dstr = ":0";
/* Open a connection to the diplay nominated by the DISPLAY variable */
- err = EDisplayOpen(dstr, VRoot.scr);
+ err = EDisplayOpen(dstr, Dpy.screen);
if (err)
{
Alert(_("Enlightenment cannot connect to the display nominated by\n"
@@ -71,24 +71,23 @@
if (getenv("ESYNCHRONIZE"))
XSynchronize(disp, True);
- VRoot.scr = DefaultScreen(disp);
- Mode.display.screens = ScreenCount(disp);
+ Dpy.screens = ScreenCount(disp);
+ Dpy.screen = DefaultScreen(disp);
if (Mode.wm.master ||
- Mode.wm.master_screen < 0 ||
- Mode.wm.master_screen >= Mode.display.screens)
- Mode.wm.master_screen = VRoot.scr;
+ Mode.wm.master_screen < 0 || Mode.wm.master_screen >= Dpy.screens)
+ Mode.wm.master_screen = Dpy.screen;
/* Start up on multiple heads, if appropriate */
- if (Mode.display.screens > 1 && !Mode.wm.single && !Mode.wm.restart)
+ if (Dpy.screens > 1 && !Mode.wm.single && !Mode.wm.restart)
{
int i;
- for (i = 0; i < Mode.display.screens; i++)
+ for (i = 0; i < Dpy.screens; i++)
{
pid_t pid;
- if (i == VRoot.scr)
+ if (i == Dpy.screen)
continue;
pid = fork();
@@ -106,7 +105,7 @@
EDisplayDisconnect();
Mode.wm.master = 0;
Mode.wm.pid = getpid();
- VRoot.scr = i;
+ Dpy.screen = i;
ExtInitWinSet(None);
#ifdef SIGSTOP
kill(getpid(), SIGSTOP);
@@ -118,8 +117,11 @@
}
}
- Mode.display.name = Estrdup(DisplayString(disp));
- Esetenv("DISPLAY", Mode.display.name);
+ Dpy.name = Estrdup(DisplayString(disp));
+ Esetenv("DISPLAY", Dpy.name);
+
+ Dpy.pixel_black = BlackPixel(disp, Dpy.screen);
+ Dpy.pixel_white = WhitePixel(disp, Dpy.screen);
EDisplaySetErrorHandlers(HandleXIOError);
@@ -144,12 +146,12 @@
EventsInit();
/* select all the root window events to start managing */
- Mode.events.last_error_code = 0;
+ Dpy.last_error_code = 0;
mask =
StructureNotifyMask | SubstructureNotifyMask | SubstructureRedirectMask;
ESelectInput(VROOT, mask);
ESync(0);
- if (Mode.events.last_error_code)
+ if (Dpy.last_error_code)
{
AlertX(_("Another Window Manager is already running"),
_("OK"), NULL, NULL,
===================================================================
RCS file: /cvs/e/e16/e/src/systray.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- systray.c 24 Mar 2008 11:12:40 -0000 1.10
+++ systray.c 29 Mar 2008 17:18:58 -0000 1.11
@@ -421,7 +421,7 @@
char buf[32];
Win win;
- Esnprintf(buf, sizeof(buf), "_NET_SYSTEM_TRAY_S%d", VRoot.scr);
+ Esnprintf(buf, sizeof(buf), "_NET_SYSTEM_TRAY_S%d", Dpy.screen);
E_XA__XEMBED = XInternAtom(disp, "_XEMBED", False);
E_XA__XEMBED_INFO = XInternAtom(disp, "_XEMBED_INFO", False);
===================================================================
RCS file: /cvs/e/e16/e/src/text_pango.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- text_pango.c 23 Mar 2008 11:54:24 -0000 1.3
+++ text_pango.c 29 Mar 2008 17:18:58 -0000 1.4
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007 Kim Woelders
+ * Copyright (C) 2007-2008 Kim Woelders
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
@@ -53,7 +53,7 @@
PangoFontMask flags;
if (!_pango_ctx)
- _pango_ctx = pango_xft_get_context(disp, VRoot.scr);
+ _pango_ctx = pango_xft_get_context(disp, Dpy.screen);
if (!_pango_ctx)
return -1;
===================================================================
RCS file: /cvs/e/e16/e/src/text_xft.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- text_xft.c 23 Mar 2008 11:54:24 -0000 1.4
+++ text_xft.c 29 Mar 2008 17:18:58 -0000 1.5
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2006-2007 Kim Woelders
+ * Copyright (C) 2006-2008 Kim Woelders
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
@@ -48,9 +48,9 @@
FontCtxXft *fdc;
if (name[0] == '-')
- font = XftFontOpenXlfd(disp, VRoot.scr, name);
+ font = XftFontOpenXlfd(disp, Dpy.screen, name);
else
- font = XftFontOpenName(disp, VRoot.scr, name);
+ font = XftFontOpenName(disp, Dpy.screen, name);
if (!font)
return -1;
===================================================================
RCS file: /cvs/e/e16/e/src/x.c,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -3 -r1.172 -r1.173
--- x.c 29 Mar 2008 10:48:45 -0000 1.172
+++ x.c 29 Mar 2008 17:18:58 -0000 1.173
@@ -40,7 +40,7 @@
#define DEBUG_XWIN 0
#define DEBUG_PIXMAP 0
-Display *disp = NULL;
+EDisplay Dpy;
#if USE_COMPOSITE
static Visual *argb_visual = NULL;
@@ -110,6 +110,12 @@
}
#endif
+void
+EXInit(void)
+{
+ memset(&Dpy, 0, sizeof(Dpy));
+}
+
static Win
EXidCreate(void)
{
@@ -1753,7 +1759,7 @@
ev->request_code, ev->minor_code, buf);
}
- Mode.events.last_error_code = ev->error_code;
+ Dpy.last_error_code = ev->error_code;
return 0;
}
@@ -1789,34 +1795,34 @@
void
EGrabServer(void)
{
- if (Mode.grabs.server_grabbed <= 0)
+ if (Dpy.server_grabbed <= 0)
{
if (EDebug(EDBUG_TYPE_GRABS))
Eprintf("EGrabServer\n");
XGrabServer(disp);
}
- Mode.grabs.server_grabbed++;
+ Dpy.server_grabbed++;
}
void
EUngrabServer(void)
{
- if (Mode.grabs.server_grabbed == 1)
+ if (Dpy.server_grabbed == 1)
{
XUngrabServer(disp);
XFlush(disp);
if (EDebug(EDBUG_TYPE_GRABS))
Eprintf("EUngrabServer\n");
}
- Mode.grabs.server_grabbed--;
- if (Mode.grabs.server_grabbed < 0)
- Mode.grabs.server_grabbed = 0;
+ Dpy.server_grabbed--;
+ if (Dpy.server_grabbed < 0)
+ Dpy.server_grabbed = 0;
}
int
EServerIsGrabbed(void)
{
- return Mode.grabs.server_grabbed;
+ return Dpy.server_grabbed;
}
void
@@ -1846,7 +1852,7 @@
int i, num;
Visual *vis;
- xvit.screen = VRoot.scr;
+ xvit.screen = Dpy.screen;
xvit.depth = 32;
#if __cplusplus
xvit.c_class = TrueColor;
===================================================================
RCS file: /cvs/e/e16/e/src/xwin.h,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -3 -r1.41 -r1.42
--- xwin.h 29 Mar 2008 10:48:45 -0000 1.41
+++ xwin.h 29 Mar 2008 17:18:58 -0000 1.42
@@ -28,7 +28,31 @@
#include <X11/extensions/shape.h>
#include "util.h"
-__EXPORT__ extern Display *disp;
+typedef struct _xwin *Win;
+
+typedef struct {
+ Display *disp;
+ char *name;
+ int screens;
+ int screen;
+ unsigned int pixel_black;
+ unsigned int pixel_white;
+
+ Win rroot; /* Real root window */
+ Win vroot; /* Virtual root window */
+
+ int server_grabbed;
+
+ unsigned char last_error_code;
+} EDisplay;
+
+__EXPORT__ extern EDisplay Dpy;
+
+#define disp Dpy.disp
+#define RROOT Dpy.rroot
+#define VROOT Dpy.vroot
+
+void EXInit(void);
int EDisplayOpen(const char *dstr, int scr);
void EDisplayClose(void);
@@ -58,7 +82,6 @@
Time EGetTimestamp(void);
-typedef struct _xwin *Win;
typedef void (EventCallbackFunc) (Win win, XEvent * ev, void *prm);
#define NoWin ((Win)0)
===================================================================
RCS file: /cvs/e/e16/e/src/zoom.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -3 -r1.44 -r1.45
--- zoom.c 24 Mar 2008 11:12:40 -0000 1.44
+++ zoom.c 29 Mar 2008 17:18:58 -0000 1.45
@@ -44,8 +44,8 @@
static void
FillStdVidModes(void)
{
- XF86VidModeGetAllModeLines(disp, VRoot.scr, &std_vid_modes_num,
- &std_vid_modes);
+ XF86VidModeGetAllModeLines(disp, Dpy.screen,
+ &std_vid_modes_num, &std_vid_modes);
}
static XF86VidModeModeInfo *
@@ -93,34 +93,37 @@
{
static int vp_x, vp_y;
XF86VidModeModeInfo *mode = NULL;
+ int scr;
+
+ scr = Dpy.screen;
if (inout)
{
XF86VidModeModeLine curmode;
int dotclock;
- if (!XF86VidModeGetModeLine(disp, VRoot.scr, &dotclock, &curmode))
+ if (!XF86VidModeGetModeLine(disp, scr, &dotclock, &curmode))
return mode;
- XF86VidModeGetViewPort(disp, VRoot.scr, &vp_x, &vp_y);
+ XF86VidModeGetViewPort(disp, scr, &vp_x, &vp_y);
mode = FindMode(w, h);
if (mode)
{
- XF86VidModeLockModeSwitch(disp, VRoot.scr, 0);
+ XF86VidModeLockModeSwitch(disp, scr, 0);
std_vid_mode_cur = GetModeIndex(dotclock, &curmode);
- XF86VidModeSwitchToMode(disp, VRoot.scr, mode);
- XF86VidModeSetViewPort(disp, VRoot.scr, x, y);
- XF86VidModeLockModeSwitch(disp, VRoot.scr, 1);
+ XF86VidModeSwitchToMode(disp, scr, mode);
+ XF86VidModeSetViewPort(disp, scr, x, y);
+ XF86VidModeLockModeSwitch(disp, scr, 1);
}
}
else
{
mode = std_vid_modes[std_vid_mode_cur];
- XF86VidModeLockModeSwitch(disp, VRoot.scr, 0);
- XF86VidModeSwitchToMode(disp, VRoot.scr, mode);
- XF86VidModeSetViewPort(disp, VRoot.scr, vp_x, vp_y);
+ XF86VidModeLockModeSwitch(disp, scr, 0);
+ XF86VidModeSwitchToMode(disp, scr, mode);
+ XF86VidModeSetViewPort(disp, scr, vp_x, vp_y);
#if 0 /* No, don't lock or we can't switch resolution
*/
- XF86VidModeLockModeSwitch(disp, VRoot.scr, 1);
+ XF86VidModeLockModeSwitch(disp, scr, 1);
#endif
}
return mode;
@@ -187,7 +190,7 @@
return 0;
win = ECreateWindow(VROOT, x, y, w, h, 0);
- ESetWindowBackground(win, BlackPixel(disp, VRoot.scr));
+ ESetWindowBackground(win, Dpy.pixel_black);
ERaiseWindow(win);
EMapWindow(win);
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs