Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: Tag: branch-exp E.h Makefile.am borders.c buttons.c config.c desktops.c ewins.c groups.c ipc.c main.c mod-misc.c settings.c setup.c startup.c Removed Files: Tag: branch-exp mod-btn.c Log Message: Move code around, fixups. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.314.2.35 retrieving revision 1.314.2.36 diff -u -3 -r1.314.2.35 -r1.314.2.36 --- E.h 31 Aug 2004 21:58:34 -0000 1.314.2.35 +++ E.h 31 Aug 2004 23:25:25 -0000 1.314.2.36 @@ -990,7 +990,8 @@ } dialogs; struct { - char dirmode; + char enable; /* wmdockapp only */ + int dirmode; int startx; int starty; } dock; @@ -1103,7 +1104,6 @@ int button_move_resistance; char autosave; char memory_paranoia; - char dockapp_support; /* wmdockapp only */ char save_under; int edge_flip_resistance; @@ -1213,7 +1213,6 @@ char constrained; char nogroup; char keybinds_changed; - char firsttime; Window button_proxy_win; const XEvent *current_event; Window last_bpress; @@ -1479,8 +1478,6 @@ int ButtonDoShowDefault(const Button * b); int ButtonEmbedWindow(Button * ButtonToUse, Window WindowToEmbed); -int ButtonsConfigLoad(FILE * fs); -int ButtonsConfigSave(FILE * fs); /* cmclass.c */ void CreateCurve(ModCurve * c); @@ -1927,12 +1924,10 @@ unsigned int modifiers, Window win); /* groups.c */ -void CopyGroupConfig(GroupConfig * src, GroupConfig * dest); void BreakWindowGroup(EWin * ewin, Group * g); void BuildWindowGroup(EWin ** ewins, int num); int EwinInGroup(EWin * ewin, Group * g); Group *EwinsInGroup(EWin * ewin1, EWin * ewin2); -char **GetWinGroupMemberNames(Group ** groups, int num); void AddEwinToGroup(EWin * ewin, Group * g); void RemoveEwinFromGroup(EWin * ewin, Group * g); void GroupsEwinRemove(EWin * ewin); @@ -1940,7 +1935,6 @@ void ChooseGroupDialog(EWin * ewin, char *message, char group_select, int action); void SaveGroups(void); -void LoadGroups(void); /* handlers.c */ void SignalsSetup(void); @@ -2188,9 +2182,6 @@ void SettingsPlacement(void); void SettingsAutoRaise(void); void SettingsSpecialFX(void); -void SettingsIconbox(char *name); -void SettingsGroups(EWin * ewin); -void SettingsDefaultGroupControl(void); void RemoveRememberedWindow(EWin * ewin); void SettingsRemember(void); void SettingsMiscellaneous(void); @@ -2201,7 +2192,6 @@ void SetupDirs(void); void SetupEnv(void); Window MakeExtInitWin(void); -void SetupUserInitialization(void); /* size.c */ void MaxSize(EWin * ewin, const char *resize_type); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Makefile.am,v retrieving revision 1.43.2.13 retrieving revision 1.43.2.14 diff -u -3 -r1.43.2.13 -r1.43.2.14 --- Makefile.am 29 Aug 2004 14:06:46 -0000 1.43.2.13 +++ Makefile.am 31 Aug 2004 23:25:25 -0000 1.43.2.14 @@ -47,7 +47,6 @@ finders.c \ focus.c \ fx.c \ - globals.c \ grabs.c \ groups.c \ handlers.c \ @@ -64,7 +63,6 @@ menus.c \ menus-misc.c \ misc.c \ - mod-btn.c \ mod-desks.c \ mod-menus.c \ mod-misc.c \ =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/borders.c,v retrieving revision 1.221.2.11 retrieving revision 1.221.2.12 diff -u -3 -r1.221.2.11 -r1.221.2.12 --- borders.c 31 Aug 2004 18:42:52 -0000 1.221.2.11 +++ borders.c 31 Aug 2004 23:25:25 -0000 1.221.2.12 @@ -493,7 +493,7 @@ b = MatchEwinByFunction(ewin, (void *(*)(EWin *, WindowMatch *))(MatchEwinBorder)); - if (Conf.dockapp_support && ewin->docked) + if (Conf.dock.enable && ewin->docked) b = (Border *) FindItem("BORDERLESS", 0, LIST_FINDBY_NAME, LIST_TYPE_BORDER); if (!b) =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/buttons.c,v retrieving revision 1.36.2.5 retrieving revision 1.36.2.6 diff -u -3 -r1.36.2.5 -r1.36.2.6 --- buttons.c 31 Aug 2004 18:42:55 -0000 1.36.2.5 +++ buttons.c 31 Aug 2004 23:25:26 -0000 1.36.2.6 @@ -723,7 +723,7 @@ */ #include "conf.h" -int +static int ButtonsConfigLoad(FILE * ConfigFile) { int err = 0; @@ -936,7 +936,7 @@ return err; } -int +static int ButtonsConfigSave(FILE * fs) { int i, num; @@ -1002,3 +1002,36 @@ return 0; } + +/* + * Buttons Module + */ + +static void +ButtonsSighan(int sig, void *prm __UNUSED__) +{ + switch (sig) + { + default: + break; + } +} + +#if 0 +static const CfgItem ButtonsCfgItems[] = { + CFG_ITEM_BOOL(Conf.buttons, enable, 1), +}; +#define N_CFG_ITEMS (sizeof(ButtonsCfgItems)/sizeof(CfgItem)) +#endif + +/* + * Module descriptor + */ +EModule ModButtons = { + "buttons", "btn", + ButtonsSighan, + ButtonsConfigLoad, ButtonsConfigSave, + NULL, + {0, NULL}, + {0, NULL} +}; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/config.c,v retrieving revision 1.111.2.14 retrieving revision 1.111.2.15 diff -u -3 -r1.111.2.14 -r1.111.2.15 --- config.c 26 Aug 2004 23:21:00 -0000 1.111.2.14 +++ config.c 31 Aug 2004 23:25:26 -0000 1.111.2.15 @@ -513,7 +513,7 @@ case CONTROL_ICONTEXT: break; case CONTROL_DOCKAPP_SUPPORT: - Conf.dockapp_support = i2; + Conf.dock.enable = i2; break; default: RecoverUserConfig(); @@ -1020,7 +1020,7 @@ for (i = 0; i < (int)(sizeof(config_files) / sizeof(char *)); i++) { - if (i == 1) + if (i == 1 && !init_win_ext) CreateStartupDisplay(1); if ((i > 0) && (!p) && (!init_win_ext)) =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/desktops.c,v retrieving revision 1.95.2.14 retrieving revision 1.95.2.15 diff -u -3 -r1.95.2.14 -r1.95.2.15 --- desktops.c 31 Aug 2004 21:58:35 -0000 1.95.2.14 +++ desktops.c 31 Aug 2004 23:25:26 -0000 1.95.2.15 @@ -1010,7 +1010,11 @@ void StackDesktop(int desk) { - Window *wl, *wl2; + Window *wl; + +#if 0 + Window *wl2; +#endif int i, wnum, tot, bnum; EWin *const *lst, *ewin; Button **blst; @@ -1023,6 +1027,7 @@ * Build the window stack, top to bottom */ +#if 0 wl2 = ProgressbarsListWindows(&wnum); if (wl2) { @@ -1039,6 +1044,7 @@ _APPEND_TO_WIN_LIST(init_win1); _APPEND_TO_WIN_LIST(init_win2); } +#endif lst = EwinListGetStacking(&wnum); blst = (Button **) ListItemType(&bnum, LIST_TYPE_BUTTON); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/ewins.c,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -3 -r1.1.2.11 -r1.1.2.12 --- ewins.c 31 Aug 2004 21:58:35 -0000 1.1.2.11 +++ ewins.c 31 Aug 2004 23:25:27 -0000 1.1.2.12 @@ -632,11 +632,8 @@ ewin = Adopt(win); /* if is an afterstep/windowmaker dock app - dock it */ - if (Conf.dockapp_support && ewin->docked) - { - DockIt(ewin); - EDBUG_RETURN_; - } + if (Conf.dock.enable && ewin->docked) + DockIt(ewin); /* if set for borderless then dont slide it in */ if ((!ewin->client.mwm_decor_title) && (!ewin->client.mwm_decor_border)) =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/groups.c,v retrieving revision 1.57.2.3 retrieving revision 1.57.2.4 diff -u -3 -r1.57.2.3 -r1.57.2.4 --- groups.c 21 Aug 2004 09:09:20 -0000 1.57.2.3 +++ groups.c 31 Aug 2004 23:25:27 -0000 1.57.2.4 @@ -66,7 +66,7 @@ Efree(g); } -void +static void CopyGroupConfig(GroupConfig * src, GroupConfig * dest) { if (!(src && dest)) @@ -254,7 +254,7 @@ RemoveEwinFromGroup(ewin, ewin->groups[0]); } -char ** +static char ** GetWinGroupMemberNames(Group ** groups, int num) { int i, j; @@ -405,8 +405,8 @@ } } -void -LoadGroups(void) +static void +GroupsLoad(void) { FILE *f; char s[1024]; @@ -678,3 +678,542 @@ ShowDialog(d); } + +static GroupConfig *tmp_cfgs = NULL; +static int tmp_current_group; +static int tmp_index; +static GroupConfig tmp_cfg; +static EWin *tmp_ewin; +static Group **tmp_groups; + +static DItem *di_border; +static DItem *di_iconify; +static DItem *di_kill; +static DItem *di_move; +static DItem *di_raise; +static DItem *di_stick; +static DItem *di_shade; +static DItem *di_mirror; + +static void +CB_ConfigureGroupEscape(int val, void *data) +{ + if (tmp_cfgs) + { + ShowHideWinGroups(tmp_ewin, tmp_groups[tmp_current_group], SET_OFF); + Efree(tmp_cfgs); + tmp_cfgs = NULL; + } + DialogClose((Dialog *) data); + val = 0; +} + +static void +CB_ConfigureGroup(int val, void *data) +{ + int i; + + if (val < 2) + { + for (i = 0; i < tmp_ewin->num_groups; i++) + CopyGroupConfig(&(tmp_cfgs[i]), &(tmp_ewin->groups[i]->cfg)); + } + if (((val == 0) || (val == 2)) && tmp_cfgs) + { + ShowHideWinGroups(tmp_ewin, tmp_groups[tmp_current_group], SET_OFF); + Efree(tmp_cfgs); + tmp_cfgs = NULL; + } + autosave(); + data = NULL; +} + +static void +GroupSelectCallback(int val, void *data) +{ + DialogItemCheckButtonSetState(di_border, tmp_cfgs[val].set_border); + DialogItemCheckButtonSetState(di_kill, tmp_cfgs[val].kill); + DialogItemCheckButtonSetState(di_move, tmp_cfgs[val].move); + DialogItemCheckButtonSetState(di_raise, tmp_cfgs[val].raise); + DialogItemCheckButtonSetState(di_iconify, tmp_cfgs[val].iconify); + DialogItemCheckButtonSetState(di_stick, tmp_cfgs[val].stick); + DialogItemCheckButtonSetState(di_shade, tmp_cfgs[val].shade); + DialogItemCheckButtonSetState(di_mirror, tmp_cfgs[val].mirror); + DialogRedraw((Dialog *) data); + ShowHideWinGroups(tmp_ewin, tmp_groups[tmp_current_group], SET_OFF); + ShowHideWinGroups(tmp_ewin, tmp_groups[val], SET_ON); + tmp_current_group = val; +} + +static void +GroupFeatureChangeCallback(int val, void *data) +{ + switch (val) + { + case GROUP_FEATURE_BORDER: + tmp_cfgs[tmp_current_group].set_border = *((char *)data); + break; + case GROUP_FEATURE_KILL: + tmp_cfgs[tmp_current_group].kill = *((char *)data); + break; + case GROUP_FEATURE_MOVE: + tmp_cfgs[tmp_current_group].move = *((char *)data); + break; + case GROUP_FEATURE_RAISE: + tmp_cfgs[tmp_current_group].raise = *((char *)data); + break; + case GROUP_FEATURE_ICONIFY: + tmp_cfgs[tmp_current_group].iconify = *((char *)data); + break; + case GROUP_FEATURE_STICK: + tmp_cfgs[tmp_current_group].stick = *((char *)data); + break; + case GROUP_FEATURE_SHADE: + tmp_cfgs[tmp_current_group].shade = *((char *)data); + break; + case GROUP_FEATURE_MIRROR: + tmp_cfgs[tmp_current_group].mirror = *((char *)data); + break; + default: + break; + } +} + +static void +SettingsGroups(EWin * ewin) +{ + Dialog *d; + DItem *table, *radio, *di; + int i; + char **group_member_strings; + + if (!ewin) + return; + if (ewin->num_groups == 0) + { + DialogOK(_("Window Group Error"), + _ + ("\n This window currently does not belong to any groups. \n\n")); + return; + } + if ((d = FindItem("CONFIGURE_GROUP", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG))) + { + SoundPlay("GROUP_SETTINGS_ACTIVE"); + ShowDialog(d); + return; + } + SoundPlay("SOUND_SETTINGS_GROUP"); + + tmp_ewin = ewin; + tmp_groups = ewin->groups; + tmp_cfgs = (GroupConfig *) Emalloc(ewin->num_groups * sizeof(GroupConfig)); + tmp_current_group = 0; + group_member_strings = + GetWinGroupMemberNames(ewin->groups, ewin->num_groups); + ShowHideWinGroups(ewin, ewin->groups[0], SET_ON); + + for (i = 0; i < ewin->num_groups; i++) + CopyGroupConfig(&(ewin->groups[i]->cfg), &(tmp_cfgs[i])); + + d = DialogCreate("CONFIGURE_GROUP"); + DialogSetTitle(d, _("Window Group 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/group.png"); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemTextSetText(di, + _("Enlightenment Window Group\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); + DialogItemSetColSpan(di, 2); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _(" Pick the group to configure: ")); + + radio = di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupSelectCallback, 0, (void *)d); + DialogItemRadioButtonSetText(di, group_member_strings[0]); + DialogItemRadioButtonSetFirst(di, radio); + DialogItemRadioButtonGroupSetVal(di, 0); + + for (i = 1; i < ewin->num_groups; i++) + { + di = DialogAddItem(table, DITEM_RADIOBUTTON); + DialogItemSetColSpan(di, 2); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetCallback(di, &GroupSelectCallback, i, (void *)d); + DialogItemRadioButtonSetText(di, group_member_strings[i]); + DialogItemRadioButtonSetFirst(di, radio); + DialogItemRadioButtonGroupSetVal(di, i); + } + DialogItemRadioButtonGroupSetValPtr(radio, &tmp_index); + + 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); + DialogItemSetColSpan(di, 2); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, + _(" The following actions are \n" + " applied to all group members: ")); + + di_border = di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_BORDER, + &(tmp_cfg.set_border)); + DialogItemCheckButtonSetText(di, _("Changing Border Style")); + DialogItemCheckButtonSetState(di, tmp_cfgs[0].set_border); + DialogItemCheckButtonSetPtr(di, &(tmp_cfg.set_border)); + + di_iconify = di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupFeatureChangeCallback, + GROUP_FEATURE_ICONIFY, &(tmp_cfg.iconify)); + DialogItemCheckButtonSetText(di, _("Iconifying")); + DialogItemCheckButtonSetState(di, tmp_cfgs[0].iconify); + DialogItemCheckButtonSetPtr(di, &(tmp_cfg.iconify)); + + di_kill = di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_KILL, + &(tmp_cfg.kill)); + DialogItemCheckButtonSetText(di, _("Killing")); + DialogItemCheckButtonSetState(di, tmp_cfgs[0].kill); + DialogItemCheckButtonSetPtr(di, &(tmp_cfg.kill)); + + di_move = di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_MOVE, + &(tmp_cfg.move)); + DialogItemCheckButtonSetText(di, _("Moving")); + DialogItemCheckButtonSetState(di, tmp_cfgs[0].move); + DialogItemCheckButtonSetPtr(di, &(tmp_cfg.move)); + + di_raise = di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_RAISE, + &(tmp_cfg.raise)); + DialogItemCheckButtonSetText(di, _("Raising/Lowering")); + DialogItemCheckButtonSetState(di, tmp_cfgs[0].raise); + DialogItemCheckButtonSetPtr(di, &(tmp_cfg.raise)); + + di_stick = di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_STICK, + &(tmp_cfg.stick)); + DialogItemCheckButtonSetText(di, _("Sticking")); + DialogItemCheckButtonSetState(di, tmp_cfgs[0].stick); + DialogItemCheckButtonSetPtr(di, &(tmp_cfg.stick)); + + di_shade = di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_SHADE, + &(tmp_cfg.shade)); + DialogItemCheckButtonSetText(di, _("Shading")); + DialogItemCheckButtonSetState(di, tmp_cfgs[0].shade); + DialogItemCheckButtonSetPtr(di, &(tmp_cfg.shade)); + + di_mirror = di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_MIRROR, + &(tmp_cfg.mirror)); + DialogItemCheckButtonSetText(di, _("Mirror Shade/Iconify/Stick")); + DialogItemCheckButtonSetState(di, tmp_cfgs[0].mirror); + DialogItemCheckButtonSetPtr(di, &(tmp_cfg.mirror)); + + 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_ConfigureGroup, 1); + DialogAddButton(d, _("Apply"), CB_ConfigureGroup, 0); + DialogAddButton(d, _("Close"), CB_ConfigureGroup, 1); + DialogSetExitFunction(d, CB_ConfigureGroup, 2, d); + DialogBindKey(d, "Escape", CB_ConfigureGroupEscape, 0, d); + DialogBindKey(d, "Return", CB_ConfigureGroup, 0, d); + + for (i = 0; i < ewin->num_groups; i++) + Efree(group_member_strings[i]); + Efree(group_member_strings); + + ShowDialog(d); +} + +static GroupConfig tmp_group_cfg; +static char tmp_group_swap; +static void +CB_ConfigureDefaultGroupSettings(int val, void *data) +{ + if (val < 2) + { + CopyGroupConfig(&tmp_group_cfg, &(Conf.groups.dflt)); + Conf.groups.swapmove = tmp_group_swap; + } + autosave(); + data = NULL; +} + +static void +SettingsDefaultGroupControl(void) +{ + Dialog *d; + DItem *table, *di; + + if ((d = + FindItem("CONFIGURE_DEFAULT_GROUP_CONTROL", 0, LIST_FINDBY_NAME, + LIST_TYPE_DIALOG))) + { + SoundPlay("SOUND_SETTINGS_ACTIVE"); + ShowDialog(d); + return; + } + SoundPlay("SOUND_SETTINGS_GROUP"); + + CopyGroupConfig(&(Conf.groups.dflt), &tmp_group_cfg); + tmp_group_swap = Conf.groups.swapmove; + + d = DialogCreate("CONFIGURE_DEFAULT_GROUP_CONTROL"); + DialogSetTitle(d, _("Default Group Control 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/group.png"); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemTextSetText(di, + _("Enlightenment Default\n" + "Group Control 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); + DialogItemSetColSpan(di, 2); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _(" Per-group settings: ")); + + 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, _("Changing Border Style")); + DialogItemCheckButtonSetState(di, tmp_group_cfg.set_border); + DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.set_border)); + + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Iconifying")); + DialogItemCheckButtonSetState(di, tmp_group_cfg.iconify); + DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.iconify)); + + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Killing")); + DialogItemCheckButtonSetState(di, tmp_group_cfg.kill); + DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.kill)); + + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Moving")); + DialogItemCheckButtonSetState(di, tmp_group_cfg.move); + DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.move)); + + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Raising/Lowering")); + DialogItemCheckButtonSetState(di, tmp_group_cfg.raise); + DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.raise)); + + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Sticking")); + DialogItemCheckButtonSetState(di, tmp_group_cfg.stick); + DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.stick)); + + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Shading")); + DialogItemCheckButtonSetState(di, tmp_group_cfg.shade); + DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.shade)); + + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Mirror Shade/Iconify/Stick")); + DialogItemCheckButtonSetState(di, tmp_group_cfg.mirror); + DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.mirror)); + + 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); + DialogItemSetColSpan(di, 2); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetAlign(di, 0, 512); + DialogItemTextSetText(di, _(" Global settings: ")); + + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Swap Window Locations")); + DialogItemCheckButtonSetState(di, tmp_group_swap); + DialogItemCheckButtonSetPtr(di, &(tmp_group_swap)); + + 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_ConfigureDefaultGroupSettings, 1); + DialogAddButton(d, _("Apply"), CB_ConfigureDefaultGroupSettings, 0); + DialogAddButton(d, _("Close"), CB_ConfigureDefaultGroupSettings, 1); + DialogSetExitFunction(d, CB_ConfigureDefaultGroupSettings, 2, d); + DialogBindKey(d, "Escape", DialogCallbackClose, 0, d); + DialogBindKey(d, "Return", CB_ConfigureDefaultGroupSettings, 0, d); + ShowDialog(d); +} + +/* + * Groups module + */ + +static void +GroupsConfigure(const char *params) +{ + char s[128]; + const char *p; + int l; + EWin *ewin; + + p = params; + l = 0; + s[0] = '\0'; + sscanf(p, "%100s %n", s, &l); + p += l; + + Eprintf(">%s< >%s<\n", params, s); + if (!strcmp(s, "group")) + { + ewin = GetFocusEwin(); + if (ewin) + SettingsGroups(ewin); + } + else if (!s[0] || !strcmp(s, "group_defaults")) + { + SettingsDefaultGroupControl(); + } + else if (!strcmp(s, "group_membership")) + { + ewin = GetFocusEwin(); + if (ewin) + ChooseGroupDialog(ewin, + _ + (" Pick the group the window will belong to: \n"), + GROUP_SELECT_ALL_EXCEPT_EWIN, ACTION_ADD_TO_GROUP); + } +} + +static void +GroupsSighan(int sig, void *prm __UNUSED__) +{ + switch (sig) + { + case ESIGNAL_INIT: + GroupsLoad(); + break; + } +} + +EModule ModGroups = { + "groups", "grp", + GroupsSighan, + NULL, NULL, + GroupsConfigure, + {0, NULL} + , + {0, NULL} +}; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ipc.c,v retrieving revision 1.174.2.18 retrieving revision 1.174.2.19 diff -u -3 -r1.174.2.18 -r1.174.2.19 --- ipc.c 29 Aug 2004 14:06:47 -0000 1.174.2.18 +++ ipc.c 31 Aug 2004 23:25:27 -0000 1.174.2.19 @@ -287,154 +287,6 @@ } static void -IPC_DockConfig(const char *params, Client * c) -{ - char buf[FILEPATH_LEN_MAX]; - - buf[0] = 0; - - if (params) - { - char param1[FILEPATH_LEN_MAX]; - char param2[FILEPATH_LEN_MAX]; - char param3[FILEPATH_LEN_MAX]; - - param1[0] = 0; - param2[0] = 0; - param3[0] = 0; - - word(params, 1, param1); - word(params, 2, param2); - - if (!strcmp(param1, "start_pos")) - { - if (param2[0]) - { - if (!strcmp(param2, "?")) - { - Esnprintf(buf, sizeof(buf), "dock_startposition: %d %d", - Conf.dock.startx, Conf.dock.starty); - } - else - { - word(params, 3, param3); - if (param3[0]) - { - Conf.dock.startx = atoi(param2); - Conf.dock.starty = atoi(param3); - } - else - { - Esnprintf(buf, sizeof(buf), - "Error: no y coordinate"); - - } - } - } - else - { - Esnprintf(buf, sizeof(buf), "Error: no operation specified"); - } - } - else if (!strcmp(param1, "direction")) - { - if (param2[0]) - { - if (!strcmp(param2, "?")) - { - if (Conf.dock.dirmode == DOCK_LEFT) - { - Esnprintf(buf, sizeof(buf), "dock_dir: left"); - } - else if (Conf.dock.dirmode == DOCK_RIGHT) - { - Esnprintf(buf, sizeof(buf), "dock_dir: right"); - } - else if (Conf.dock.dirmode == DOCK_UP) - { - Esnprintf(buf, sizeof(buf), "dock_dir: up"); - } - else if (Conf.dock.dirmode == DOCK_DOWN) - { - Esnprintf(buf, sizeof(buf), "dock_dir: down"); - } - else - { - Esnprintf(buf, sizeof(buf), - "Error: I have NO " "idea what direction " - "this thing is going"); - } - } - else if (!strcmp(param2, "left")) - { - Conf.dock.dirmode = DOCK_LEFT; - } - else if (!strcmp(param2, "right")) - { - Conf.dock.dirmode = DOCK_RIGHT; - } - else if (!strcmp(param2, "up")) - { - Conf.dock.dirmode = DOCK_UP; - } - else if (!strcmp(param2, "down")) - { - Conf.dock.dirmode = DOCK_DOWN; - } - else - { - Esnprintf(buf, sizeof(buf), - "Error: unknown direction " "specified"); - } - } - else - { - Esnprintf(buf, sizeof(buf), "Error: no operation specified"); - } - } - else if (!strcmp(param1, "support")) - { - if (param2[0]) - { - if (!strcmp(param2, "?")) - { - Esnprintf(buf, sizeof(buf), "dockapp support: %s", - (Conf.dockapp_support) ? "enabled" : - "disabled"); - } - else if ((!strcmp(param2, "on")) - || (!strcmp(param2, "enable"))) - { - Conf.dockapp_support = 1; - Esnprintf(buf, sizeof(buf), "dockapp support: enabled"); - } - else if ((!strcmp(param2, "off")) - || (!strcmp(param2, "disable"))) - { - Conf.dockapp_support = 0; - Esnprintf(buf, sizeof(buf), "dockapp support: disabled"); - } - } - else - { - Esnprintf(buf, sizeof(buf), "Error: no operation specified"); - } - } - else - { - Esnprintf(buf, sizeof(buf), "Error: unknown mode"); - } - } - else - { - Esnprintf(buf, sizeof(buf), "Error: no mode given"); - } - - if (buf[0]) - CommsSend(c, buf); -} - -static void IPC_GeneralInfo(const char *params, Client * c) { char buf[FILEPATH_LEN_MAX]; @@ -3420,15 +3272,6 @@ " (i.e. 0.5) or greater (1.3, 3.5, etc)"}, #endif { - IPC_DockConfig, - "dock", NULL, - "Enable/Disable dock, or change dock position and direction", - "use \"dock support <on/off/?>\" to test, enable, or disable the dock\n" - "use \"dock direction <up/down/left/right/?>\" to set or " - "test direction\n" - "use \"dock start_pos ?\" to test the starting x y coords\n" - "use \"dock start_pos x y\" to set the starting x y coords"}, - { IPC_MoveMode, "move_mode", "smm", "Toggle the Window move mode", =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/main.c,v retrieving revision 1.99.2.16 retrieving revision 1.99.2.17 diff -u -3 -r1.99.2.16 -r1.99.2.17 --- main.c 31 Aug 2004 21:58:35 -0000 1.99.2.16 +++ main.c 31 Aug 2004 23:25:28 -0000 1.99.2.17 @@ -26,28 +26,26 @@ #include <signal.h> #include <time.h> -static void -runDocBrowser(void) -{ - char file[FILEPATH_LEN_MAX]; - - Esnprintf(file, sizeof(file), "%s/edox", EDirBin()); - if (!canexec(file)) - return; - Esnprintf(file, sizeof(file), "%s/E-docs", EDirRoot()); - if (!canread(file)) - return; - - if (fork()) - EDBUG_RETURN_; - - Esnprintf(file, sizeof(file), "exec %s/edox %s/E-docs", - EDirBin(), EDirRoot()); - - execl(usershell(getuid()), usershell(getuid()), "-c", (char *)file, NULL); - - exit(0); -} +const char e_wm_name[] = "Enlightenment"; +const char e_wm_version[] = +#ifdef ENLIGHTENMENT_RELEASE + "enlightenment-" ENLIGHTENMENT_VERSION "-" ENLIGHTENMENT_RELEASE; +#else + "enlightenment-" ENLIGHTENMENT_VERSION; +#endif +Display *disp; +List *lists; +RealRoot RRoot; +VirtRoot VRoot; +EConf Conf; +EMode Mode; +Desktops desks; +Window init_win_ext = 0; + +#ifdef DEBUG +int call_level = 0; +char *call_stack[1024]; +#endif int main(int argc, char **argv) @@ -195,7 +193,6 @@ ZoomInit(); SetupDirs(); CommsInit(); - LoadGroups(); LoadSnapInfo(); ecore_x_grab(); @@ -240,7 +237,7 @@ SetupEnv(); - if (Conf.mapslide) + if (Conf.mapslide && !init_win_ext) CreateStartupDisplay(0); MapUnmap(1); @@ -263,9 +260,6 @@ ECsrApply(ECSR_ROOT, VRoot.win); Mode.wm.save_ok = Mode.wm.master; - /* ok - paranoia - save current settings to disk */ - if (VRoot.scr == 0) - autosave(); /* let's make sure we set this up and go to our desk anyways */ GotoDesktop(desks.current); @@ -302,7 +296,7 @@ XSync(disp, False); /* if we didn't have an external window piped to us, we'll do some stuff */ - if (!Conf.mapslide) + if (!Conf.mapslide && !init_win_ext) CreateStartupDisplay(0); BackgroundDestroyByName("STARTUP_BACKGROUND_SIDEWAYS"); @@ -313,16 +307,16 @@ kill(Mode.wm.children[i], SIGCONT); #endif - SetupUserInitialization(); - if (Mode.firsttime) - runDocBrowser(); - SpawnSnappedCmds(); Mode.wm.startup = 0; ModulesSignal(ESIGNAL_START, NULL); + /* Save current settings to disk */ + if (VRoot.scr == 0) + autosave(); + /* The primary event loop */ for (;;) WaitEvent(); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-misc.c,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -3 -r1.1.2.11 -r1.1.2.12 --- mod-misc.c 29 Aug 2004 14:06:51 -0000 1.1.2.11 +++ mod-misc.c 31 Aug 2004 23:25:28 -0000 1.1.2.12 @@ -76,7 +76,72 @@ }; int n_modules = sizeof(p_modules) / sizeof(EModule *); +static struct +{ + char firsttime; +} Conf_misc = +{ +0}; + +static void +runDocBrowser(void) +{ + char file[FILEPATH_LEN_MAX]; + + Esnprintf(file, sizeof(file), "%s/edox", EDirBin()); + if (!canexec(file)) + return; + Esnprintf(file, sizeof(file), "%s/E-docs", EDirRoot()); + if (!canread(file)) + return; + + if (fork()) + EDBUG_RETURN_; + + Esnprintf(file, sizeof(file), "exec %s/edox %s/E-docs", + EDirBin(), EDirRoot()); + + execl(usershell(getuid()), usershell(getuid()), "-c", (char *)file, NULL); + + exit(0); +} + +static void +SetupUserInitialization(void) +{ + + char file[FILEPATH_LEN_MAX]; + + if (!Conf_misc.firsttime) + return; + Conf_misc.firsttime = 0; + + if (fork() == 0) + { + Esnprintf(file, sizeof(file), "exec %s/scripts/e_gen_menu", EDirRoot()); + execl(usershell(getuid()), usershell(getuid()), "-c", (char *)file, + NULL); + exit(0); + } + + /* Run edox */ + runDocBrowser(); +} + +static void +MiscSighan(int sig, void *prm __UNUSED__) +{ + switch (sig) + { + case ESIGNAL_START: + SetupUserInitialization(); + break; + } +} + static const CfgItem cfg_items[] = { + CFG_ITEM_BOOL(Conf_misc, firsttime, 1), + CFG_ITEM_BOOL(Conf, autoraise.enable, 0), CFG_ITEM_INT(Conf, autoraise.delay, 500), @@ -86,6 +151,7 @@ CFG_ITEM_BOOL(Conf, dialogs.headers, 0), + CFG_ITEM_BOOL(Conf, dock.enable, 1), CFG_ITEM_INT(Conf, dock.dirmode, DOCK_DOWN), CFG_ITEM_INT(Conf, dock.startx, 0), CFG_ITEM_INT(Conf, dock.starty, 0), @@ -133,7 +199,6 @@ CFG_ITEM_INT(Conf, button_move_resistance, 5), CFG_ITEM_BOOL(Conf, autosave, 1), CFG_ITEM_BOOL(Conf, memory_paranoia, 1), - CFG_ITEM_BOOL(Conf, dockapp_support, 1), CFG_ITEM_BOOL(Conf, save_under, 0), CFG_ITEM_INT(Conf, edge_flip_resistance, 25), }; @@ -155,42 +220,6 @@ } static void -GroupsConfigure(const char *params) -{ - char s[128]; - const char *p; - int l; - EWin *ewin; - - p = params; - l = 0; - s[0] = '\0'; - sscanf(p, "%100s %n", s, &l); - p += l; - - Eprintf(">%s< >%s<\n", params, s); - if (!strcmp(s, "group")) - { - ewin = GetFocusEwin(); - if (ewin) - SettingsGroups(ewin); - } - else if (!s[0] || !strcmp(s, "group_defaults")) - { - SettingsDefaultGroupControl(); - } - else if (!strcmp(s, "group_membership")) - { - ewin = GetFocusEwin(); - if (ewin) - ChooseGroupDialog(ewin, - _ - (" Pick the group the window will belong to: \n"), - GROUP_SELECT_ALL_EXCEPT_EWIN, ACTION_ADD_TO_GROUP); - } -} - -static void MiscConfigure(const char *params __UNUSED__) { SettingsMiscellaneous(); @@ -218,7 +247,6 @@ EModule mod = { name, nick, NULL, NULL, NULL, conf, { 0, NULL}, { 0, NULL} } EM_DECLARE(ModFocus, "focus", "foc", FocusConfigure); EM_DECLARE(ModFx, "fx", "fx", FxConfigure); -EM_DECLARE(ModGroups, "groups", "grp", GroupsConfigure); EM_DECLARE(ModMoveResize, "moveresize", "mr", MoveResizeConfigure); EM_DECLARE(ModPlacement, "placement", "pl", PlacementConfigure); EM_DECLARE(ModRemember, "remember", "re", RememberConfigure); @@ -226,7 +254,7 @@ /* Stuff not elsewhere */ EModule ModMisc = { "misc", NULL, - NULL, + MiscSighan, NULL, NULL, MiscConfigure, {N_CFG_ITEMS, cfg_items}, =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/settings.c,v retrieving revision 1.120.2.9 retrieving revision 1.120.2.10 diff -u -3 -r1.120.2.9 -r1.120.2.10 --- settings.c 29 Aug 2004 14:06:51 -0000 1.120.2.9 +++ settings.c 31 Aug 2004 23:25:28 -0000 1.120.2.10 @@ -1435,484 +1435,6 @@ ShowDialog(d); } -static GroupConfig *tmp_cfgs = NULL; -static int tmp_current_group; -static int tmp_index; -static GroupConfig tmp_cfg; -static EWin *tmp_ewin; -static Group **tmp_groups; - -static DItem *di_border; -static DItem *di_iconify; -static DItem *di_kill; -static DItem *di_move; -static DItem *di_raise; -static DItem *di_stick; -static DItem *di_shade; -static DItem *di_mirror; - -static void -CB_ConfigureGroupEscape(int val, void *data) -{ - if (tmp_cfgs) - { - ShowHideWinGroups(tmp_ewin, tmp_groups[tmp_current_group], SET_OFF); - Efree(tmp_cfgs); - tmp_cfgs = NULL; - } - DialogClose((Dialog *) data); - val = 0; -} - -static void -CB_ConfigureGroup(int val, void *data) -{ - int i; - - if (val < 2) - { - for (i = 0; i < tmp_ewin->num_groups; i++) - CopyGroupConfig(&(tmp_cfgs[i]), &(tmp_ewin->groups[i]->cfg)); - } - if (((val == 0) || (val == 2)) && tmp_cfgs) - { - ShowHideWinGroups(tmp_ewin, tmp_groups[tmp_current_group], SET_OFF); - Efree(tmp_cfgs); - tmp_cfgs = NULL; - } - autosave(); - data = NULL; -} - -static void -GroupSelectCallback(int val, void *data) -{ - DialogItemCheckButtonSetState(di_border, tmp_cfgs[val].set_border); - DialogItemCheckButtonSetState(di_kill, tmp_cfgs[val].kill); - DialogItemCheckButtonSetState(di_move, tmp_cfgs[val].move); - DialogItemCheckButtonSetState(di_raise, tmp_cfgs[val].raise); - DialogItemCheckButtonSetState(di_iconify, tmp_cfgs[val].iconify); - DialogItemCheckButtonSetState(di_stick, tmp_cfgs[val].stick); - DialogItemCheckButtonSetState(di_shade, tmp_cfgs[val].shade); - DialogItemCheckButtonSetState(di_mirror, tmp_cfgs[val].mirror); - DialogRedraw((Dialog *) data); - ShowHideWinGroups(tmp_ewin, tmp_groups[tmp_current_group], SET_OFF); - ShowHideWinGroups(tmp_ewin, tmp_groups[val], SET_ON); - tmp_current_group = val; -} - -static void -GroupFeatureChangeCallback(int val, void *data) -{ - switch (val) - { - case GROUP_FEATURE_BORDER: - tmp_cfgs[tmp_current_group].set_border = *((char *)data); - break; - case GROUP_FEATURE_KILL: - tmp_cfgs[tmp_current_group].kill = *((char *)data); - break; - case GROUP_FEATURE_MOVE: - tmp_cfgs[tmp_current_group].move = *((char *)data); - break; - case GROUP_FEATURE_RAISE: - tmp_cfgs[tmp_current_group].raise = *((char *)data); - break; - case GROUP_FEATURE_ICONIFY: - tmp_cfgs[tmp_current_group].iconify = *((char *)data); - break; - case GROUP_FEATURE_STICK: - tmp_cfgs[tmp_current_group].stick = *((char *)data); - break; - case GROUP_FEATURE_SHADE: - tmp_cfgs[tmp_current_group].shade = *((char *)data); - break; - case GROUP_FEATURE_MIRROR: - tmp_cfgs[tmp_current_group].mirror = *((char *)data); - break; - default: - break; - } -} - -void -SettingsGroups(EWin * ewin) -{ - Dialog *d; - DItem *table, *radio, *di; - int i; - char **group_member_strings; - - if (!ewin) - return; - if (ewin->num_groups == 0) - { - DialogOK(_("Window Group Error"), - _ - ("\n This window currently does not belong to any groups. \n\n")); - return; - } - if ((d = FindItem("CONFIGURE_GROUP", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG))) - { - SoundPlay("GROUP_SETTINGS_ACTIVE"); - ShowDialog(d); - return; - } - SoundPlay("SOUND_SETTINGS_GROUP"); - - tmp_ewin = ewin; - tmp_groups = ewin->groups; - tmp_cfgs = (GroupConfig *) Emalloc(ewin->num_groups * sizeof(GroupConfig)); - tmp_current_group = 0; - group_member_strings = - GetWinGroupMemberNames(ewin->groups, ewin->num_groups); - ShowHideWinGroups(ewin, ewin->groups[0], SET_ON); - - for (i = 0; i < ewin->num_groups; i++) - CopyGroupConfig(&(ewin->groups[i]->cfg), &(tmp_cfgs[i])); - - d = DialogCreate("CONFIGURE_GROUP"); - DialogSetTitle(d, _("Window Group 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/group.png"); - - di = DialogAddItem(table, DITEM_TEXT); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemTextSetText(di, - _("Enlightenment Window Group\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); - DialogItemSetColSpan(di, 2); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetAlign(di, 0, 512); - DialogItemTextSetText(di, _(" Pick the group to configure: ")); - - radio = di = DialogAddItem(table, DITEM_RADIOBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupSelectCallback, 0, (void *)d); - DialogItemRadioButtonSetText(di, group_member_strings[0]); - DialogItemRadioButtonSetFirst(di, radio); - DialogItemRadioButtonGroupSetVal(di, 0); - - for (i = 1; i < ewin->num_groups; i++) - { - di = DialogAddItem(table, DITEM_RADIOBUTTON); - DialogItemSetColSpan(di, 2); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetCallback(di, &GroupSelectCallback, i, (void *)d); - DialogItemRadioButtonSetText(di, group_member_strings[i]); - DialogItemRadioButtonSetFirst(di, radio); - DialogItemRadioButtonGroupSetVal(di, i); - } - DialogItemRadioButtonGroupSetValPtr(radio, &tmp_index); - - 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); - DialogItemSetColSpan(di, 2); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetAlign(di, 0, 512); - DialogItemTextSetText(di, - _(" The following actions are \n" - " applied to all group members: ")); - - di_border = di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_BORDER, - &(tmp_cfg.set_border)); - DialogItemCheckButtonSetText(di, _("Changing Border Style")); - DialogItemCheckButtonSetState(di, tmp_cfgs[0].set_border); - DialogItemCheckButtonSetPtr(di, &(tmp_cfg.set_border)); - - di_iconify = di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupFeatureChangeCallback, - GROUP_FEATURE_ICONIFY, &(tmp_cfg.iconify)); - DialogItemCheckButtonSetText(di, _("Iconifying")); - DialogItemCheckButtonSetState(di, tmp_cfgs[0].iconify); - DialogItemCheckButtonSetPtr(di, &(tmp_cfg.iconify)); - - di_kill = di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_KILL, - &(tmp_cfg.kill)); - DialogItemCheckButtonSetText(di, _("Killing")); - DialogItemCheckButtonSetState(di, tmp_cfgs[0].kill); - DialogItemCheckButtonSetPtr(di, &(tmp_cfg.kill)); - - di_move = di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_MOVE, - &(tmp_cfg.move)); - DialogItemCheckButtonSetText(di, _("Moving")); - DialogItemCheckButtonSetState(di, tmp_cfgs[0].move); - DialogItemCheckButtonSetPtr(di, &(tmp_cfg.move)); - - di_raise = di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_RAISE, - &(tmp_cfg.raise)); - DialogItemCheckButtonSetText(di, _("Raising/Lowering")); - DialogItemCheckButtonSetState(di, tmp_cfgs[0].raise); - DialogItemCheckButtonSetPtr(di, &(tmp_cfg.raise)); - - di_stick = di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_STICK, - &(tmp_cfg.stick)); - DialogItemCheckButtonSetText(di, _("Sticking")); - DialogItemCheckButtonSetState(di, tmp_cfgs[0].stick); - DialogItemCheckButtonSetPtr(di, &(tmp_cfg.stick)); - - di_shade = di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_SHADE, - &(tmp_cfg.shade)); - DialogItemCheckButtonSetText(di, _("Shading")); - DialogItemCheckButtonSetState(di, tmp_cfgs[0].shade); - DialogItemCheckButtonSetPtr(di, &(tmp_cfg.shade)); - - di_mirror = di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemSetCallback(di, &GroupFeatureChangeCallback, GROUP_FEATURE_MIRROR, - &(tmp_cfg.mirror)); - DialogItemCheckButtonSetText(di, _("Mirror Shade/Iconify/Stick")); - DialogItemCheckButtonSetState(di, tmp_cfgs[0].mirror); - DialogItemCheckButtonSetPtr(di, &(tmp_cfg.mirror)); - - 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_ConfigureGroup, 1); - DialogAddButton(d, _("Apply"), CB_ConfigureGroup, 0); - DialogAddButton(d, _("Close"), CB_ConfigureGroup, 1); - DialogSetExitFunction(d, CB_ConfigureGroup, 2, d); - DialogBindKey(d, "Escape", CB_ConfigureGroupEscape, 0, d); - DialogBindKey(d, "Return", CB_ConfigureGroup, 0, d); - - for (i = 0; i < ewin->num_groups; i++) - Efree(group_member_strings[i]); - Efree(group_member_strings); - - ShowDialog(d); -} - -static GroupConfig tmp_group_cfg; -static char tmp_group_swap; -static void -CB_ConfigureDefaultGroupSettings(int val, void *data) -{ - if (val < 2) - { - CopyGroupConfig(&tmp_group_cfg, &(Conf.groups.dflt)); - Conf.groups.swapmove = tmp_group_swap; - } - autosave(); - data = NULL; -} - -void -SettingsDefaultGroupControl(void) -{ - Dialog *d; - DItem *table, *di; - - if ((d = - FindItem("CONFIGURE_DEFAULT_GROUP_CONTROL", 0, LIST_FINDBY_NAME, - LIST_TYPE_DIALOG))) - { - SoundPlay("SOUND_SETTINGS_ACTIVE"); - ShowDialog(d); - return; - } - SoundPlay("SOUND_SETTINGS_GROUP"); - - CopyGroupConfig(&(Conf.groups.dflt), &tmp_group_cfg); - tmp_group_swap = Conf.groups.swapmove; - - d = DialogCreate("CONFIGURE_DEFAULT_GROUP_CONTROL"); - DialogSetTitle(d, _("Default Group Control 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/group.png"); - - di = DialogAddItem(table, DITEM_TEXT); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemTextSetText(di, - _("Enlightenment Default\n" - "Group Control 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); - DialogItemSetColSpan(di, 2); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetAlign(di, 0, 512); - DialogItemTextSetText(di, _(" Per-group settings: ")); - - 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, _("Changing Border Style")); - DialogItemCheckButtonSetState(di, tmp_group_cfg.set_border); - DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.set_border)); - - di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemCheckButtonSetText(di, _("Iconifying")); - DialogItemCheckButtonSetState(di, tmp_group_cfg.iconify); - DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.iconify)); - - di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemCheckButtonSetText(di, _("Killing")); - DialogItemCheckButtonSetState(di, tmp_group_cfg.kill); - DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.kill)); - - di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemCheckButtonSetText(di, _("Moving")); - DialogItemCheckButtonSetState(di, tmp_group_cfg.move); - DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.move)); - - di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemCheckButtonSetText(di, _("Raising/Lowering")); - DialogItemCheckButtonSetState(di, tmp_group_cfg.raise); - DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.raise)); - - di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemCheckButtonSetText(di, _("Sticking")); - DialogItemCheckButtonSetState(di, tmp_group_cfg.stick); - DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.stick)); - - di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemCheckButtonSetText(di, _("Shading")); - DialogItemCheckButtonSetState(di, tmp_group_cfg.shade); - DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.shade)); - - di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemCheckButtonSetText(di, _("Mirror Shade/Iconify/Stick")); - DialogItemCheckButtonSetState(di, tmp_group_cfg.mirror); - DialogItemCheckButtonSetPtr(di, &(tmp_group_cfg.mirror)); - - 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); - DialogItemSetColSpan(di, 2); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetAlign(di, 0, 512); - DialogItemTextSetText(di, _(" Global settings: ")); - - di = DialogAddItem(table, DITEM_CHECKBUTTON); - DialogItemSetPadding(di, 2, 2, 2, 2); - DialogItemSetFill(di, 1, 0); - DialogItemSetColSpan(di, 2); - DialogItemCheckButtonSetText(di, _("Swap Window Locations")); - DialogItemCheckButtonSetState(di, tmp_group_swap); - DialogItemCheckButtonSetPtr(di, &(tmp_group_swap)); - - 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_ConfigureDefaultGroupSettings, 1); - DialogAddButton(d, _("Apply"), CB_ConfigureDefaultGroupSettings, 0); - DialogAddButton(d, _("Close"), CB_ConfigureDefaultGroupSettings, 1); - DialogSetExitFunction(d, CB_ConfigureDefaultGroupSettings, 2, d); - DialogBindKey(d, "Escape", DialogCallbackClose, 0, d); - DialogBindKey(d, "Return", CB_ConfigureDefaultGroupSettings, 0, d); - ShowDialog(d); -} - /* list of remembered items for the remember dialog -- it's either * _another_ global var, or a wrapper struct to pass data to the * callback funcs besides the dialog itself -- this is much easier */ =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/setup.c,v retrieving revision 1.139.2.8 retrieving revision 1.139.2.9 diff -u -3 -r1.139.2.8 -r1.139.2.9 --- setup.c 31 Aug 2004 21:58:35 -0000 1.139.2.8 +++ setup.c 31 Aug 2004 23:25:28 -0000 1.139.2.9 @@ -84,8 +84,8 @@ } if (init_win_ext) XRaiseWindow(disp, init_win_ext); - EdgeWindowsShow(); #if 0 /* FIXME Is this necessary? */ + EdgeWindowsShow(); ProgressbarsRaise(); #endif EMapWindow(disp, wlist[i]); @@ -656,39 +656,3 @@ exit(0); } - -void -SetupUserInitialization(void) -{ - - FILE *f; - char file[FILEPATH_LEN_MAX]; - - EDBUG(3, "SetupUserInitialization"); - - Esnprintf(file, sizeof(file), "%s/.initialized", EDirUser()); - if (isfile(file)) - { - Mode.firsttime = 0; - } - else - { - Mode.firsttime = 1; - f = fopen(file, "w"); - fprintf(f, "Congratulations, you have run enlightenment before.\n"); - fprintf(f, "Removing this file and the *.menu files in this\n"); - fprintf(f, "directory will cause enlightenment to regenerate them\n"); - fprintf(f, "and run the documentation browser.\n"); - fclose(f); - if (fork()) - EDBUG_RETURN_; - Esnprintf(file, sizeof(file), "exec %s/scripts/e_gen_menu", EDirRoot()); - execl(usershell(getuid()), usershell(getuid()), "-c", (char *)file, - NULL); - exit(0); - - } - - EDBUG_RETURN_; - -} =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/startup.c,v retrieving revision 1.44.2.3 retrieving revision 1.44.2.4 diff -u -3 -r1.44.2.3 -r1.44.2.4 --- startup.c 25 Aug 2004 21:56:59 -0000 1.44.2.3 +++ startup.c 31 Aug 2004 23:25:28 -0000 1.44.2.4 @@ -24,6 +24,9 @@ #include <sys/time.h> #include <time.h> +Window init_win1 = 0; +Window init_win2 = 0; + void CreateStartupDisplay(char start) { @@ -33,11 +36,6 @@ static ImageClass *ic = NULL; char pq; - EDBUG(6, "CreateStartupDisplay"); - - if (init_win_ext) - EDBUG_RETURN_; - if (start) { bg_sideways = FindItem("STARTUP_BACKGROUND_SIDEWAYS", 0, ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs