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

Reply via email to