From: <enl...@li...> - 2003-04-22 02:11:29
|
Enlightenment CVS committal Author : mej Project : e16 Module : e Dir : e16/e/src Modified Files: E.h Makefile.am areas.c conf.h config.c cursors.c desktops.c ecvs gnome.c timestamp.h Log Message: Mon Apr 21 22:07:42 EDT 2003 (KainX) Patch from Christian Hammond <ch...@po...> for native cursor support. Patch from Kim Woelders <ki...@wo...> for further hint work. Also fixed support for KDE hints. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.106 retrieving revision 1.107 diff -u -3 -r1.106 -r1.107 --- E.h 28 Mar 2003 05:16:00 -0000 1.106 +++ E.h 22 Apr 2003 02:10:55 -0000 1.107 @@ -2672,8 +2672,8 @@ int findLocalizedFile(char *fname); /* cursors.c functions */ -ECursor *CreateECursor(char *name, char *image, ImlibColor * fg, - ImlibColor * bg); +ECursor *CreateECursor(char *name, char *image, int native_id, + ImlibColor * fg, ImlibColor * bg); void ApplyECursor(Window win, ECursor * ec); void FreeECursor(ECursor * ec); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Makefile.am,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- Makefile.am 27 Mar 2003 01:38:03 -0000 1.9 +++ Makefile.am 22 Apr 2003 02:10:56 -0000 1.10 @@ -1,6 +1,6 @@ SUBDIRS = themes -EXTRA_DIST = README ChangeLog TODO +EXTRA_DIST = README ChangeLog TODO ewmh.c gnome.c kde.c if FSSTD bindir=@bindir@ @@ -15,6 +15,15 @@ bin_PROGRAMS = enlightenment +if ENABLE_EWMH +SRCS_EWMH = ewmh.c +endif +if ENABLE_GNOME +SRCS_GNOME = gnome.c +endif +if ENABLE_KDE +SRCS_KDE = kde.c +endif enlightenment_SOURCES = \ E.h \ timestamp.h \ @@ -91,15 +100,7 @@ x.c \ zoom.c \ $(SRCS_EWMH) $(SRCS_GNOME) $(SRCS_KDE) -if ENABLE_EWMH -SRCS_EWMH = ewmh.c -endif -if ENABLE_GNOME -SRCS_GNOME = gnome.c -endif -if ENABLE_KDE -SRCS_KDE = kde.c -endif + LDADD = \ @INTLLIBS@ \ =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/areas.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -3 -r1.48 -r1.49 --- areas.c 31 Mar 2003 17:31:16 -0000 1.48 +++ areas.c 22 Apr 2003 02:10:56 -0000 1.49 @@ -514,6 +514,7 @@ ShowEdgeWindows(); /* update our pager */ UpdatePagerSel(); + RedrawPagersForDesktop(desks.current, 3); ForceUpdatePagersForDesktop(desks.current); EDBUG_RETURN_; } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/conf.h,v retrieving revision 1.25 retrieving revision 1.26 diff -u -3 -r1.25 -r1.26 --- conf.h 28 Jul 2000 17:23:34 -0000 1.25 +++ conf.h 22 Apr 2003 02:10:56 -0000 1.26 @@ -319,6 +319,7 @@ #define CURS_BG_RGB 801 #define CURS_FG_RGB 802 #define XBM_FILE 803 +#define NATIVE_ID 804 #define CONFIG_VERSION 1001 #define CONFIG_INVALID 9999 =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/config.c,v retrieving revision 1.56 retrieving revision 1.57 diff -u -3 -r1.56 -r1.57 --- config.c 28 Mar 2003 05:16:07 -0000 1.56 +++ config.c 22 Apr 2003 02:10:56 -0000 1.57 @@ -1908,6 +1908,7 @@ char s2[FILEPATH_LEN_MAX]; int ii1; char *file = NULL, *name = NULL; + int native_id = -1; ECursor *ec = NULL; int fields; @@ -1941,7 +1942,7 @@ switch (ii1) { case CONFIG_CLOSE: - ec = CreateECursor(name, file, &icl, &icl2); + ec = CreateECursor(name, file, native_id, &icl, &icl2); if (ec) AddItem(ec, ec->name, 0, LIST_TYPE_ECURSOR); if (name) @@ -1963,6 +1964,9 @@ break; case XBM_FILE: file = duplicate(s2); + break; + case NATIVE_ID: + sscanf(s, "%4000s %d", s2, &native_id); break; default: break; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/cursors.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- cursors.c 28 Mar 2003 05:16:14 -0000 1.8 +++ cursors.c 22 Apr 2003 02:10:56 -0000 1.9 @@ -23,7 +23,8 @@ #include "E.h" ECursor * -CreateECursor(char *name, char *image, ImlibColor * fg, ImlibColor * bg) +CreateECursor(char *name, char *image, int native_id, + ImlibColor * fg, ImlibColor * bg) { Cursor curs; XColor xfg, xbg; @@ -34,46 +35,55 @@ ECursor *ec; int r, g, b; - if ((!name) || (!image)) - return NULL; - img = FindFile(image); - if (!img) + if ((!name) || (!image && native_id == -1)) return NULL; - Esnprintf(msk, sizeof(msk), "%s.mask", img); - pmap = 0; - mask = 0; - xh = 0; - yh = 0; - XReadBitmapFile(disp, root.win, msk, &w, &h, &mask, &xh, &yh); - XReadBitmapFile(disp, root.win, img, &w, &h, &pmap, &xh, &yh); - XQueryBestCursor(disp, root.win, w, h, &ww, &hh); - if ((w > ww) || (h > hh)) + if (image) { + img = FindFile(image); + if (!img) + return NULL; + + Esnprintf(msk, sizeof(msk), "%s.mask", img); + pmap = 0; + mask = 0; + xh = 0; + yh = 0; + XReadBitmapFile(disp, root.win, msk, &w, &h, &mask, &xh, &yh); + XReadBitmapFile(disp, root.win, img, &w, &h, &pmap, &xh, &yh); + XQueryBestCursor(disp, root.win, w, h, &ww, &hh); + if ((w > ww) || (h > hh)) + { + EFreePixmap(disp, pmap); + EFreePixmap(disp, mask); + Efree(img); + return NULL; + } + r = fg->r; + g = fg->g; + b = fg->b; + xfg.red = (fg->r << 8) | (fg->r); + xfg.green = (fg->g << 8) | (fg->g); + xfg.blue = (fg->b << 8) | (fg->b); + xfg.pixel = Imlib_best_color_match(id, &r, &g, &b); + r = bg->r; + g = bg->g; + b = bg->b; + xbg.red = (bg->r << 8) | (bg->r); + xbg.green = (bg->g << 8) | (bg->g); + xbg.blue = (bg->b << 8) | (bg->b); + xbg.pixel = Imlib_best_color_match(id, &r, &g, &b); + curs = 0; + curs = XCreatePixmapCursor(disp, pmap, mask, &xfg, &xbg, xh, yh); EFreePixmap(disp, pmap); EFreePixmap(disp, mask); Efree(img); - return NULL; } - r = fg->r; - g = fg->g; - b = fg->b; - xfg.red = (fg->r << 8) | (fg->r); - xfg.green = (fg->g << 8) | (fg->g); - xfg.blue = (fg->b << 8) | (fg->b); - xfg.pixel = Imlib_best_color_match(id, &r, &g, &b); - r = bg->r; - g = bg->g; - b = bg->b; - xbg.red = (bg->r << 8) | (bg->r); - xbg.green = (bg->g << 8) | (bg->g); - xbg.blue = (bg->b << 8) | (bg->b); - xbg.pixel = Imlib_best_color_match(id, &r, &g, &b); - curs = 0; - curs = XCreatePixmapCursor(disp, pmap, mask, &xfg, &xbg, xh, yh); - EFreePixmap(disp, pmap); - EFreePixmap(disp, mask); - Efree(img); + else + { + curs = XCreateFontCursor(disp, native_id); + } + ec = Emalloc(sizeof(ECursor)); ec->name = duplicate(name); ec->file = duplicate(image); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- desktops.c 28 Mar 2003 05:16:14 -0000 1.35 +++ desktops.c 22 Apr 2003 02:10:56 -0000 1.36 @@ -1489,13 +1489,7 @@ } } FocusToEWin(NULL); - BeginNewDeskFocus(); - CloneDesktop(desks.current); ICCCM_Cmap(NULL); - desks.current = num; - MoveStickyWindowsToCurrentDesk(); - - HintsSetCurrentDesktop(); if (num > 0) { @@ -1579,12 +1573,8 @@ } } } - NewDeskFocus(); - FX_DeskChange(); - RemoveClones(); RedrawPagersForDesktop(num, 3); ForceUpdatePagersForDesktop(num); - UpdatePagerSel(); HandleDrawQueue(); EDBUG_RETURN_; } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ecvs,v retrieving revision 1.15 retrieving revision 1.16 diff -u -3 -r1.15 -r1.16 --- ecvs 7 Apr 2003 00:54:55 -0000 1.15 +++ ecvs 22 Apr 2003 02:10:57 -0000 1.16 @@ -72,7 +72,7 @@ print "Creating new src/timestamp.h\n"; - open TS, ">timestamp.h"; + open TS, ">src/timestamp.h"; print TS "#define E_CHECKOUT_DATE \"\$Date\$\"\n"; close TS; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/gnome.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -3 -r1.20 -r1.21 --- gnome.c 7 Apr 2003 00:54:55 -0000 1.20 +++ gnome.c 22 Apr 2003 02:10:57 -0000 1.21 @@ -581,7 +581,6 @@ val = (CARD32) desks.current; XChangeProperty(disp, root.win, atom_set, XA_CARDINAL, 32, PropModeReplace, (unsigned char *)&val, 1); - GNOME_SetCurrentArea(); EDBUG_RETURN_; } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/timestamp.h,v retrieving revision 1.496 retrieving revision 1.497 diff -u -3 -r1.496 -r1.497 --- timestamp.h 4 Apr 2003 04:34:04 -0000 1.496 +++ timestamp.h 22 Apr 2003 02:10:57 -0000 1.497 @@ -1 +1 @@ -#define E_CHECKOUT_DATE "$Date: 2003/04/04 04:34:04 $" +#define E_CHECKOUT_DATE "$Date: 2003/04/22 02:10:57 $" |