Enlightenment CVS committal

Author  : kwo
Project : e16
Module  : e

Dir     : e16/e/src


Modified Files:
      Tag: branch-exp
        E.h Makefile.am desktops.c evhandlers.c main.c mod-misc.c 
        settings.c x.c 


Log Message:
Shuffle some desktop handling code around.
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v
retrieving revision 1.314.2.15
retrieving revision 1.314.2.16
diff -u -3 -r1.314.2.15 -r1.314.2.16
--- E.h 15 Aug 2004 10:00:18 -0000      1.314.2.15
+++ E.h 15 Aug 2004 12:16:38 -0000      1.314.2.16
@@ -1608,6 +1608,7 @@
 void                ECsrApply(int which, Window win);
 
 /* desktops.c */
+void                DesktopsInit(void);
 void                ChangeNumberOfDesktops(int quantity);
 void                ShowDesktopControls(void);
 void                ShowDesktopTabs(void);
@@ -1620,7 +1621,6 @@
 void                RefreshCurrentDesktop(void);
 void                RefreshDesktop(int num);
 void                DesktopsRefresh(void);
-void                InitDesktopBgs(void);
 void                InitDesktopControls(void);
 void                DesktopSetBg(int desk, Background * bg, int refresh);
 void                ConformEwinToDesktop(EWin * ewin);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Makefile.am,v
retrieving revision 1.43.2.5
retrieving revision 1.43.2.6
diff -u -3 -r1.43.2.5 -r1.43.2.6
--- Makefile.am 8 Aug 2004 22:31:40 -0000       1.43.2.5
+++ Makefile.am 15 Aug 2004 12:16:38 -0000      1.43.2.6
@@ -64,6 +64,7 @@
        misc.c                  \
        mod-bg.c                \
        mod-btn.c               \
+       mod-desks.c             \
        mod-ibox.c              \
        mod-menus.c             \
        mod-misc.c              \
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v
retrieving revision 1.95.2.8
retrieving revision 1.95.2.9
diff -u -3 -r1.95.2.8 -r1.95.2.9
--- desktops.c  15 Aug 2004 10:00:20 -0000      1.95.2.8
+++ desktops.c  15 Aug 2004 12:16:38 -0000      1.95.2.9
@@ -29,6 +29,52 @@
    EnterWindowMask | LeaveWindowMask | PointerMotionMask | ButtonMotionMask | \
    SubstructureNotifyMask | SubstructureRedirectMask | PropertyChangeMask)
 
+static void         DesktopHandleEvents(XEvent * ev, void *prm);
+
+static void
+DesktopInit(unsigned int dsk)
+{
+   Desk               *d;
+
+   if (dsk >= ENLIGHTENMENT_CONF_NUM_DESKTOPS)
+      return;
+
+   d = &desks.desk[dsk];
+   d->bg = NULL;
+   desks.order[dsk] = dsk;
+   d->tag = NULL;
+   d->x = 0;
+   d->y = 0;
+   d->current_area_x = 0;
+   d->current_area_y = 0;
+   d->viewable = 0;
+
+   if (dsk == 0)
+     {
+       d->win = VRoot.win;
+     }
+   else
+     {
+       d->win =
+          ECreateWindow(VRoot.win, -VRoot.w, -VRoot.h, VRoot.w, VRoot.h, 0);
+#if 0                          /* FIXME - TBD */
+       XSelectInput(disp, d->win, EDESK_EVENT_MASK);
+#endif
+     }
+   EventCallbackRegister(d->win, 0, DesktopHandleEvents, d);
+}
+
+void
+DesktopsInit(void)
+{
+   int                 i;
+
+   for (i = 0; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
+     {
+       DesktopInit(i);
+     }
+}
+
 void
 ChangeNumberOfDesktops(int quantity)
 {
@@ -264,52 +310,6 @@
 }
 
 void
-InitDesktopBgs(void)
-{
-   int                 i;
-   Desk               *d;
-   Atom                at;
-
-   EDBUG(6, "InitDesktopBgs");
-   for (i = 0; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
-     {
-       d = &desks.desk[i];
-       d->bg = NULL;
-       desks.order[i] = i;
-       d->tag = NULL;
-       d->x = 0;
-       d->y = 0;
-       d->current_area_x = 0;
-       d->current_area_y = 0;
-       d->viewable = 0;
-       if (i == 0)
-         {
-            d->win = VRoot.win;
-         }
-       else
-         {
-            d->win =
-               ECreateWindow(VRoot.win, -VRoot.w, -VRoot.h, VRoot.w, VRoot.h,
-                             0);
-            XSelectInput(disp, d->win, EDESK_EVENT_MASK);
-         }
-       at = XInternAtom(disp, "ENLIGHTENMENT_DESKTOP", False);
-       XChangeProperty(disp, d->win, at, XA_CARDINAL, 32, PropModeReplace,
-                       (unsigned char *)&i, 1);
-/* I don't believe it.. this property causes xv and Xscreensaver to barf
- * stupid bloody clients - I cant' believe peope write such shitty code
- */
-/*      
- * at = XInternAtom(disp, "__SWM_VROOT", False);
- * XChangeProperty(disp, d->win, at, XA_CARDINAL, 32, PropModeReplace,
- * (unsigned char *)&i, 1);
- */
-     }
-
-   EDBUG_RETURN_;
-}
-
-void
 InitDesktopControls(void)
 {
    int                 i;
@@ -1258,3 +1258,55 @@
    for (i = 0; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
       XSelectInput(disp, desks.desk[i].win, event_mask);
 }
+
+static char         sentpress = 0;
+
+static void
+ButtonProxySendEvent(XEvent * ev)
+{
+   if (Mode.button_proxy_win)
+      XSendEvent(disp, Mode.button_proxy_win, False, SubstructureNotifyMask,
+                ev);
+}
+
+static void
+DesktopEventButtonPress(Desk * d __UNUSED__, XEvent * ev)
+{
+   ActionClass        *ac;
+
+   XUngrabPointer(disp, CurrentTime);
+
+   ac = FindItem("DESKBINDINGS", 0, LIST_FINDBY_NAME, LIST_TYPE_ACLASS);
+   if (ac)
+     {
+       if (!EventAclass(ev, NULL, ac))
+          ButtonProxySendEvent(ev);
+     }
+}
+
+static void
+DesktopEventButtonRelease(Desk * d __UNUSED__, XEvent * ev)
+{
+   if (sentpress)
+     {
+       /* We never get here? */
+       sentpress = 0;
+       ButtonProxySendEvent(ev);
+     }
+}
+
+static void
+DesktopHandleEvents(XEvent * ev, void *prm)
+{
+   Desk               *d = (Desk *) prm;
+
+   switch (ev->type)
+     {
+     case ButtonPress:
+       DesktopEventButtonPress(d, ev);
+       break;
+     case ButtonRelease:
+       DesktopEventButtonRelease(d, ev);
+       break;
+     }
+}
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/evhandlers.c,v
retrieving revision 1.173.2.9
retrieving revision 1.173.2.10
diff -u -3 -r1.173.2.9 -r1.173.2.10
--- evhandlers.c        15 Aug 2004 10:00:20 -0000      1.173.2.9
+++ evhandlers.c        15 Aug 2004 12:16:39 -0000      1.173.2.10
@@ -22,8 +22,6 @@
  */
 #include "E.h"
 
-static char         sentpress = 0;
-
 static void
 ModeGetXY(Window rwin, int rx, int ry)
 {
@@ -41,21 +39,11 @@
      }
 }
 
-static void
-ButtonProxySendEvent(XEvent * ev)
-{
-   if (Mode.button_proxy_win)
-      XSendEvent(disp, Mode.button_proxy_win, False, SubstructureNotifyMask,
-                ev);
-}
-
 void
 HandleMouseDown(XEvent * ev)
 {
    Window              win = ev->xbutton.window;
    EWin               *ewin;
-   int                 i;
-   int                 desk_click;
    char                double_click = 0;
    float               mode_double_click_time = 0.25;
 
@@ -76,30 +64,6 @@
 
    ModeGetXY(ev->xbutton.root, ev->xbutton.x_root, ev->xbutton.y_root);
 
-   desk_click = -1;
-   for (i = 0; i < Conf.desks.num; i++)
-     {
-       if (win == desks.desk[i].win)
-         {
-            desk_click = i;
-            break;
-         }
-     }
-   if (desk_click >= 0)
-     {
-       ActionClass        *ac;
-
-       XUngrabPointer(disp, CurrentTime);
-
-       ac = FindItem("DESKBINDINGS", 0, LIST_FINDBY_NAME, LIST_TYPE_ACLASS);
-       if (ac)
-         {
-            if (!EventAclass(ev, NULL, ac))
-               ButtonProxySendEvent(ev);
-         }
-       EDBUG_RETURN_;
-     }
-
    FocusHandleClick(win);
 
    if (double_click)
@@ -168,13 +132,6 @@
        goto done;
      }
 
-   if (sentpress)
-     {
-       /* We never get here? */
-       sentpress = 0;
-       ButtonProxySendEvent(ev);
-     }
-
    Mode.context_win = Mode.last_bpress;
 
    if ( /*!Mode.menus.clicked && */ BordersEventMouseUp(ev))
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/main.c,v
retrieving revision 1.99.2.6
retrieving revision 1.99.2.7
diff -u -3 -r1.99.2.6 -r1.99.2.7
--- main.c      15 Aug 2004 10:00:21 -0000      1.99.2.6
+++ main.c      15 Aug 2004 12:16:39 -0000      1.99.2.7
@@ -233,7 +233,6 @@
    BlumFlimFrub();
    ZoomInit();
    SetupDirs();
-   InitDesktopBgs();
    CommsSetup();
    CommsFindCommsWindow();
    LoadGroups();
@@ -243,6 +242,8 @@
    MapUnmap(0);
    UngrabX();
 
+   ModulesSignal(ESIGNAL_INIT);
+
    /* make all of our fallback classes */
    SetupFallbackClasses();
 
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-misc.c,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -3 -r1.1.2.5 -r1.1.2.6
--- mod-misc.c  8 Aug 2004 22:31:42 -0000       1.1.2.5
+++ mod-misc.c  15 Aug 2004 12:16:39 -0000      1.1.2.6
@@ -65,11 +65,6 @@
 int                 n_modules = sizeof(p_modules) / sizeof(EModule *);
 
 static const CfgItem cfg_items[] = {
-   CFG_ITEM_BOOL(Conf, areas.nx, 2),
-   CFG_ITEM_BOOL(Conf, areas.ny, 1),
-   CFG_ITEM_BOOL(Conf, areas.wraparound, 0),
-   CFG_ITEM_BOOL(Conf, areas.wraparound, 0),
-
    CFG_ITEM_BOOL(Conf, autoraise.enable, 0),
    CFG_ITEM_INT(Conf, autoraise.delay, 500),
 
@@ -77,15 +72,6 @@
    CFG_ITEM_INT(Conf, backgrounds.timeout, 240),
    CFG_ITEM_BOOL(Conf, backgrounds.user, 1),
 
-   CFG_ITEM_INT(Conf, desks.num, 2),
-   CFG_ITEM_BOOL(Conf, desks.wraparound, 0),
-   CFG_ITEM_INT(Conf, desks.dragdir, 2),
-   CFG_ITEM_INT(Conf, desks.dragbar_width, 16),
-   CFG_ITEM_INT(Conf, desks.dragbar_ordering, 1),
-   CFG_ITEM_INT(Conf, desks.dragbar_length, 0),
-   CFG_ITEM_BOOL(Conf, desks.slidein, 1),
-   CFG_ITEM_INT(Conf, desks.slidespeed, 6000),
-
    CFG_ITEM_BOOL(Conf, dialogs.headers, 0),
 
    CFG_ITEM_INT(Conf, dock.dirmode, DOCK_DOWN),
@@ -160,15 +146,6 @@
 #define N_CFG_ITEMS ((int)(sizeof(cfg_items)/sizeof(CfgItem)))
 
 static void
-DesktopsConfigure(const char *params)
-{
-   if (!strcmp(params, "area"))
-      SettingsArea();
-   else
-      SettingsDesktops();
-}
-
-static void
 FocusConfigure(const char *params)
 {
    if (!strcmp(params, "autoraise"))
@@ -249,7 +226,6 @@
 
 #define EM_DECLARE(mod, name, nick, conf) \
    EModule mod = { name, nick, NULL, NULL, NULL, conf, { 0, NULL}, { 0, NULL} }
-EM_DECLARE(ModDesktops, "Desktops", "desk", DesktopsConfigure);
 EM_DECLARE(ModFocus, "Focus", "foc", FocusConfigure);
 EM_DECLARE(ModFX, "FX", "fx", FxConfigure);
 EM_DECLARE(ModGroups, "Groups", "gr", GroupsConfigure);
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/settings.c,v
retrieving revision 1.120.2.4
retrieving revision 1.120.2.5
diff -u -3 -r1.120.2.4 -r1.120.2.5
--- settings.c  8 Aug 2004 00:02:19 -0000       1.120.2.4
+++ settings.c  15 Aug 2004 12:16:39 -0000      1.120.2.5
@@ -1002,438 +1002,6 @@
    /* ShowDialog(dexp); */
 }
 
-static int          tmp_desktops;
-static DItem       *tmp_desk_text;
-static Dialog      *tmp_desk_dialog;
-static char         tmp_desktop_wraparound;
-
-static void
-CB_ConfigureDesktops(int val, void *data)
-{
-   if (val < 2)
-     {
-       ChangeNumberOfDesktops(tmp_desktops);
-       Conf.desks.wraparound = tmp_desktop_wraparound;
-     }
-   autosave();
-   data = NULL;
-}
-
-static void
-CB_DesktopDisplayRedraw(int val, void *data)
-{
-   static char         called = 0;
-   DItem              *di;
-   static Window       win, wins[ENLIGHTENMENT_CONF_NUM_DESKTOPS];
-   int                 i;
-   int                 w, h;
-   static int          prev_desktops = -1;
-   char                s[64];
-
-   if (val == 1)
-      called = 0;
-
-   if ((val != 1) && (prev_desktops == tmp_desktops))
-      return;
-   prev_desktops = tmp_desktops;
-   di = (DItem *) data;
-   win = DialogItemAreaGetWindow(di);
-   DialogItemAreaGetSize(di, &w, &h);
-   if (!called)
-     {
-       ImageClass         *ic;
-
-       ic = FindItem("SETTINGS_DESKTOP_AREA", 0, LIST_FINDBY_NAME,
-                     LIST_TYPE_ICLASS);
-       if (ic)
-          IclassApply(ic, win, w, h, 0, 0, STATE_NORMAL, 0, ST_UNKNWN);
-       for (i = 0; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
-          wins[i] = 0;
-       called = 1;
-     }
-   for (i = 0; i < tmp_desktops; i++)
-     {
-       if (!wins[i])
-         {
-            wins[i] = ECreateWindow(win, 0, 0, 64, 48, 0);
-            XSetWindowBorderWidth(disp, wins[i], 1);
-            if (desks.desk[i].bg)
-              {
-                 Pixmap              pmap;
-
-                 pmap = ECreatePixmap(disp, wins[i], 64, 48, VRoot.depth);
-                 ESetWindowBackgroundPixmap(disp, wins[i], pmap);
-                 BackgroundApply(desks.desk[i].bg, pmap, 0);
-                 EFreePixmap(disp, pmap);
-              }
-         }
-     }
-   for (i = (tmp_desktops - 1); i >= 0; i--)
-     {
-       int                 num;
-
-       num = tmp_desktops - 1;
-       if (num < 1)
-          num = 1;
-       XRaiseWindow(disp, wins[i]);
-       EMoveWindow(disp, wins[i], (i * (w - 64 - 2)) / num,
-                   (i * (h - 48 - 2)) / num);
-       EMapWindow(disp, wins[i]);
-     }
-   for (i = tmp_desktops; i < ENLIGHTENMENT_CONF_NUM_DESKTOPS; i++)
-      EUnmapWindow(disp, wins[i]);
-   if (tmp_desktops > 1)
-      Esnprintf(s, sizeof(s), _("%i Desktops"), tmp_desktops);
-   else
-      Esnprintf(s, sizeof(s), _("%i Desktop"), tmp_desktops);
-   DialogItemTextSetText(tmp_desk_text, s);
-   DialogDrawItems(tmp_desk_dialog, tmp_desk_text, 0, 0, 99999, 99999);
-}
-
-void
-SettingsDesktops(void)
-{
-   Dialog             *d;
-   DItem              *table, *di, *area, *slider;
-   char                s[64];
-
-   if ((d =
-       FindItem("CONFIGURE_DESKTOPS", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))
-     {
-       SoundPlay("SOUND_SETTINGS_ACTIVE");
-       ShowDialog(d);
-       return;
-     }
-   SoundPlay("SOUND_SETTINGS_DESKTOPS");
-
-   tmp_desktops = Conf.desks.num;
-   tmp_desktop_wraparound = Conf.desks.wraparound;
-
-   d = tmp_desk_dialog = DialogCreate("CONFIGURE_DESKTOPS");
-   DialogSetTitle(d, _("Multiple Desktop Settings"));
-
-   table = DialogInitItem(d);
-   DialogItemTableSetOptions(table, 2, 0, 0, 0);
-
-   if (Conf.dialogs.headers)
-     {
-       di = DialogAddItem(table, DITEM_IMAGE);
-       DialogItemSetPadding(di, 2, 2, 2, 2);
-       DialogItemImageSetFile(di, "pix/desktops.png");
-
-       di = DialogAddItem(table, DITEM_TEXT);
-       DialogItemSetPadding(di, 2, 2, 2, 2);
-       DialogItemSetFill(di, 1, 0);
-       DialogItemTextSetText(di,
-                             _("Enlightenment Multiple Desktop\n"
-                               "Settings Dialog\n"));
-
-       di = DialogAddItem(table, DITEM_SEPARATOR);
-       DialogItemSetColSpan(di, 2);
-       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, 1, 0);
-   DialogItemSetColSpan(di, 2);
-   DialogItemTextSetText(di, _("Number of virtual desktops:\n"));
-
-   di = tmp_desk_text = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSetColSpan(di, 2);
-   if (tmp_desktops > 1)
-      Esnprintf(s, sizeof(s), _("%i Desktops"), tmp_desktops);
-   else
-      Esnprintf(s, sizeof(s), _("%i Desktop"), tmp_desktops);
-   DialogItemTextSetText(di, s);
-
-   di = slider = DialogAddItem(table, DITEM_SLIDER);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSliderSetBounds(di, 1, 32);
-   DialogItemSliderSetUnits(di, 1);
-   DialogItemSliderSetJump(di, 1);
-   DialogItemSetColSpan(di, 2);
-   DialogItemSliderSetVal(di, tmp_desktops);
-   DialogItemSliderSetValPtr(di, &tmp_desktops);
-
-   di = area = DialogAddItem(table, DITEM_AREA);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSetColSpan(di, 2);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemAreaSetSize(di, 128, 96);
-
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSeparatorSetOrientation(di, 0);
-
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSetColSpan(di, 2);
-   DialogItemCheckButtonSetText(di, _("Wrap desktops around"));
-   DialogItemCheckButtonSetState(di, tmp_desktop_wraparound);
-   DialogItemCheckButtonSetPtr(di, &tmp_desktop_wraparound);
-
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetColSpan(di, 2);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSeparatorSetOrientation(di, 0);
-
-   DialogAddButton(d, _("OK"), CB_ConfigureDesktops, 1);
-   DialogAddButton(d, _("Apply"), CB_ConfigureDesktops, 0);
-   DialogAddButton(d, _("Close"), CB_ConfigureDesktops, 1);
-   DialogSetExitFunction(d, CB_ConfigureDesktops, 2, d);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0, d);
-   DialogBindKey(d, "Return", CB_ConfigureDesktops, 0, d);
-   ShowDialog(d);
-   DialogItemSetCallback(slider, CB_DesktopDisplayRedraw, 0, (void *)area);
-   CB_DesktopDisplayRedraw(1, area);
-}
-
-static int          tmp_area_x;
-static int          tmp_area_y;
-static int          tmp_edge_resist;
-static char         tmp_edge_flip;
-static DItem       *tmp_area_text;
-static Dialog      *tmp_area_dialog;
-static char         tmp_area_wraparound;
-
-static void
-CB_ConfigureAreas(int val, void *data)
-{
-   if (val < 2)
-     {
-       SetNewAreaSize(tmp_area_x, 9 - tmp_area_y);
-       Conf.areas.wraparound = tmp_area_wraparound;
-       if (tmp_edge_flip)
-         {
-            if (tmp_edge_resist < 1)
-               tmp_edge_resist = 1;
-            Conf.edge_flip_resistance = tmp_edge_resist;
-         }
-       else
-          Conf.edge_flip_resistance = 0;
-       EdgeWindowsShow();
-     }
-   autosave();
-   data = NULL;
-}
-
-static void
-CB_AreaDisplayRedraw(int val, void *data)
-{
-   char                s[64];
-   static char         called = 0;
-   DItem              *di;
-   static Window       win, awin;
-   int                 w, h;
-   static int          prev_ax = 0, prev_ay = 0;
-
-   if (val == 1)
-      called = 0;
-
-   if ((val != 1) && ((prev_ax == tmp_area_x) && (prev_ay == tmp_area_y)))
-      return;
-   prev_ax = tmp_area_x;
-   prev_ay = tmp_area_y;
-   di = (DItem *) data;
-   win = DialogItemAreaGetWindow(di);
-   DialogItemAreaGetSize(di, &w, &h);
-   if (!called)
-     {
-       ImageClass         *ic;
-       PmapMask            pmm;
-
-       ic = FindItem("SETTINGS_AREA_AREA", 0, LIST_FINDBY_NAME,
-                     LIST_TYPE_ICLASS);
-       if (ic)
-          IclassApply(ic, win, w, h, 0, 0, STATE_NORMAL, 0, ST_UNKNWN);
-       awin = ECreateWindow(win, 0, 0, 18, 14, 0);
-       ic = FindItem("SETTINGS_AREADESK_AREA", 0, LIST_FINDBY_NAME,
-                     LIST_TYPE_ICLASS);
-       if (ic)
-         {
-            IclassApplyCopy(ic, awin, 18, 14, 0, 0, STATE_NORMAL, &pmm, 0,
-                            ST_UNKNWN);
-            ESetWindowBackgroundPixmap(disp, awin, pmm.pmap);
-            FreePmapMask(&pmm);
-         }
-       XClearWindow(disp, awin);
-       called = 1;
-     }
-   EMoveResizeWindow(disp, awin, ((w / 2) - (9 * tmp_area_x)),
-                    ((h / 2) - (7 * (9 - tmp_area_y))), 18 * tmp_area_x,
-                    14 * (9 - tmp_area_y));
-   EMapWindow(disp, awin);
-
-   if ((tmp_area_x > 1) || ((9 - tmp_area_y) > 1))
-      Esnprintf(s, sizeof(s), _("%i x %i\nScreens in size"), tmp_area_x,
-               9 - tmp_area_y);
-   else
-      Esnprintf(s, sizeof(s), _("1\nScreen in size"));
-   DialogItemTextSetText(tmp_area_text, s);
-   DialogDrawItems(tmp_area_dialog, tmp_area_text, 0, 0, 99999, 99999);
-}
-
-void
-SettingsArea(void)
-{
-   Dialog             *d;
-   DItem              *table, *di, *area, *slider, *slider2, *table2;
-   char                s[64];
-
-   if ((d = FindItem("CONFIGURE_AREA", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))
-     {
-       SoundPlay("SOUND_SETTINGS_ACTIVE");
-       ShowDialog(d);
-       return;
-     }
-   SoundPlay("SOUND_SETTINGS_AREA");
-
-   tmp_area_wraparound = Conf.areas.wraparound;
-   tmp_edge_resist = Conf.edge_flip_resistance;
-   if (tmp_edge_resist == 0)
-      tmp_edge_flip = 0;
-   else
-      tmp_edge_flip = 1;
-   GetAreaSize(&tmp_area_x, &tmp_area_y);
-   tmp_area_y = 9 - tmp_area_y;
-
-   d = tmp_area_dialog = DialogCreate("CONFIGURE_AREA");
-   DialogSetTitle(d, _("Virtual Desktop Settings"));
-
-   table = DialogInitItem(d);
-   DialogItemTableSetOptions(table, 1, 0, 0, 0);
-
-   if (Conf.dialogs.headers)
-     {
-       table2 = DialogAddItem(table, DITEM_TABLE);
-       DialogItemTableSetOptions(table2, 2, 0, 0, 0);
-
-       di = DialogAddItem(table2, DITEM_IMAGE);
-       DialogItemSetPadding(di, 2, 2, 2, 2);
-       DialogItemImageSetFile(di, "pix/areas.png");
-
-       di = DialogAddItem(table2, DITEM_TEXT);
-       DialogItemSetPadding(di, 2, 2, 2, 2);
-       DialogItemSetFill(di, 1, 0);
-       DialogItemTextSetText(di,
-                             _("Enlightenment Virtual Desktop\n"
-                               "Settings Dialog\n"));
-
-       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, 1, 0);
-   DialogItemTextSetText(di, _("Virtual Desktop size:\n"));
-
-   di = tmp_area_text = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   if ((tmp_area_x > 1) || (tmp_area_y > 1))
-      Esnprintf(s, sizeof(s), _("%i x %i\nScreens in size"), tmp_area_x,
-               9 - tmp_area_y);
-   else
-      Esnprintf(s, sizeof(s), _("1\nScreen in size"));
-   DialogItemTextSetText(di, s);
-
-   table2 = DialogAddItem(table, DITEM_TABLE);
-   DialogItemTableSetOptions(table2, 2, 0, 0, 0);
-
-   di = DialogAddItem(table2, DITEM_NONE);
-
-   di = slider = DialogAddItem(table2, DITEM_SLIDER);
-   DialogItemSliderSetMinLength(di, 10);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSliderSetBounds(di, 1, 8);
-   DialogItemSliderSetUnits(di, 1);
-   DialogItemSliderSetJump(di, 1);
-   DialogItemSliderSetVal(di, tmp_area_x);
-   DialogItemSliderSetValPtr(di, &tmp_area_x);
-
-   di = slider2 = DialogAddItem(table2, DITEM_SLIDER);
-   DialogItemSliderSetMinLength(di, 10);
-   DialogItemSliderSetOrientation(di, 0);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 0, 1);
-   DialogItemSliderSetBounds(di, 1, 8);
-   DialogItemSliderSetUnits(di, 1);
-   DialogItemSliderSetJump(di, 1);
-   DialogItemSliderSetVal(di, tmp_area_y);
-   DialogItemSliderSetValPtr(di, &tmp_area_y);
-
-   di = area = DialogAddItem(table2, DITEM_AREA);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemAreaSetSize(di, 160, 120);
-
-   DialogItemSetCallback(slider, CB_AreaDisplayRedraw, 0, (void *)area);
-   DialogItemSetCallback(slider2, CB_AreaDisplayRedraw, 0, (void *)area);
-
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSeparatorSetOrientation(di, 0);
-
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemCheckButtonSetText(di, _("Wrap virtual desktops around"));
-   DialogItemCheckButtonSetState(di, tmp_area_wraparound);
-   DialogItemCheckButtonSetPtr(di, &tmp_area_wraparound);
-
-   di = DialogAddItem(table, DITEM_CHECKBUTTON);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemCheckButtonSetText(di, _("Enable edge flip"));
-   DialogItemCheckButtonSetState(di, tmp_edge_flip);
-   DialogItemCheckButtonSetPtr(di, &tmp_edge_flip);
-
-   di = DialogAddItem(table, DITEM_TEXT);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemTextSetText(di, _("Resistance at edge of screen:\n"));
-
-   di = slider = DialogAddItem(table, DITEM_SLIDER);
-   DialogItemSliderSetMinLength(di, 10);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSliderSetBounds(di, 1, 100);
-   DialogItemSliderSetUnits(di, 1);
-   DialogItemSliderSetJump(di, 10);
-   DialogItemSliderSetVal(di, tmp_edge_resist);
-   DialogItemSliderSetValPtr(di, &tmp_edge_resist);
-
-   di = DialogAddItem(table, DITEM_SEPARATOR);
-   DialogItemSetPadding(di, 2, 2, 2, 2);
-   DialogItemSetFill(di, 1, 0);
-   DialogItemSeparatorSetOrientation(di, 0);
-
-   DialogAddButton(d, _("OK"), CB_ConfigureAreas, 1);
-   DialogAddButton(d, _("Apply"), CB_ConfigureAreas, 0);
-   DialogAddButton(d, _("Close"), CB_ConfigureAreas, 1);
-   DialogSetExitFunction(d, CB_ConfigureAreas, 2, d);
-   DialogBindKey(d, "Escape", DialogCallbackClose, 0, d);
-   DialogBindKey(d, "Return", CB_ConfigureAreas, 0, d);
-   ShowDialog(d);
-   CB_AreaDisplayRedraw(1, area);
-}
-
 static char         tmp_with_leader;
 static char         tmp_switch_popup;
 static char         tmp_manual_placement;
===================================================================
RCS file: /cvsroot/enlightenment/e16/e/src/x.c,v
retrieving revision 1.71.2.3
retrieving revision 1.71.2.4
diff -u -3 -r1.71.2.3 -r1.71.2.4
--- x.c 9 Aug 2004 22:35:20 -0000       1.71.2.3
+++ x.c 15 Aug 2004 12:16:39 -0000      1.71.2.4
@@ -134,15 +134,24 @@
 EventCallbackRegister(Window win, int type __UNUSED__, EventCallbackFunc * func,
                      void *prm)
 {
+   static char         first = 1;
    EXID               *xid;
    EventCallbackItem  *eci;
 
+   if (first)
+     {
+       SetXID(VRoot.win, None, 0, 0, VRoot.w, VRoot.h, VRoot.depth);
+       first = 0;
+     }
    xid = FindXID(win);
 #if 0
    Eprintf("EventCallbackRegister: %p %#lx\n", xid, win);
 #endif
    if (xid == NULL)
-      return;
+     {
+       Eprintf("EventCallbackRegister win=%#lx ???\n", win);
+       return;
+     }
 
    xid->cbl.num++;
    xid->cbl.lst =




-------------------------------------------------------
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