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 enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs