Enlightenment CVS committal Author : kwo Project : e16 Module : e
Dir : e16/e/src Modified Files: Tag: branch-exp E.h Makefile.am actions.c backgrounds.c buttons.c config.c emodule.c emodule.h fx.c groups.c iclass.c iconify.c ipc.c main.c mod-desks.c mod-menus.c mod-misc.c mod-trans.c mod-tt.c pager.c session.c slideout.c sound.c tclass.c theme.c warp.c Removed Files: Tag: branch-exp mod-sound.c Log Message: More config changes. =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/E.h,v retrieving revision 1.314.2.36 retrieving revision 1.314.2.37 diff -u -3 -r1.314.2.36 -r1.314.2.37 --- E.h 31 Aug 2004 23:25:25 -0000 1.314.2.36 +++ E.h 1 Sep 2004 23:37:15 -0000 1.314.2.37 @@ -411,9 +411,10 @@ #define ACTION_SKIPLISTS 102 #define ACTION_SWAPMOVE 103 #define ACTION_FULLSCREEN 104 -#define ACTION_CONFIGURE 105 +#define ACTION_CONFIG_SET 105 +#define ACTION_IPC 106 /* false number excluding the above list */ -#define ACTION_NUMBEROF 106 +#define ACTION_NUMBEROF 107 #define MODE_NONE 0 #define MODE_MOVE_PENDING 1 @@ -487,7 +488,6 @@ typedef struct _group Group; typedef struct _button Button; typedef struct _slideout Slideout; -typedef struct _soundclass SoundClass; typedef struct _background Background; typedef struct _ecursor ECursor; typedef struct _efont Efont; @@ -1052,10 +1052,6 @@ } snap; struct { - char enable; - } sound; - struct - { char *name; } theme; struct @@ -1503,7 +1499,6 @@ void CommsBroadcastToSlaveWMs(const char *s); /* config.c */ -void ConfigAlertLoad(const char *txt); int ConfigSkipIfExists(FILE * fs, const char *name, int type); char *GetLine(char *s, int size, FILE * f); char *FindFile(const char *file); @@ -2230,13 +2225,7 @@ void RememberImportantInfoForEwin(EWin * ewin); /* sound.c */ -SoundClass *SclassCreate(const char *name, const char *file); -const char *SclassGetName(SoundClass * sclass); -void SoundInit(void); -void SoundExit(void); int SoundPlay(const char *name); -int SoundFree(const char *name); -int SoundConfigLoad(FILE * fs); /* stacking.c */ typedef struct _ewinlist EWinList; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Makefile.am,v retrieving revision 1.43.2.14 retrieving revision 1.43.2.15 diff -u -3 -r1.43.2.14 -r1.43.2.15 --- Makefile.am 31 Aug 2004 23:25:25 -0000 1.43.2.14 +++ Makefile.am 1 Sep 2004 23:37:15 -0000 1.43.2.15 @@ -66,7 +66,6 @@ mod-desks.c \ mod-menus.c \ mod-misc.c \ - mod-sound.c \ mod-trans.c \ mod-tt.c \ moveresize.c \ =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/actions.c,v retrieving revision 1.174.2.13 retrieving revision 1.174.2.14 diff -u -3 -r1.174.2.13 -r1.174.2.14 --- actions.c 27 Aug 2004 23:27:41 -0000 1.174.2.13 +++ actions.c 1 Sep 2004 23:37:15 -0000 1.174.2.14 @@ -1927,31 +1927,6 @@ } #if 0 /* About to go */ -static int -doSoundSet(EWin * edummy, const char *params) -{ - char snd; - - snd = Conf.sound; - if (params) - Conf.sound = atoi(params); - else - { - if (Conf.sound) - Conf.sound = 0; - else - Conf.sound = 1; - } - if (Conf.sound != snd) - { - if (Conf.sound) - SoundInit(); - else - SoundExit(); - } - autosave(); - return 0; -} static int doDragdirSet(EWin * edummy, const char *params) @@ -2057,17 +2032,6 @@ } static int -doPlaySoundClass(EWin * edummy, const char *params) -{ - if (!params) - return 0; - - SoundPlay(params); - - return 0; -} - -static int doDeskray(EWin * edummy, const char *params) { if (params) @@ -2754,40 +2718,6 @@ } #endif -static int -doSettings(EWin * edummy __UNUSED__, const char *params) -{ - char s[128]; - const char *p; - int l; - - p = params; - l = 0; - sscanf(p, "%100s %n", s, &l); - p += l; - -#if 1 /* BW compatibility */ - if (!strcmp(s, "area")) - { - strcpy(s, "desk"); - p = "area"; - } - else if (!strncmp(s, "group", 5)) - { - strcpy(s, "group"); - p = params; - } - else if (!strcmp(s, "autoraise")) - { - strcpy(s, "focus"); - p = "autoraise"; - } -#endif - ModuleSettings(s, p); - - return 0; -} - struct _keyset { const char *sym; @@ -2942,6 +2872,7 @@ return 0; } +#if 0 static int doCreateIconbox(EWin * edummy __UNUSED__, const char *params) { @@ -2950,6 +2881,7 @@ autosave(); return 0; } +#endif static int doShowHideGroup(EWin * ewin, const char *params __UNUSED__) @@ -3056,6 +2988,14 @@ return 0; } +static int +doIpc(EWin * edummy __UNUSED__, const char *params) +{ + HandleIPC(params, NULL); + + return 0; +} + #define ACTION_ITEM(need_ewin, ok_zoom, ok_movres, hide_slideouts, func) \ { need_ewin, ok_zoom, ok_movres, hide_slideouts, func, NULL } @@ -3138,7 +3078,7 @@ ACTION_ITEM(1, 0, 0, 0, doMoveWinByArea), /* ACTION_MOVE_WINDOW_BY_LINEAR_AREA */ ACTION_ITEM(0, 0, 0, 0, NULL), /* ACTION_SET_PAGER_HIQ */ ACTION_ITEM(0, 0, 0, 0, NULL), /* ACTION_SET_PAGER_SNAP */ - ACTION_ITEM(0, 0, 0, 0, doSettings), /* ACTION_SETTINGS */ + ACTION_ITEM(0, 0, 0, 0, NULL), /* ACTION_SETTINGS */ ACTION_ITEM(1, 0, 0, 1, doMoveConstrained), /* ACTION_MOVE_CONSTRAINED */ ACTION_ITEM(0, 0, 0, 0, doInsertKeys), /* ACTION_INSERT_KEYS */ ACTION_ITEM(1, 0, 0, 0, doStartGroup), /* ACTION_START_GROUP */ @@ -3146,7 +3086,7 @@ ACTION_ITEM(1, 0, 0, 0, doRemoveFromGroup), /* ACTION_REMOVE_FROM_GROUP */ ACTION_ITEM(1, 0, 0, 0, doBreakGroup), /* ACTION_BREAK_GROUP */ ACTION_ITEM(1, 0, 0, 0, doShowHideGroup), /* ACTION_SHOW_HIDE_GROUP */ - ACTION_ITEM(0, 0, 0, 0, doCreateIconbox), /* ACTION_CREATE_ICONBOX */ + ACTION_ITEM(0, 0, 0, 0, NULL), /* ACTION_CREATE_ICONBOX */ ACTION_ITEM(1, 0, 0, 0, doRaiseLower), /* ACTION_RAISE_LOWER */ ACTION_ITEM(1, 1, 0, 1, doZoom), /* ACTION_ZOOM */ ACTION_ITEM(1, 0, 0, 0, doSetWinBorderNoGroup), /* ACTION_SET_WINDOW_BORDER_NG */ @@ -3165,5 +3105,6 @@ ACTION_ITEM(1, 0, 0, 0, doSkipLists), /* ACTION_SKIPLISTS */ ACTION_ITEM(1, 0, 0, 1, doSwapMove), /* ACTION_SWAPMOVE */ ACTION_ITEM(1, 0, 0, 0, doFullscreen), /* ACTION_FULLSCREEN */ - ACTION_ITEM(1, 0, 0, 0, doConfigSet) /* ACTION_CONFIG_SET */ + ACTION_ITEM(1, 0, 0, 0, doConfigSet), /* ACTION_CONFIG_SET */ + ACTION_ITEM(0, 0, 0, 0, doIpc), /* ACTION_IPC */ }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/backgrounds.c,v retrieving revision 1.5.2.5 retrieving revision 1.5.2.6 diff -u -3 -r1.5.2.5 -r1.5.2.6 --- backgrounds.c 29 Aug 2004 14:06:46 -0000 1.5.2.5 +++ backgrounds.c 1 Sep 2004 23:37:16 -0000 1.5.2.6 @@ -2376,12 +2376,6 @@ RefreshDesktop(desks.current); } -static void -BackgroundsConfigure(const char *params __UNUSED__) -{ - SettingsBackground(desks.desk[desks.current].bg); -} - /* * IPC functions */ @@ -2567,6 +2561,10 @@ BackgroundApply(bg, win, 0); } } + else if (!strncmp(cmd, "cfg", 2)) + { + SettingsBackground(desks.desk[desks.current].bg); + } else if (!strncmp(cmd, "del", 2)) { BackgroundDestroyByName(prm); @@ -2696,6 +2694,7 @@ "Background commands", " background Show current background\n" " background apply <name> <win> Apply background to window\n" + " background cfg Configure backgrounds\n" " background del <name> Delete background\n" " background list Show all background\n" " background set <name> ... Set background parameters\n" @@ -2720,8 +2719,7 @@ "backgrounds", "bg", BackgroundsSighan, BackgroundsConfigLoad, BackgroundsConfigSave, - BackgroundsConfigure, - {0, NULL} - , {N_IPC_FUNCS, BackgroundsIpcArray} + , + {0, NULL} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/buttons.c,v retrieving revision 1.36.2.6 retrieving revision 1.36.2.7 diff -u -3 -r1.36.2.6 -r1.36.2.7 --- buttons.c 31 Aug 2004 23:25:26 -0000 1.36.2.6 +++ buttons.c 1 Sep 2004 23:37:16 -0000 1.36.2.7 @@ -1031,7 +1031,6 @@ "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.15 retrieving revision 1.111.2.16 diff -u -3 -r1.111.2.15 -r1.111.2.16 --- config.c 31 Aug 2004 23:25:26 -0000 1.111.2.15 +++ config.c 1 Sep 2004 23:37:16 -0000 1.111.2.16 @@ -174,7 +174,7 @@ return s; } -void +static void ConfigAlertLoad(const char *txt) { RecoverUserConfig(); @@ -183,351 +183,6 @@ } static void -Config_Control(FILE * ConfigFile) -{ - - /* this function reads in the control segment of the - * configuration file... this contains all the generic Mode.blah - * stuff as well as desks.blah - */ - - char s[FILEPATH_LEN_MAX]; - int i1, i2, i3, fields; - float f1; - - while (GetLine(s, sizeof(s), ConfigFile)) - { - i1 = i2 = CONFIG_INVALID; - fields = sscanf(s, "%i %i", &i1, &i2); - - if (fields < 1) - { - i1 = CONFIG_INVALID; - } - else if (i1 == CONFIG_CLOSE) - { - if (fields != 1) - { - RecoverUserConfig(); - Alert(_("CONFIG: ignoring extra data in \"%s\"\n"), s); - } - } - else if (i1 != CONFIG_INVALID) - { - if (fields != 2) - { - RecoverUserConfig(); - Alert(_("CONFIG: missing required data in \"%s\"\n"), s); - i1 = CONFIG_INVALID; - } - } - switch (i1) - { - case CONFIG_CLOSE: - return; - case CONFIG_SOUND: - Conf.sound.enable = i2; - break; - case CONTROL_SAVE_UNDER: - Conf.save_under = i2; - break; - case CONTROL_FOCUSMODE: - Conf.focus.mode = i2; - break; - case CONTROL_MOVEMODE: - Conf.movemode = i2; - if (Conf.movemode < 0 || Conf.movemode > 5) - Conf.movemode = 0; - break; - case CONTROL_RESIZEMODE: - Conf.resizemode = i2; - if (Conf.resizemode < 0 || Conf.resizemode > 4) - Conf.resizemode = 0; - break; - case CONTROL_GEOMINFOMODE: - Conf.geominfomode = i2; - break; - case CONTROL_SLIDEMODE: - Conf.slidemode = i2; - break; - case CONTROL_CLEANUPSLIDE: - Conf.cleanupslide = i2; - break; - case CONTROL_DOCKDIRMODE: - Conf.dock.dirmode = i2; - break; - case CONTROL_MAPSLIDE: - Conf.mapslide = i2; - break; - case CONTROL_TOOLTIPS: - Conf.tooltips.enable = i2; - break; - case CONTROL_MENUSLIDE: - Conf.menus.slide = i2; - break; - case CONTROL_NUMDESKTOPS: - Conf.desks.num = i2; - if (Conf.desks.num <= 0) - Conf.desks.num = 1; - else if (Conf.desks.num > ENLIGHTENMENT_CONF_NUM_DESKTOPS) - Conf.desks.num = ENLIGHTENMENT_CONF_NUM_DESKTOPS; - break; - case CONTROL_MEMORYPARANOIA: - Conf.memory_paranoia = i2; - break; - case CONTROL_TRANSIENTS_FOLLOW_LEADER: - Conf.focus.transientsfollowleader = i2; - break; - case CONTROL_SWITCH_FOR_TRANSIENT_MAP: - Conf.focus.switchfortransientmap = i2; - break; - case CONTROL_SHOWICONS: - /* Obsolete */ - break; - case CONTROL_ALL_NEW_WINDOWS_GET_FOCUS: - Conf.focus.all_new_windows_get_focus = i2; - break; - case CONTROL_NEW_TRANSIENTS_GET_FOCUS: - Conf.focus.new_transients_get_focus = i2; - break; - case CONTROL_NEW_TRANSIENTS_GET_FOCUS_IF_GROUP: - Conf.focus.new_transients_get_focus_if_group_focused = i2; - break; - case CONTROL_MANUAL_PLACEMENT: - Conf.place.manual = i2; - break; - case CONTROL_MANUAL_PLACEMENT_MOUSE_POINTER: - Conf.place.manual_mouse_pointer = i2; - break; - case CONTROL_PLACE_IGNORE_STRUTS: - Conf.place.ignore_struts = i2; - break; - case CONTROL_RAISE_ON_NEXT_FOCUS: - Conf.focus.raise_on_next = i2; - break; - case CONTROL_RAISE_AFTER_NEXT_FOCUS: - Conf.warplist.raise_on_select = i2; - break; - case CONTROL_DISPLAY_WARP: - Conf.warplist.enable = i2; - break; - case CONTROL_WARP_ON_NEXT_FOCUS: - Conf.focus.warp_on_next = i2; - break; - case CONTROL_WARP_AFTER_NEXT_FOCUS: - Conf.warplist.warp_on_select = i2; - break; - case CONTROL_PAGER_SCANSPEED: - Conf.pagers.scanspeed = i2; - break; - case CONTROL_EDGE_FLIP_RESISTANCE: - Conf.edge_flip_resistance = i2; - break; - case CONTROL_TOOLTIPTIME: - sscanf(s, "%*i %f", &f1); - Conf.tooltips.delay = f1 * 1000; - break; - case CONTROL_AUTORAISE: - Conf.autoraise.enable = i2; - break; - case CONTROL_AUTORAISETIME: - sscanf(s, "%*i %f", &f1); - Conf.autoraise.delay = f1 * 1000; - break; - case CONTROL_GROUP_BORDER: - Conf.groups.dflt.set_border = i2; - break; - case CONTROL_GROUP_KILL: - Conf.groups.dflt.kill = i2; - break; - case CONTROL_GROUP_MOVE: - Conf.groups.dflt.move = i2; - break; - case CONTROL_GROUP_RAISE: - Conf.groups.dflt.raise = i2; - break; - case CONTROL_GROUP_ICONIFY: - Conf.groups.dflt.iconify = i2; - break; - case CONTROL_GROUP_STICK: - Conf.groups.dflt.stick = i2; - break; - case CONTROL_GROUP_SHADE: - Conf.groups.dflt.shade = i2; - break; - case CONTROL_GROUP_MIRROR: - Conf.groups.dflt.mirror = i2; - break; - case CONTROL_GROUP_SWAPMOVE: - Conf.groups.swapmove = i2; - break; - case DESKTOP_DRAGDIR: - Conf.desks.dragdir = i2; - break; - case DESKTOP_DRAGBAR_WIDTH: - Conf.desks.dragbar_width = i2; - break; - case DESKTOP_DRAGBAR_ORDERING: - Conf.desks.dragbar_ordering = i2; - break; - case DESKTOP_DRAGBAR_LENGTH: - Conf.desks.dragbar_length = i2; - break; - case DESKTOP_SLIDEIN: - Conf.desks.slidein = i2; - break; - case DESKTOP_SLIDESPEED: - Conf.desks.slidespeed = i2; - break; - case CONTROL_SHADESPEED: - Conf.shadespeed = i2; - break; - case CONTROL_ANIMATESHADING: - Conf.animate_shading = i2; - break; - case CONTROL_MENUONSCREEN: - Conf.menus.onscreen = i2; - break; - case CONTROL_WARPMENUS: - Conf.menus.warp = i2; - break; - case CONTROL_WARPSTICKY: - Conf.warplist.showsticky = i2; - break; - case CONTROL_WARPSHADED: - Conf.warplist.showshaded = i2; - break; - case CONTROL_WARPICONIFIED: - Conf.warplist.showiconified = i2; - break; - case CONTROL_WARPFOCUSED: - Conf.warplist.warpfocused = i2; - break; - case DESKTOP_HIQUALITYBG: - Conf.backgrounds.hiquality = i2; - break; - case DESKTOP_AREA_SIZE: - sscanf(s, "%i %i %i", &i1, &i2, &i3); - Conf.areas.nx = i2; - Conf.areas.ny = i3; - break; - case CONTROL_AREA_WRAPAROUND: - Conf.areas.wraparound = i2; - break; - case CONTROL_DIALOG_HEADERS: - Conf.dialogs.headers = i2; - break; - case CONTROL_DESKTOP_WRAPAROUND: - Conf.desks.wraparound = i2; - break; - case CONTROL_SLIDESPEEDMAP: - Conf.slidespeedmap = i2; - break; - case CONTROL_SLIDESPEEDCLEANUP: - Conf.slidespeedcleanup = i2; - break; - case CONTROL_DESKTOP_BG_TIMEOUT: - Conf.backgrounds.timeout = i2; - break; - case CONTROL_BUTTON_MOVE_RESISTANCE: - Conf.button_move_resistance = i2; - break; - case CONTROL_AUTOSAVE: - Conf.autosave = i2; - break; - case CONTROL_SHOW_PAGERS: - Conf.pagers.enable = i2; - break; - case CONTROL_PAGER_ZOOM: - Conf.pagers.zoom = i2; - break; - case CONTROL_PAGER_TITLE: - Conf.pagers.title = i2; - break; - case CONTROL_PAGER_HIQ: - Conf.pagers.hiq = i2; - break; - case CONTROL_PAGER_SNAP: - Conf.pagers.snap = i2; - break; - case CONTROL_USER_BG: - Conf.backgrounds.user = i2; - break; -#ifdef ENABLE_THEME_TRANSPARENCY - case CONTROL_THEME_TRANSPARENCY: - Conf.trans.alpha = i2; - break; - case CONTROL_ST_BORDER: - Conf.trans.border = i2; - break; - case CONTROL_ST_WIDGET: - Conf.trans.widget = i2; - break; - case CONTROL_ST_ICONBOX: - Conf.trans.iconbox = i2; - break; - case CONTROL_ST_MENU: - Conf.trans.menu = i2; - break; - case CONTROL_ST_MENU_ITEM: - Conf.trans.menu_item = i2; - break; - case CONTROL_ST_TOOLTIP: - Conf.trans.tooltip = i2; - break; - case CONTROL_ST_DIALOG: - Conf.trans.dialog = i2; - break; - case CONTROL_ST_HILIGHT: - Conf.trans.hilight = i2; - break; - case CONTROL_ST_PAGER: - Conf.trans.pager = i2; - break; - case CONTROL_ST_WARPLIST: - Conf.trans.warplist = i2; - break; -#endif - case CONTROL_DOCKSTARTPOS: - sscanf(s, "%*s %d %d ", &Conf.dock.startx, &Conf.dock.starty); - break; - case CONTROL_KDESUPPORT: -#if 0 /* Ignore */ -#endif - break; - case CONTROL_SHOWROOTTOOLTIP: - Conf.tooltips.showroottooltip = i2; - break; - case CONTROL_PAGER_BUTTONS: - sscanf(s, "%*s %i %i %i ", &Conf.pagers.sel_button, - &Conf.pagers.win_button, &Conf.pagers.menu_button); - break; - case CONTROL_CLICK_ALWAYS: - Conf.focus.clickraises = i2; - break; - case CONFIG_EXTRA_HEAD: -#ifdef HAS_XINERAMA - Conf.extra_head = i2; -#endif - break; - case CONTROL_ICONTEXT: - break; - case CONTROL_DOCKAPP_SUPPORT: - Conf.dock.enable = i2; - break; - default: - RecoverUserConfig(); - Alert(_("Warning: unable to determine what to do with\n" - "the following text in the middle of current Control " - "definition:\n" "%s\nWill ignore and continue...\n"), s); - } - } - RecoverUserConfig(); - Alert(_("Warning: Configuration appears to have ended before we were\n" - "Done loading a Control block. Outcome is likely not good.\n")); -} - -static void Config_Extras(FILE * ConfigFile) { char s[FILEPATH_LEN_MAX]; @@ -760,9 +415,7 @@ ConfigAlertLoad(_("Image class")); break; case CONFIG_FX: -#if 0 // FIXME - Config_FX(ConfigFile); -#endif + /* Ignore */ break; case CONFIG_EXTRAS: Config_Extras(ConfigFile); @@ -809,7 +462,9 @@ ConfigAlertLoad(_("Iconbox")); break; case CONFIG_CONTROL: +#if 0 Config_Control(ConfigFile); +#endif break; case CONFIG_WINDOWMATCH: err = WindowMatchConfigLoad(ConfigFile); @@ -1041,7 +696,6 @@ EDBUG(5, "Dummy-LoadOpenConfigFile"); LoadOpenConfigFile(OpenConfigFileForReading (GetGenericSMFile(), 0)); - SoundInit(); is_autosave = 0; } else =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/emodule.c,v retrieving revision 1.1.2.3 retrieving revision 1.1.2.4 diff -u -3 -r1.1.2.3 -r1.1.2.4 --- emodule.c 27 Aug 2004 21:31:52 -0000 1.1.2.3 +++ emodule.c 1 Sep 2004 23:37:17 -0000 1.1.2.4 @@ -191,26 +191,6 @@ } int -ModuleSettings(const char *name, const char *params) -{ - const EModule *em; - - em = EModuleFind(name); - if (!em) - return -1; - - if (em->Configure) - { -#if 0 - Eprintf("ModuleConfigure %s(%s)\n", em->name, params); -#endif - em->Configure(params); - } - - return 0; -} - -int ModuleCommand(const char *name, const char *cmd, const char *params) { const EModule *em; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/emodule.h,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -u -3 -r1.1.2.4 -r1.1.2.5 --- emodule.h 29 Aug 2004 14:06:47 -0000 1.1.2.4 +++ emodule.h 1 Sep 2004 23:37:17 -0000 1.1.2.5 @@ -32,17 +32,16 @@ void (*Signal) (int sig, void *prm); int (*ConfigLoad) (FILE * fs); int (*ConfigSave) (FILE * fs); - void (*Configure) (const char *params); struct { int num; - const CfgItem *lst; - } cfg; + const IpcItem *lst; + } ipc; struct { int num; - const IpcItem *lst; - } ipc; + const CfgItem *lst; + } cfg; } EModule; typedef enum @@ -85,7 +84,6 @@ int ModuleConfigLoad(const char *name, FILE * fs); int ModuleConfigSave(const char *name, FILE * fs); -int ModuleSettings(const char *name, const char *params); int ModuleConfigSet(const char *name, const char *item, const char *params); int ModuleConfigShow(const char *name, const char *item); =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/fx.c,v retrieving revision 1.41.2.7 retrieving revision 1.41.2.8 diff -u -3 -r1.41.2.7 -r1.41.2.8 --- fx.c 27 Aug 2004 21:31:53 -0000 1.41.2.7 +++ fx.c 1 Sep 2004 23:37:17 -0000 1.41.2.8 @@ -935,50 +935,6 @@ /****************************************************************************/ -#if 0 -/* - * Configuration load/save - */ -#include "conf.h" - -static void -Config_FX(FILE * fs) -{ - - /* This function loads various fx out of config file */ - - char s[FILEPATH_LEN_MAX]; - char s2[FILEPATH_LEN_MAX]; - int i1; - int fields; - - while (GetLine(s, sizeof(s), fs)) - { - s2[0] = 0; - i1 = CONFIG_INVALID; - fields = sscanf(s, "%i", &i1); - - if (fields < 1) - { - word(s, 1, s2); - FX_Op(s2, FX_OP_START); - } - else if (i1 == CONFIG_CLOSE) - { - if (fields != 1) - { - RecoverUserConfig(); - Alert(_("CONFIG: ignoring extra data in \"%s\"\n"), s); - } - return; - } - } - RecoverUserConfig(); - Alert(_("Warning: Configuration appears to have ended before we were\n" - "Done loading an FX block. Outcome is likely not good.\n")); -} -#endif - /* * Fx Module */ @@ -1007,24 +963,6 @@ } } -#if 0 /* Obsolete */ -static int -FxConfigSave(FILE * fs) -{ - char **slist; - - slist = FX_Active(&num); - if (slist) - { - fprintf(autosavefile, "18 999\n"); - for (i = 0; i < num; i++) - fprintf(autosavefile, "%s\n", slist[i]); - freestrlist(slist, num); - fprintf(autosavefile, "1000\n"); - } -} -#endif - static char tmp_effect_raindrops; static char tmp_effect_ripples; static char tmp_effect_waves; @@ -1129,12 +1067,6 @@ } static void -FxConfigure(const char *params __UNUSED__) -{ - FxSettings(); -} - -static void FxIpc(const char *params, Client * c __UNUSED__) { char word1[FILEPATH_LEN_MAX]; @@ -1163,6 +1095,10 @@ else IpcPrintf("Error: unknown mode specified"); } + else if (!strncmp(word1, "cfg", 2)) + { + FxSettings(); + } } IpcItem FxIpcArray[] = { @@ -1170,8 +1106,9 @@ FxIpc, "fx", "fx", "Toggle various effects on/off", - "Use \"fx <effect> <mode>\" to set the mode of a particular effect\n" - "Use \"fx <effect> ?\" to get the current mode\n" + " fx cfg Configure effects\n" + " fx <effect> <mode> Set the mode of a particular effect\n" + " fx <effect> ?\" Get the current mode\n" "the following effects are available\n" " ripples <on/off> (ripples that act as a water effect on the screen)\n" " waves <on/off> (waves that act as a water effect on the screen)\n"} @@ -1195,7 +1132,6 @@ "effects", "efx", FxSighan, NULL, NULL, - FxConfigure, - {N_CFG_ITEMS, FxCfgItems}, - {N_IPC_FUNCS, FxIpcArray} + {N_IPC_FUNCS, FxIpcArray}, + {N_CFG_ITEMS, FxCfgItems} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/groups.c,v retrieving revision 1.57.2.4 retrieving revision 1.57.2.5 diff -u -3 -r1.57.2.4 -r1.57.2.5 --- groups.c 31 Aug 2004 23:25:27 -0000 1.57.2.4 +++ groups.c 1 Sep 2004 23:37:17 -0000 1.57.2.5 @@ -1175,7 +1175,6 @@ sscanf(p, "%100s %n", s, &l); p += l; - Eprintf(">%s< >%s<\n", params, s); if (!strcmp(s, "group")) { ewin = GetFocusEwin(); @@ -1208,12 +1207,48 @@ } } +static void +GroupsIpc(const char *params, Client * c __UNUSED__) +{ + const char *p; + char cmd[128], prm[128]; + int len; + + p = NULL; + if (params) + { + p = params; + len = 0; + cmd[0] = prm[0] = '\0'; + sscanf(p, "%100s %100s %n", cmd, prm, &len); + p += len; + } + + if (!p || cmd[0] == '?') + { + /* Show groups */ + } + else if (!strncmp(cmd, "cfg", 2)) + { + GroupsConfigure(prm); + } +} + +IpcItem GroupsIpcArray[] = { + { + GroupsIpc, + "groups", "grp", + "Configure window groups", + " groups cfg Configure groups\n"} + , +}; +#define N_IPC_FUNCS (sizeof(GroupsIpcArray)/sizeof(IpcItem)) + EModule ModGroups = { "groups", "grp", GroupsSighan, NULL, NULL, - GroupsConfigure, - {0, NULL} + {N_IPC_FUNCS, GroupsIpcArray} , {0, NULL} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/iclass.c,v retrieving revision 1.46.2.4 retrieving revision 1.46.2.5 diff -u -3 -r1.46.2.4 -r1.46.2.5 --- iclass.c 27 Aug 2004 21:31:53 -0000 1.46.2.4 +++ iclass.c 1 Sep 2004 23:37:17 -0000 1.46.2.5 @@ -1511,8 +1511,7 @@ "imageclass", "ic", ImageclassSighan, ImageclassConfigLoad, NULL, - NULL, - {0, NULL} - , {N_IPC_FUNCS, ImageclassIpcArray} + , + {0, NULL} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/iconify.c,v retrieving revision 1.116.2.15 retrieving revision 1.116.2.16 diff -u -3 -r1.116.2.15 -r1.116.2.16 --- iconify.c 31 Aug 2004 21:58:35 -0000 1.116.2.15 +++ iconify.c 1 Sep 2004 23:37:18 -0000 1.116.2.16 @@ -3034,6 +3034,7 @@ switch (sig) { case ESIGNAL_START: + /* We should create one if enabled and none existing */ IconboxesShow(); break; case ESIGNAL_EWIN_ICONIFY: @@ -3075,31 +3076,53 @@ * IPC functions */ static void -IpcIboxCreate(const char *params, Client * c __UNUSED__) +IboxIpc(const char *params, Client * c __UNUSED__) { - Iconbox *ib, **ibl; - int num = 0; - char s[64]; + const char *p; + char cmd[128], prm[128]; + int len, num; - if (params == NULL) + p = NULL; + if (params) { - ibl = IconboxesList(&num); - if (ibl) - Efree(ibl); - Esnprintf(s, sizeof(s), "_IB_%i", num); - params = s; + p = params; + len = 0; + cmd[0] = prm[0] = '\0'; + sscanf(p, "%100s %100s %n", cmd, prm, &len); + p += len; + } + + if (!p || cmd[0] == '?') + { + /* List iconboxes */ + } + else if (!strncmp(cmd, "cfg", 3)) + { + IconboxesConfigure(prm); + } + else if (!strncmp(cmd, "new", 3)) + { + Iconbox *ib, **ibl; + + if (!prm[0]) + { + ibl = IconboxesList(&num); + if (ibl) + Efree(ibl); + Esnprintf(prm, sizeof(prm), "_IB_%i", num); + } + ib = IconboxCreate(prm); + IconboxShow(ib); } - ib = IconboxCreate(params); - IconboxShow(ib); } IpcItem IconboxesIpcArray[] = { { - IpcIboxCreate, + IboxIpc, "iconbox", "ibox", - "Create a new iconbox", - "."} - , + "Iconbox functions", + " iconbox new <name> Create new iconbox" + " iconbox cfg Configure iconboxes"} }; #define N_IPC_FUNCS (sizeof(IconboxesIpcArray)/sizeof(IpcItem)) @@ -3120,7 +3143,6 @@ "iconboxes", "ibox", IconboxesSighan, IconboxesConfigLoad, IconboxesConfigSave, - IconboxesConfigure, - {0, NULL}, - {N_IPC_FUNCS, IconboxesIpcArray} + {N_IPC_FUNCS, IconboxesIpcArray}, + {0, NULL} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/ipc.c,v retrieving revision 1.174.2.19 retrieving revision 1.174.2.20 diff -u -3 -r1.174.2.19 -r1.174.2.20 --- ipc.c 31 Aug 2004 23:25:27 -0000 1.174.2.19 +++ ipc.c 1 Sep 2004 23:37:19 -0000 1.174.2.20 @@ -43,7 +43,8 @@ if (bufptr == NULL) return; - CommsSend(c, bufptr); + if (c) + CommsSend(c, bufptr); Efree(bufptr); bufsiz = 0; bufptr = NULL; @@ -699,27 +700,6 @@ if (lst) Efree(lst); } - else if (!strcmp(params, "sounds")) - { - SoundClass **lst; - - lst = (SoundClass **) ListItemType(&num, LIST_TYPE_SCLASS); - for (i = 0; i < num; i++) - { - buf2[0] = 0; - Esnprintf(buf2, sizeof(buf2), "%s\n", SclassGetName(lst[i])); - if (buf) - buf = realloc(buf, strlen(buf) + strlen(buf2) + 1); - else - { - buf = malloc(strlen(buf2) + 1); - buf[0] = 0; - } - strcat(buf, buf2); - } - if (lst) - Efree(lst); - } else if (!strcmp(params, "cursors")) { ECursor **lst; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/main.c,v retrieving revision 1.99.2.17 retrieving revision 1.99.2.18 diff -u -3 -r1.99.2.17 -r1.99.2.18 --- main.c 31 Aug 2004 23:25:28 -0000 1.99.2.17 +++ main.c 1 Sep 2004 23:37:20 -0000 1.99.2.18 @@ -74,8 +74,6 @@ if (str) Mode.wm.coredump = 1; - EDBUG(1, "main"); - /* go head and set up the internal data lists that enlightenment * uses for finding everything */ @@ -218,11 +216,6 @@ desks.desk[0].viewable = 1; RefreshDesktop(0); - if (Conf.sound.enable) - { - SoundPlay("SOUND_STARTUP"); - SoundFree("SOUND_STARTUP"); - } /* toss down the dragbar and related */ InitDesktopControls(); @@ -322,5 +315,56 @@ WaitEvent(); /* Of course, we should NEVER get to this point */ - EDBUG_RETURN(0); + + return 1; +} + +int +EExit(int exitcode) +{ + int i; + + EDBUG(9, "EExit"); + + if (EventDebug(EDBUG_TYPE_SESSION)) + Eprintf("EExit(%d)\n", exitcode); + + SaveSession(1); + + if (disp) + { + ecore_x_ungrab(); + GrabPointerRelease(); + XAllowEvents(disp, AsyncBoth, CurrentTime); + + /* This mechanism is only needed when the SM is unavailable: */ + ICCCM_SetEInfoOnAll(); + + /* XSetInputFocus(disp, None, RevertToParent, CurrentTime); */ + /* I think this is a better way to release the grabs: (felix) */ + XSetInputFocus(disp, PointerRoot, RevertToPointerRoot, CurrentTime); + XSelectInput(disp, VRoot.win, 0); + EDisplayClose(); + } + + XSetErrorHandler((XErrorHandler) NULL); + XSetIOErrorHandler((XIOErrorHandler) NULL); + + SignalsRestore(); + + if (Mode.wm.master) + { + for (i = 0; i < Mode.wm.child_count; i++) + kill(Mode.wm.children[i], SIGINT); + } + else + { + exitcode = 0; + } + + Real_SaveSnapInfo(0, NULL); + ModulesSignal(ESIGNAL_EXIT, NULL); + + exit(exitcode); + EDBUG_RETURN(exitcode); } =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-desks.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-desks.c 27 Aug 2004 21:31:54 -0000 1.1.2.5 +++ mod-desks.c 1 Sep 2004 23:37:20 -0000 1.1.2.6 @@ -471,14 +471,44 @@ } static void -DesktopsConfigure(const char *params) +DesktopsIpc(const char *params, Client * c __UNUSED__) { - if (!strcmp(params, "area")) - SettingsArea(); - else - SettingsDesktops(); + const char *p; + char cmd[128], prm[128]; + int len; + + p = NULL; + if (params) + { + p = params; + len = 0; + cmd[0] = prm[0] = '\0'; + sscanf(p, "%100s %100s %n", cmd, prm, &len); + p += len; + } + + if (!p || cmd[0] == '?') + { + /* Show info */ + } + else if (!strncmp(cmd, "cfg", 3)) + { + if (!strcmp(prm, "area")) + SettingsArea(); + else + SettingsDesktops(); + } } +IpcItem DesktopsIpcArray[] = { + { + DesktopsIpc, + "desktop", "desk", + "Desktop functions", + " desktop cfg Configure desktops"} +}; +#define N_IPC_FUNCS (sizeof(DesktopsIpcArray)/sizeof(IpcItem)) + static const CfgItem DesktopsCfgItems[] = { CFG_ITEM_INT(Conf.desks, num, 2), CFG_ITEM_BOOL(Conf.desks, wraparound, 0), @@ -502,7 +532,6 @@ "desktops", "desk", DesktopsSighan, NULL, NULL, - DesktopsConfigure, - {N_CFG_ITEMS, DesktopsCfgItems}, - {0, NULL} + {N_IPC_FUNCS, DesktopsIpcArray}, + {N_CFG_ITEMS, DesktopsCfgItems} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-menus.c,v retrieving revision 1.1.2.6 retrieving revision 1.1.2.7 diff -u -3 -r1.1.2.6 -r1.1.2.7 --- mod-menus.c 31 Aug 2004 18:43:00 -0000 1.1.2.6 +++ mod-menus.c 1 Sep 2004 23:37:20 -0000 1.1.2.7 @@ -60,7 +60,6 @@ "menus", "menu", MenusSighan, NULL, NULL, - NULL, - {N_CFG_ITEMS, MenusCfgItems}, - {0, NULL} + {0, NULL}, + {N_CFG_ITEMS, MenusCfgItems} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-misc.c,v retrieving revision 1.1.2.12 retrieving revision 1.1.2.13 diff -u -3 -r1.1.2.12 -r1.1.2.13 --- mod-misc.c 31 Aug 2004 23:25:28 -0000 1.1.2.12 +++ mod-misc.c 1 Sep 2004 23:37:20 -0000 1.1.2.13 @@ -31,17 +31,12 @@ extern EModule ModButtons; extern EModule ModDesktops; extern EModule ModEffects; -extern EModule ModFocus; -extern EModule ModFx; extern EModule ModGroups; extern EModule ModImageclass; extern EModule ModIconboxes; extern EModule ModMenus; extern EModule ModMisc; -extern EModule ModMoveResize; extern EModule ModPagers; -extern EModule ModPlacement; -extern EModule ModRemember; extern EModule ModSlideouts; extern EModule ModSound; extern EModule ModTextclass; @@ -55,17 +50,12 @@ &ModButtons, &ModDesktops, &ModEffects, - &ModFocus, - &ModFx, &ModGroups, &ModIconboxes, &ModImageclass, &ModMenus, &ModMisc, - &ModMoveResize, &ModPagers, - &ModPlacement, - &ModRemember, &ModSlideouts, &ModSound, &ModTextclass, @@ -205,58 +195,60 @@ #define N_CFG_ITEMS ((int)(sizeof(cfg_items)/sizeof(CfgItem))) static void -FocusConfigure(const char *params) +MiscIpc(const char *params, Client * c __UNUSED__) { - if (!strcmp(params, "autoraise")) - SettingsAutoRaise(); - else - SettingsFocus(); -} - -static void -FxConfigure(const char *params __UNUSED__) -{ - SettingsSpecialFX(); -} - -static void -MiscConfigure(const char *params __UNUSED__) -{ - SettingsMiscellaneous(); -} - -static void -MoveResizeConfigure(const char *params __UNUSED__) -{ - SettingsMoveResize(); -} + const char *p; + char cmd[128], prm[128]; + int len; -static void -PlacementConfigure(const char *params __UNUSED__) -{ - SettingsPlacement(); -} + p = NULL; + if (params) + { + p = params; + len = 0; + cmd[0] = prm[0] = '\0'; + sscanf(p, "%100s %100s %n", cmd, prm, &len); + p += len; + } -static void -RememberConfigure(const char *params __UNUSED__) -{ - SettingsRemember(); + if (!p || cmd[0] == '?') + { + /* Show info */ + } + else if (!strncmp(cmd, "cfg", 3)) + { + if (!strncmp(prm, "autoraise", 2)) + SettingsAutoRaise(); + else if (!strncmp(prm, "focus", 2)) + SettingsFocus(); + else if (!strncmp(prm, "fx", 2)) + SettingsSpecialFX(); + else if (!strncmp(prm, "misc", 2)) + SettingsMiscellaneous(); + else if (!strncmp(prm, "moveresize", 2)) + SettingsMoveResize(); + else if (!strncmp(prm, "placement", 2)) + SettingsPlacement(); + else if (!strncmp(prm, "remember", 2)) + SettingsRemember(); + } } -#define EM_DECLARE(mod, name, nick, conf) \ - 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(ModMoveResize, "moveresize", "mr", MoveResizeConfigure); -EM_DECLARE(ModPlacement, "placement", "pl", PlacementConfigure); -EM_DECLARE(ModRemember, "remember", "re", RememberConfigure); +IpcItem MiscIpcArray[] = { + { + MiscIpc, + "misc", NULL, + "Miscellaneous functions", + " misc cfg <thing> Configure thing (focus/fx/moveresize/placement/remember)"} +}; +#define N_IPC_FUNCS (sizeof(MiscIpcArray)/sizeof(IpcItem)) /* Stuff not elsewhere */ EModule ModMisc = { "misc", NULL, MiscSighan, NULL, NULL, - MiscConfigure, - {N_CFG_ITEMS, cfg_items}, - {0, NULL} + {N_IPC_FUNCS, MiscIpcArray} + , + {N_CFG_ITEMS, cfg_items} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-trans.c,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -3 -r1.1.2.1 -r1.1.2.2 --- mod-trans.c 7 Aug 2004 15:34:29 -0000 1.1.2.1 +++ mod-trans.c 1 Sep 2004 23:37:20 -0000 1.1.2.2 @@ -371,11 +371,23 @@ } static void -TransparencyConfigure(const char *params __UNUSED__) +TransparencyIpc(const char *params, Client * c __UNUSED__) { - SettingsTransparency(); + if (params && !strncmp(params, "cfg", 3)) + { + SettingsTransparency(); + } } +IpcItem TransIpcArray[] = { + { + TransparencyIpc, + "trans", "tr", + "Transparencyfunctions", + " desktop cfg Configure desktops"} +}; +#define N_IPC_FUNCS (sizeof(TransIpcArray)/sizeof(IpcItem)) + static const CfgItem TransCfgItems[] = { CFG_ITEM_INT(Conf.trans, alpha, 0), CFG_ITEM_INT(Conf.trans, menu, ICLASS_ATTR_BG), @@ -398,7 +410,6 @@ "trans", "tr", NULL, NULL, NULL, - TransparencyConfigure, - {N_CFG_ITEMS, TransCfgItems}, - {0, NULL} + {N_IPC_FUNCS, TransIpcArray}, + {N_CFG_ITEMS, TransCfgItems} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/Attic/mod-tt.c,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -3 -r1.1.2.8 -r1.1.2.9 --- mod-tt.c 27 Aug 2004 21:31:54 -0000 1.1.2.8 +++ mod-tt.c 1 Sep 2004 23:37:20 -0000 1.1.2.9 @@ -223,11 +223,23 @@ } static void -TooltipsConfigure(const char *params __UNUSED__) +TooltipsIpc(const char *params, Client * c __UNUSED__) { - SettingsTooltips(); + if (params && !strncmp(params, "cfg", 3)) + { + SettingsTooltips(); + } } +IpcItem TooltipsIpcArray[] = { + { + TooltipsIpc, + "tooltips", "tt", + "Tooltip functions", + " tooltips cfg Configure tooltips"} +}; +#define N_IPC_FUNCS (sizeof(TooltipsIpcArray)/sizeof(IpcItem)) + static const CfgItem TooltipsCfgItems[] = { CFG_ITEM_BOOL(Conf.tooltips, enable, 1), CFG_ITEM_BOOL(Conf.tooltips, showroottooltip, 1), @@ -242,7 +254,6 @@ "tooltips", "tt", TooltipsSighan, TooltipConfigLoad, NULL, - TooltipsConfigure, - {N_CFG_ITEMS, TooltipsCfgItems}, - {0, NULL} + {N_IPC_FUNCS, TooltipsIpcArray}, + {N_CFG_ITEMS, TooltipsCfgItems} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/pager.c,v retrieving revision 1.103.2.12 retrieving revision 1.103.2.13 diff -u -3 -r1.103.2.12 -r1.103.2.13 --- pager.c 29 Aug 2004 14:06:51 -0000 1.103.2.12 +++ pager.c 1 Sep 2004 23:37:20 -0000 1.103.2.13 @@ -2266,12 +2266,6 @@ } static void -PagersConfigure(const char *params __UNUSED__) -{ - SettingsPager(); -} - -static void IPC_Pager(const char *params, Client * c __UNUSED__) { const char *p = params; @@ -2287,7 +2281,11 @@ sscanf(p, "%100s %n", prm1, &len); p += len; - if (!strcmp(prm1, "on")) + if (!strncmp(prm1, "cfg", 3)) + { + SettingsPager(); + } + else if (!strcmp(prm1, "on")) { PagersShow(1); } @@ -2338,12 +2336,13 @@ "Toggle the status of the Pager and various pager settings", "use \"pager <on/off>\" to set the current mode\nuse \"pager ?\" " "to get the current mode\n" - "use \"pager <#> <on/off/?>\" to toggle or test any desktop's pager\n" - "use \"pager hiq <on/off>\" to toggle high quality pager\n" - "use \"pager snap <on/off>\" to toggle snapshotting in the pager\n" - "use \"pager zoom <on/off>\" to toggle zooming in the pager\n" - "use \"pager title <on/off>\" to toggle title display in the pager\n" - "use \"pager scanrate <#>\" to toggle number of line update " "per second"} + " pager <#> <on/off/?> Toggle or test any desktop's pager\n" + " pager cfg Configure pagers\n" + " pager hiq <on/off> Toggle high quality pager\n" + " pager scanrate <#> Toggle number of line update " "per second" + " pager snap <on/off> Toggle snapshotting in the pager\n" + " pager title <on/off> Toggle title display in the pager\n" + " pager zoom <on/off> Toggle zooming in the pager\n"} , }; #define N_IPC_FUNCS (sizeof(PagersIpcArray)/sizeof(IpcItem)) @@ -2372,7 +2371,6 @@ "pagers", "pg", PagersSighan, NULL, NULL, - PagersConfigure, - {N_CFG_ITEMS, PagersCfgItems}, - {N_IPC_FUNCS, PagersIpcArray} + {N_IPC_FUNCS, PagersIpcArray}, + {N_CFG_ITEMS, PagersCfgItems} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/session.c,v retrieving revision 1.75.2.8 retrieving revision 1.75.2.9 diff -u -3 -r1.75.2.8 -r1.75.2.9 --- session.c 31 Aug 2004 21:58:35 -0000 1.75.2.8 +++ session.c 1 Sep 2004 23:37:20 -0000 1.75.2.9 @@ -1220,53 +1220,3 @@ doSMExit(param); return 0; } - -int -EExit(int exitcode) -{ - int i; - - EDBUG(9, "EExit"); - - if (EventDebug(EDBUG_TYPE_SESSION)) - Eprintf("EExit(%d)\n", exitcode); - - SaveSession(1); - - if (disp) - { - ecore_x_ungrab(); - GrabPointerRelease(); - XAllowEvents(disp, AsyncBoth, CurrentTime); - - /* This mechanism is only needed when the SM is unavailable: */ - ICCCM_SetEInfoOnAll(); - - /* XSetInputFocus(disp, None, RevertToParent, CurrentTime); */ - /* I think this is a better way to release the grabs: (felix) */ - XSetInputFocus(disp, PointerRoot, RevertToPointerRoot, CurrentTime); - XSelectInput(disp, VRoot.win, 0); - EDisplayClose(); - } - - XSetErrorHandler((XErrorHandler) NULL); - XSetIOErrorHandler((XIOErrorHandler) NULL); - - SignalsRestore(); - - if (Mode.wm.master) - { - SoundExit(); - for (i = 0; i < Mode.wm.child_count; i++) - kill(Mode.wm.children[i], SIGINT); - } - else - { - exitcode = 0; - } - - Real_SaveSnapInfo(0, NULL); - - exit(exitcode); - EDBUG_RETURN(exitcode); -} =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/slideout.c,v retrieving revision 1.22.2.5 retrieving revision 1.22.2.6 diff -u -3 -r1.22.2.5 -r1.22.2.6 --- slideout.c 31 Aug 2004 21:58:35 -0000 1.22.2.5 +++ slideout.c 1 Sep 2004 23:37:20 -0000 1.22.2.6 @@ -521,7 +521,6 @@ "slideouts", "slideout", SlideoutsSighan, SlideoutsConfigLoad, NULL, - NULL, {0, NULL} , {0, NULL} =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/sound.c,v retrieving revision 1.25.2.3 retrieving revision 1.25.2.4 diff -u -3 -r1.25.2.3 -r1.25.2.4 --- sound.c 7 Aug 2004 15:34:29 -0000 1.25.2.3 +++ sound.c 1 Sep 2004 23:37:20 -0000 1.25.2.4 @@ -1,5 +1,6 @@ /* * Copyright (C) 2000-2004 Carsten Haitzler, Geoff Harrison and various contributors + * Copyright (C) 2004 Kim Woelders * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to @@ -45,13 +46,21 @@ int id; } Sample; -struct _soundclass +typedef struct { char *name; char *file; Sample *sample; unsigned int ref_count; -}; +} SoundClass; + +static struct +{ + char enable; + char *theme; +} Conf_sound = +{ +0, NULL}; static int sound_fd = -1; @@ -142,7 +151,7 @@ EDBUG(5, "SamplePlay"); #ifdef HAVE_LIBESD - if ((sound_fd < 0) || (!Conf.sound.enable) || (!s)) + if ((sound_fd < 0) || (!Conf_sound.enable) || (!s)) EDBUG_RETURN_; if (!s->id) { @@ -198,7 +207,7 @@ EDBUG_RETURN_; } -SoundClass * +static SoundClass * SclassCreate(const char *name, const char *file) { SoundClass *sclass; @@ -225,7 +234,7 @@ if (!sclass) EDBUG_RETURN_; #ifdef HAVE_LIBESD - if ((!sclass->sample) && (Conf.sound.enable)) + if ((!sclass->sample) && (Conf_sound.enable)) { f = FindFile(sclass->file); if (f) @@ -234,7 +243,7 @@ Efree(f); } } - if ((Conf.sound.enable) && (sclass->sample)) + if ((Conf_sound.enable) && (sclass->sample)) SamplePlay(sclass->sample); #endif EDBUG_RETURN_; @@ -257,7 +266,7 @@ EDBUG_RETURN_; } -const char * +static const char * SclassGetName(SoundClass * sclass) { return sclass->name; @@ -273,7 +282,7 @@ return sclass != NULL; } -int +static int SoundFree(const char *name) { SoundClass *sclass; @@ -283,7 +292,7 @@ return sclass != NULL; } -void +static void SoundInit(void) { #ifdef HAVE_LIBESD @@ -292,7 +301,7 @@ EDBUG(5, "SoundInit"); #ifdef HAVE_LIBESD - if (!Conf.sound.enable) + if (!Conf_sound.enable) EDBUG_RETURN_; if (sound_fd != -1) EDBUG_RETURN_; @@ -305,15 +314,15 @@ _("Audio was enabled for Enlightenment but there was an error\n" "communicating with the audio server (Esound). Audio will\n" "now be disabled.\n")); - Conf.sound.enable = 0; + Conf_sound.enable = 0; } #else - Conf.sound = 0; + Conf_sound = 0; #endif EDBUG_RETURN_; } -void +static void SoundExit(void) { SoundClass **lst; @@ -344,7 +353,8 @@ * Configuration load/save */ #include "conf.h" -int + +static int SoundConfigLoad(FILE * ConfigFile) { int err = 0; @@ -375,3 +385,213 @@ done: return err; } + +/* + * Sound module + */ + +static void +SoundSighan(int sig, void *prm __UNUSED__) +{ + switch (sig) + { + case ESIGNAL_INIT: + SoundInit(); + break; + case ESIGNAL_START: + if (!Conf_sound.enable) + break; + SoundPlay("SOUND_STARTUP"); + SoundFree("SOUND_STARTUP"); + break; + case ESIGNAL_EXIT: +/* if (Mode.wm.master) */ + SoundExit(); + break; + } +} + +/* + * Configuration dialog + */ + +static char tmp_audio; + +static void +CB_ConfigureAudio(int val, void *data __UNUSED__) +{ + if (val < 2) + { + Conf_sound.enable = tmp_audio; + if (Conf_sound.enable) + SoundInit(); + else + SoundExit(); + } + autosave(); +} + +static void +SettingsAudio(void) +{ + Dialog *d; + DItem *table, *di; + + if ((d = FindItem("CONFIGURE_AUDIO", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG))) + { + SoundPlay("SOUND_SETTINGS_ACTIVE"); + ShowDialog(d); + return; + } + SoundPlay("SOUND_SETTINGS_AUDIO"); + + tmp_audio = Conf_sound.enable; + + d = DialogCreate("CONFIGURE_AUDIO"); + DialogSetTitle(d, _("Audio 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/sound.png"); + + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemTextSetText(di, + _("Enlightenment Audio\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); + } +#ifdef HAVE_LIBESD + di = DialogAddItem(table, DITEM_CHECKBUTTON); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetFill(di, 1, 0); + DialogItemSetColSpan(di, 2); + DialogItemCheckButtonSetText(di, _("Enable sounds")); + DialogItemCheckButtonSetState(di, tmp_audio); + DialogItemCheckButtonSetPtr(di, &tmp_audio); +#else + di = DialogAddItem(table, DITEM_TEXT); + DialogItemSetPadding(di, 2, 2, 2, 2); + DialogItemSetColSpan(di, 2); + DialogItemSetFill(di, 1, 0); + DialogItemTextSetText(di, + _("Audio not available since EsounD was not\n" + "present at the time of compilation.")); +#endif + + 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_ConfigureAudio, 1); + DialogAddButton(d, _("Apply"), CB_ConfigureAudio, 0); + DialogAddButton(d, _("Close"), CB_ConfigureAudio, 1); + DialogSetExitFunction(d, CB_ConfigureAudio, 2, d); + DialogBindKey(d, "Escape", DialogCallbackClose, 0, d); + DialogBindKey(d, "Return", CB_ConfigureAudio, 0, d); + ShowDialog(d); +} + +/* + * IPC functions + */ + +static void +SoundIpc(const char *params, Client * c __UNUSED__) +{ + const char *p; + char cmd[128], prm[4096]; + int i, len, num; + + p = NULL; + if (params) + { + p = params; + len = 0; + cmd[0] = prm[0] = '\0'; + sscanf(p, "%100s %4000s %n", cmd, prm, &len); + p += len; + } + + if (!strncmp(cmd, "cfg", 3)) + { + SettingsAudio(); + } + if (!strncmp(cmd, "del", 3)) + { + SoundFree(prm); + } + else if (!strncmp(cmd, "list", 2)) + { + SoundClass **lst; + + lst = (SoundClass **) ListItemType(&num, LIST_TYPE_SCLASS); + for (i = 0; i < num; i++) + { + IpcPrintf("%s\n", SclassGetName(lst[i])); + } + if (lst) + Efree(lst); + } + else if (!strncmp(cmd, "new", 3)) + { + SclassCreate(prm, p); + } + else if (!strncmp(cmd, "off", 2)) + { + Conf_sound.enable = 0; + SoundExit(); + } + else if (!strncmp(cmd, "on", 2)) + { + Conf_sound.enable = 1; + SoundInit(); + } + else if (!strncmp(cmd, "play", 2)) + { + SoundPlay(prm); + } +} + +IpcItem SoundIpcArray[] = { + { + SoundIpc, + "sound", "snd", + "Sound functions", + " sound add <classname> <filename> Create soundclass\n" + " sound del <classname> Delete soundclass\n" + " sound list Show all sounds\n" + " sound off Disable sounds\n" + " sound on Enable sounds\n" + " sound play <classname> Play sounds\n"} +}; +#define N_IPC_FUNCS (sizeof(SoundIpcArray)/sizeof(IpcItem)) + +static const CfgItem SoundCfgItems[] = { + CFG_ITEM_BOOL(Conf_sound, enable, 0), + CFG_ITEM_STR(Conf_sound, theme), +}; +#define N_CFG_ITEMS (sizeof(SoundCfgItems)/sizeof(CfgItem)) + +/* + * Module descriptor + */ +EModule ModSound = { + "sound", "audio", + SoundSighan, + SoundConfigLoad, NULL, + {N_IPC_FUNCS, SoundIpcArray}, + {N_CFG_ITEMS, SoundCfgItems} +}; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/tclass.c,v retrieving revision 1.27.2.2 retrieving revision 1.27.2.3 diff -u -3 -r1.27.2.2 -r1.27.2.3 --- tclass.c 27 Aug 2004 21:31:54 -0000 1.27.2.2 +++ tclass.c 1 Sep 2004 23:37:20 -0000 1.27.2.3 @@ -649,8 +649,7 @@ "textclass", "tc", TextclassSighan, TextclassConfigLoad, NULL, - NULL, - {0, NULL} - , {N_IPC_FUNCS, TextclassIpcArray} + , + {0, NULL} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/theme.c,v retrieving revision 1.37.2.3 retrieving revision 1.37.2.4 diff -u -3 -r1.37.2.3 -r1.37.2.4 --- theme.c 27 Aug 2004 21:31:54 -0000 1.37.2.3 +++ theme.c 1 Sep 2004 23:37:21 -0000 1.37.2.4 @@ -516,7 +516,6 @@ "theme", "th", ThemesSighan, NULL, NULL, - NULL, - {N_CFG_ITEMS, ThemeCfgItems}, - {N_IPC_FUNCS, ThemeIpcArray} + {N_IPC_FUNCS, ThemeIpcArray}, + {N_CFG_ITEMS, ThemeCfgItems} }; =================================================================== RCS file: /cvsroot/enlightenment/e16/e/src/warp.c,v retrieving revision 1.49.2.4 retrieving revision 1.49.2.5 diff -u -3 -r1.49.2.4 -r1.49.2.5 --- warp.c 27 Aug 2004 21:31:54 -0000 1.49.2.4 +++ warp.c 1 Sep 2004 23:37:21 -0000 1.49.2.5 @@ -355,7 +355,6 @@ "warplist", "warp", WarplistSighan, NULL, NULL, - NULL, - {N_CFG_ITEMS, WarplistCfgItems}, - {0, NULL} + {0, NULL}, + {N_CFG_ITEMS, WarplistCfgItems} }; ------------------------------------------------------- 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