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