Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
        E.h ecompmgr.c iconify.c x.c 


Log Message:
Fix systray configuration dialog.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.365
retrieving revision 1.366
diff -u -3 -r1.365 -r1.366
--- E.h 12 Feb 2005 16:16:28 -0000      1.365
+++ E.h 12 Feb 2005 23:47:58 -0000      1.366
@@ -2195,6 +2195,7 @@
 Window              ECreateFocusWindow(Window parent, int x, int y, int w,
                                       int h);
 void                EWindowSync(Window win);
+void                ESelectInputAdd(Window win, long mask);
 
 void                EMoveWindow(Window win, int x, int y);
 void                EResizeWindow(Window win, int w, int h);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/ecompmgr.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- ecompmgr.c  6 Feb 2005 12:54:09 -0000       1.9
+++ ecompmgr.c  12 Feb 2005 23:48:00 -0000      1.10
@@ -190,16 +190,6 @@
 static void         ECompMgrHandleRootEvent(XEvent * ev, void *prm);
 static void         ECompMgrHandleWindowEvent(XEvent * ev, void *prm);
 
-static void
-ESelectInputAdd(Display * dpy, Window win, long mask)
-{
-   XWindowAttributes   xwa;
-
-   XGetWindowAttributes(dpy, win, &xwa);
-   xwa.your_event_mask |= mask;
-   XSelectInput(dpy, win, xwa.your_event_mask);
-}
-
 /*
  * Regions
  */
@@ -1834,10 +1824,9 @@
      {
      case ECM_MODE_ROOT:
        XCompositeRedirectSubwindows(disp, VRoot.win, CompositeRedirectManual);
-       ESelectInputAdd(disp, VRoot.win,
+       ESelectInputAdd(VRoot.win,
                        SubstructureNotifyMask |
-                       ExposureMask | StructureNotifyMask |
-                       PropertyChangeMask);
+                       ExposureMask | StructureNotifyMask);
        break;
      case ECM_MODE_AUTO:
        XCompositeRedirectSubwindows(disp, VRoot.win,
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/iconify.c,v
retrieving revision 1.130
retrieving revision 1.131
diff -u -3 -r1.130 -r1.131
--- iconify.c   12 Feb 2005 16:16:29 -0000      1.130
+++ iconify.c   12 Feb 2005 23:48:00 -0000      1.131
@@ -123,6 +123,9 @@
 
 #define IB_ANIM_TIME 0.25
 
+#define IB_TYPE_ICONBOX     0
+#define IB_TYPE_SYSTRAY     1
+
 static void
 IB_Animate(char iconify, EWin * from, EWin * to)
 {
@@ -298,13 +301,13 @@
 
    ib = Emalloc(sizeof(Iconbox));
    ib->name = Estrdup(name);
-   ib->type = (!strncmp(name, "_ST_", 4)) ? 1 : 0;     /* Type 1 is systray */
+   ib->type = (!strncmp(name, "_ST_", 4)) ? IB_TYPE_SYSTRAY : IB_TYPE_ICONBOX;
    ib->orientation = 0;
    ib->scrollbar_side = 1;
    ib->arrow_side = 1;
    ib->nobg = 0;
    ib->shownames = 1;
-   ib->iconsize = (ib->type == 0) ? 48 : 24;
+   ib->iconsize = (ib->type == IB_TYPE_ICONBOX) ? 48 : 24;
    ib->icon_mode = 2;
    ib->auto_resize = 0;
    ib->draw_icon_base = 0;
@@ -379,7 +382,7 @@
 
    AddItem(ib, ib->name, 0, LIST_TYPE_ICONBOX);
 
-   if (ib->type == 1)
+   if (ib->type == IB_TYPE_SYSTRAY)
       SystrayInit(ib, ib->icon_win, VRoot.scr);
 
    return ib;
@@ -399,11 +402,11 @@
      {
        switch (ib->type)
          {
-         case 0:
+         case IB_TYPE_ICONBOX:
             if (!exiting)
                EwinDeIconify(ib->objs[i].ewin);
             break;
-         case 1:
+         case IB_TYPE_SYSTRAY:
             IconboxObjSwinFree(ib, ib->objs[i].swin);
             break;
          }
@@ -831,7 +834,7 @@
        for (i = 0; i < num; i++)
          {
             ib = lst[i];
-            if (ib->type != 0)
+            if (ib->type != IB_TYPE_ICONBOX)
                continue;
 
             if (IconboxObjEwinFind(ib, ewin) < 0)
@@ -850,7 +853,7 @@
        for (i = 0; i < num; i++)
          {
             ib = lst[i];
-            if (ib->ewin == NULL || ib->type != 0)
+            if (ib->ewin == NULL || ib->type != IB_TYPE_ICONBOX)
                continue;
 
             dx = (EoGetX(ib->ewin) + (EoGetW(ib->ewin) / 2)) -
@@ -1032,7 +1035,7 @@
      {
        w = 8;
        h = 8;
-       if (ib->type == 0)
+       if (ib->type == IB_TYPE_ICONBOX)
          {
             EWin               *ewin;
 
@@ -1107,7 +1110,7 @@
 
        w = 8;
        h = 8;
-       if (ib->type == 0)
+       if (ib->type == IB_TYPE_ICONBOX)
          {
             EWin               *ewin;
 
@@ -1879,7 +1882,7 @@
        w = 8;
        h = 8;
 
-       if (ib->type == 0)
+       if (ib->type == IB_TYPE_ICONBOX)
          {
             if (ib->draw_icon_base)
               {
@@ -2001,20 +2004,38 @@
 
    if (p_menu)
       MenuDestroy(p_menu);
-   p_menu = MenuCreate("__IBOX_MENU", _("Iconbox Options"), NULL, NULL);
 
-   Esnprintf(s, sizeof(s), "ibox cfg %s", ib->name);
-   mi = MenuItemCreate(_("This Iconbox Settings..."), NULL, s, NULL);
-   MenuAddItem(p_menu, mi);
+   if (ib->type == IB_TYPE_ICONBOX)
+     {
+       p_menu = MenuCreate("__IBOX_MENU", _("Iconbox Options"), NULL, NULL);
+
+       Esnprintf(s, sizeof(s), "ibox cfg %s", ib->name);
+       mi = MenuItemCreate(_("This Iconbox Settings..."), NULL, s, NULL);
+       MenuAddItem(p_menu, mi);
+
+       Esnprintf(s, sizeof(s), "wop %#lx cl", ib->win);
+       mi = MenuItemCreate(_("Close Iconbox"), NULL, s, NULL);
+       MenuAddItem(p_menu, mi);
 
-   Esnprintf(s, sizeof(s), "wop %#lx cl", ib->win);
-   mi = MenuItemCreate(_("Close Iconbox"), NULL, s, NULL);
-   MenuAddItem(p_menu, mi);
+       mi = MenuItemCreate(_("Create New Iconbox"), NULL, "ibox new", NULL);
+       MenuAddItem(p_menu, mi);
+
+       EFunc("menus show __IBOX_MENU");
+     }
+   else
+     {
+       p_menu = MenuCreate("__TRAY_MENU", _("Systray Options"), NULL, NULL);
 
-   mi = MenuItemCreate(_("Create New Iconbox"), NULL, "ibox new", NULL);
-   MenuAddItem(p_menu, mi);
+       Esnprintf(s, sizeof(s), "ibox cfg %s", ib->name);
+       mi = MenuItemCreate(_("Systray Settings..."), NULL, s, NULL);
+       MenuAddItem(p_menu, mi);
 
-   EFunc("menus show __IBOX_MENU");
+       Esnprintf(s, sizeof(s), "wop %#lx cl", ib->win);
+       mi = MenuItemCreate(_("Close Systray"), NULL, s, NULL);
+       MenuAddItem(p_menu, mi);
+
+       EFunc("menus show __TRAY_MENU");
+     }
 }
 
 static void
@@ -2448,7 +2469,10 @@
    tmp_ib_name = Estrdup(ib->name);
 
    d = DialogCreate("CONFIGURE_ICONBOX");
-   DialogSetTitle(d, _("Iconbox Settings"));
+   if (ib->type == IB_TYPE_ICONBOX)
+      DialogSetTitle(d, _("Iconbox Settings"));
+   else
+      DialogSetTitle(d, _("Systray Settings"));
 
    table = DialogInitItem(d);
    DialogItemTableSetOptions(table, 1, 0, 0, 0);
@@ -2484,16 +2508,19 @@
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetPadding(di, 2, 2, 2, 2);
    DialogItemSetFill(di, 1, 0);
-   DialogItemCheckButtonSetText(di, _("Hide border around inner Iconbox"));
+   DialogItemCheckButtonSetText(di, _("Hide inner border"));
    DialogItemCheckButtonSetState(di, tmp_ib_cover_hide);
    DialogItemCheckButtonSetPtr(di, &tmp_ib_cover_hide);
 
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemCheckButtonSetText(di, _("Show icon names"));
-   DialogItemCheckButtonSetState(di, tmp_ib_shownames);
-   DialogItemCheckButtonSetPtr(di, &tmp_ib_shownames);
+   if (ib->type == IB_TYPE_ICONBOX)
+     {
+       di = DialogAddItem(table, DITEM_CHECKBUTTON);
+       DialogItemSetPadding(di, 2, 2, 2, 2);
+       DialogItemSetFill(di, 1, 0);
+       DialogItemCheckButtonSetText(di, _("Show icon names"));
+       DialogItemCheckButtonSetState(di, tmp_ib_shownames);
+       DialogItemCheckButtonSetPtr(di, &tmp_ib_shownames);
+     }
 
    di = DialogAddItem(table, DITEM_CHECKBUTTON);
    DialogItemSetPadding(di, 2, 2, 2, 2);
@@ -2516,13 +2543,17 @@
    DialogItemCheckButtonSetState(di, tmp_ib_auto_resize);
    DialogItemCheckButtonSetPtr(di, &tmp_ib_auto_resize);
 
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemCheckButtonSetText(di,
-                               _("Animate when iconifying to this Iconbox"));
-   DialogItemCheckButtonSetState(di, tmp_ib_animate);
-   DialogItemCheckButtonSetPtr(di, &tmp_ib_animate);
+   if (ib->type == IB_TYPE_ICONBOX)
+     {
+       di = DialogAddItem(table, DITEM_CHECKBUTTON);
+       DialogItemSetPadding(di, 2, 2, 2, 2);
+       DialogItemSetFill(di, 1, 0);
+       DialogItemCheckButtonSetText(di,
+                                    _
+                                    ("Animate when iconifying to this 
Iconbox"));
+       DialogItemCheckButtonSetState(di, tmp_ib_animate);
+       DialogItemCheckButtonSetPtr(di, &tmp_ib_animate);
+     }
 
    di = DialogAddItem(table, DITEM_TEXT);
    DialogItemSetPadding(di, 2, 2, 2, 2);
@@ -2541,45 +2572,49 @@
    DialogItemSliderSetVal(di, tmp_ib_autoresize_anchor);
    DialogItemSliderSetValPtr(di, &tmp_ib_autoresize_anchor);
 
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSeparatorSetOrientation(di, 0);
+   if (ib->type == IB_TYPE_ICONBOX)
+     {
+       di = DialogAddItem(table, DITEM_SEPARATOR);
+       DialogItemSetPadding(di, 2, 2, 2, 2);
+       DialogItemSetFill(di, 1, 0);
+       DialogItemSeparatorSetOrientation(di, 0);
 
-   di = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 0, 0);
-   DialogItemSetAlign(di, 0, 0);
-   DialogItemTextSetText(di,
-                        _
-                        ("Icon image display policy (if one operation fails, 
try the next):"));
+       di = DialogAddItem(table, DITEM_TEXT);
+       DialogItemSetPadding(di, 2, 2, 2, 2);
+       DialogItemSetFill(di, 0, 0);
+       DialogItemSetAlign(di, 0, 0);
+       DialogItemTextSetText(di,
+                             _
+                             ("Icon image display policy (if one operation 
fails, try the next):"));
 
-   radio4 = di = DialogAddItem(table, DITEM_RADIOBUTTON);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemRadioButtonSetText(di,
-                               _
-                               ("Snapshot Windows, Use application icon, Use 
Enlightenment Icon"));
-   DialogItemRadioButtonSetFirst(di, radio4);
-   DialogItemRadioButtonGroupSetVal(di, 0);
+       radio4 = di = DialogAddItem(table, DITEM_RADIOBUTTON);
+       DialogItemSetPadding(di, 2, 2, 2, 2);
+       DialogItemSetFill(di, 1, 0);
+       DialogItemRadioButtonSetText(di,
+                                    _
+                                    ("Snapshot Windows, Use application icon, 
Use Enlightenment Icon"));
+       DialogItemRadioButtonSetFirst(di, radio4);
+       DialogItemRadioButtonGroupSetVal(di, 0);
 
-   di = DialogAddItem(table, DITEM_RADIOBUTTON);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemRadioButtonSetText(di,
-                               _
-                               ("Use application icon, Use Enlightenment Icon, 
Snapshot Window"));
-   DialogItemRadioButtonSetFirst(di, radio4);
-   DialogItemRadioButtonGroupSetVal(di, 1);
+       di = DialogAddItem(table, DITEM_RADIOBUTTON);
+       DialogItemSetPadding(di, 2, 2, 2, 2);
+       DialogItemSetFill(di, 1, 0);
+       DialogItemRadioButtonSetText(di,
+                                    _
+                                    ("Use application icon, Use Enlightenment 
Icon, Snapshot Window"));
+       DialogItemRadioButtonSetFirst(di, radio4);
+       DialogItemRadioButtonGroupSetVal(di, 1);
 
-   di = DialogAddItem(table, DITEM_RADIOBUTTON);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemRadioButtonSetText(di,
-                               _("Use Enlightenment Icon, Snapshot Window"));
-   DialogItemRadioButtonSetFirst(di, radio4);
-   DialogItemRadioButtonGroupSetVal(di, 2);
-   DialogItemRadioButtonGroupSetValPtr(radio4, &tmp_ib_mode);
+       di = DialogAddItem(table, DITEM_RADIOBUTTON);
+       DialogItemSetPadding(di, 2, 2, 2, 2);
+       DialogItemSetFill(di, 1, 0);
+       DialogItemRadioButtonSetText(di,
+                                    _
+                                    ("Use Enlightenment Icon, Snapshot 
Window"));
+       DialogItemRadioButtonSetFirst(di, radio4);
+       DialogItemRadioButtonGroupSetVal(di, 2);
+       DialogItemRadioButtonGroupSetValPtr(radio4, &tmp_ib_mode);
+     }
 
    di = DialogAddItem(table, DITEM_SEPARATOR);
    DialogItemSetPadding(di, 2, 2, 2, 2);
@@ -3284,8 +3319,8 @@
    if (EventDebug(EDBUG_TYPE_ICONBOX))
       Eprintf("Window %#lx is now system tray\n", win);
 
-   ESelectInput(win, SubstructureRedirectMask | ResizeRedirectMask |
-               SubstructureNotifyMask);
+   ESelectInputAdd(win, SubstructureRedirectMask | ResizeRedirectMask |
+                  SubstructureNotifyMask);
    EventCallbackRegister(win, 0, SystrayEvent, ib);
 
    ecore_x_client_message32_send(VRoot.win, E_XA_MANAGER, StructureNotifyMask,
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/x.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -3 -r1.77 -r1.78
--- x.c 2 Feb 2005 17:12:07 -0000       1.77
+++ x.c 12 Feb 2005 23:48:02 -0000      1.78
@@ -860,6 +860,16 @@
 }
 
 void
+ESelectInputAdd(Window win, long mask)
+{
+   XWindowAttributes   xwa;
+
+   XGetWindowAttributes(disp, win, &xwa);
+   xwa.your_event_mask |= mask;
+   XSelectInput(disp, win, xwa.your_event_mask);
+}
+
+void
 ESetColor(XColor * pxc, int r, int g, int b)
 {
    pxc->red = (r << 8) | r;




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to