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

Reply via email to