Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: Tag: branch-exp E.h ewmh.c hints.c ipc.c Log Message: Merge. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.314.2.24 retrieving revision 1.314.2.25 diff -u -3 -r1.314.2.24 -r1.314.2.25 --- E.h 22 Aug 2004 20:03:47 -0000 1.314.2.24 +++ E.h 23 Aug 2004 21:14:42 -0000 1.314.2.25 @@ -862,6 +862,7 @@ struct { unsigned vroot:1; /* Virtual root window */ + unsigned int opacity; } props; struct { @@ -1833,6 +1834,7 @@ void EWMH_SetWindowName(Window win, const char *name); void EWMH_SetWindowDesktop(const EWin * ewin); void EWMH_SetWindowState(const EWin * ewin); +void EWMH_SetWindowOpacity(EWin * ewin, unsigned int opacity); void EWMH_GetWindowName(EWin * ewin); void EWMH_GetWindowIconName(EWin * ewin); void EWMH_GetWindowDesktop(EWin * ewin); @@ -2007,6 +2009,7 @@ void HintsSetWindowDesktop(EWin * ewin); void HintsSetWindowArea(EWin * ewin); void HintsSetWindowState(EWin * ewin); +void HintsSetWindowOpacity(EWin * ewin, unsigned int opacity); void HintsSetWindowHints(EWin * ewin); void HintsSetWindowBorder(EWin * ewin); void HintsGetWindowHints(EWin * ewin); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ewmh.c,v retrieving revision 1.55.2.3 retrieving revision 1.55.2.4 diff -u -3 -r1.55.2.3 -r1.55.2.4 --- ewmh.c 17 Aug 2004 22:47:07 -0000 1.55.2.3 +++ ewmh.c 23 Aug 2004 21:14:42 -0000 1.55.2.4 @@ -131,6 +131,8 @@ Atom _NET_WM_STATE_ABOVE; Atom _NET_WM_STATE_BELOW; +Atom _NET_WM_WINDOW_OPACITY; + /* Window state property change actions */ #define _NET_WM_STATE_REMOVE 0 #define _NET_WM_STATE_ADD 1 @@ -244,6 +246,8 @@ _ATOM_INIT(_NET_WM_STATE_ABOVE); _ATOM_INIT(_NET_WM_STATE_BELOW); + _ATOM_INIT(_NET_WM_WINDOW_OPACITY); + _ATOM_INIT(_NET_WM_STRUT); _ATOM_SET_ATOM(_NET_SUPPORTED, VRoot.win, atom_list, atom_count); @@ -525,6 +529,15 @@ EDBUG_RETURN_; } +void +EWMH_SetWindowOpacity(EWin * ewin, unsigned int opacity) +{ + CARD32 val = opacity; + + ewin->props.opacity = opacity; + _ATOM_SET_CARD32(_NET_WM_WINDOW_OPACITY, ewin->win, &val, 1); +} + /* * Functions that set E-window internals from X11-properties */ @@ -735,6 +748,23 @@ ewin->props.vroot = 1; Efree(val); } +} + +static void +EWMH_GetWindowOpacity(EWin * ewin) +{ + CARD32 *val; + int size; + + EDBUG(6, "EWMH_GetWindowOpacity"); + + val = AtomGet(ewin->client.win, _NET_WM_WINDOW_OPACITY, XA_CARDINAL, &size); + if (val) + { + ewin->props.opacity = val[0]; + EWMH_SetWindowOpacity(ewin, val[0]); + Efree(val); + } EDBUG_RETURN_; } @@ -768,6 +798,7 @@ { EDBUG(6, "EWMH_GetWindowHints"); EWMH_GetWindowMisc(ewin); + EWMH_GetWindowOpacity(ewin); EWMH_GetWindowName(ewin); EWMH_GetWindowIconName(ewin); EWMH_GetWindowDesktop(ewin); @@ -1010,6 +1041,8 @@ EWMH_GetWindowIconName(ewin); else if (atom_change == _NET_WM_STRUT) EWMH_GetWindowStrut(ewin); + else if (atom_change == _NET_WM_WINDOW_OPACITY) + EWMH_GetWindowOpacity(ewin); EDBUG_RETURN_; } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/hints.c,v retrieving revision 1.25.2.1 retrieving revision 1.25.2.2 diff -u -3 -r1.25.2.1 -r1.25.2.2 --- hints.c 17 Aug 2004 22:47:07 -0000 1.25.2.1 +++ hints.c 23 Aug 2004 21:14:43 -0000 1.25.2.2 @@ -223,6 +223,16 @@ } void +HintsSetWindowOpacity(EWin * ewin, unsigned int opacity) +{ + EDBUG(6, "HintsSetWindowOpacity"); +#if ENABLE_EWMH + EWMH_SetWindowOpacity(ewin, opacity); +#endif + EDBUG_RETURN_; +} + +void HintsSetWindowHints(EWin * ewin) { EDBUG(6, "HintsSetWindowHints"); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ipc.c,v retrieving revision 1.174.2.13 retrieving revision 1.174.2.14 diff -u -3 -r1.174.2.13 -r1.174.2.14 --- ipc.c 22 Aug 2004 20:04:05 -0000 1.174.2.13 +++ ipc.c 23 Aug 2004 21:14:43 -0000 1.174.2.14 @@ -2426,7 +2426,7 @@ char windowid[FILEPATH_LEN_MAX]; char operation[FILEPATH_LEN_MAX]; char param1[FILEPATH_LEN_MAX]; - unsigned int win; + unsigned int win, val; if (params == NULL) { @@ -2590,6 +2590,21 @@ RememberImportantInfoForEwin(ewin); } } + else if (!strncmp(operation, "opacity", 2)) + { + if (!strcmp(param1, "?")) + { + Esnprintf(buf, sizeof(buf), "opacity: %u", + ewin->props.opacity >> 24); + } + else + { + val = 0xff; + sscanf(param1, "%i", &val); + val = (val << 24) | (val << 16) | (val << 8) | val; + HintsSetWindowOpacity(ewin, val); + } + } else if (!strncmp(operation, "border", 2)) { Border *b; ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs