as discussed on the mailing list - e providexs enlightenment.menu now.
authorCarsten Haitzler <raster@rasterman.com>
Thu, 12 May 2011 03:29:23 +0000 (03:29 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Thu, 12 May 2011 03:29:23 +0000 (03:29 +0000)
no one actually did this, so i did it finally.

SVN revision: 59337

configure.ac
data/etc/Makefile.am
data/etc/enlightenment.menu [new file with mode: 0644]
src/modules/conf_menus/e_int_config_menus.c
src/modules/wizard/page_030.c

index fe74a12..e86b7d7 100644 (file)
@@ -278,6 +278,14 @@ AC_ARG_ENABLE([install-sysactions],
 AC_MSG_RESULT([$e_cv_enable_install_sysactions])
 AM_CONDITIONAL(INSTALL_SYSACTIONS, test x${e_cv_enable_install_sysactions} = xyes)
 
+AC_MSG_CHECKING([whether to install enlightenment.menu])
+AC_ARG_ENABLE([install-enlightenment-menu],
+  AS_HELP_STRING([--disable-enlightenment-menu],[disable installing /etc/xdg/menus/enlightenment.menu @<:@default=enabled@:>@]),
+    [e_cv_enable_install_enlightenment_menu=$enableval],
+    AC_CACHE_VAL([e_cv_enable_install_enlightenment_menu], [e_cv_enable_install_enlightenment_menu=yes]))
+AC_MSG_RESULT([$e_cv_enable_install_enlightenment_menu])
+AM_CONDITIONAL(INSTALL_ENLIGHTENMENT_MENU, test x${e_cv_enable_install_enlightenment_menu} = xyes)
+
 AC_MSG_CHECKING([whether to enable Files menu item])
 AC_ARG_ENABLE([files],
   AS_HELP_STRING([--disable-files],[disable Files menu item @<:@default=enabled@:>@]),
index febaff4..2c50f01 100644 (file)
@@ -6,4 +6,11 @@ if INSTALL_SYSACTIONS
 files_DATA += sysactions.conf
 endif
 
-EXTRA_DIST = $(files_DATA)
+menusdir = $(sysconfdir)/xdg/menus
+menus_DATA =
+
+if INSTALL_ENLIGHTENMENT_MENU
+menus_DATA += enlightenment.menu
+endif
+
+EXTRA_DIST = $(files_DATA) $(menus_DATA)
diff --git a/data/etc/enlightenment.menu b/data/etc/enlightenment.menu
new file mode 100644 (file)
index 0000000..e85b6e7
--- /dev/null
@@ -0,0 +1,295 @@
+<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+ "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
+
+<Menu>
+
+  <Name>Applications</Name>
+  <Directory>Applications.directory</Directory>
+
+  <!-- Scan legacy dirs first, as later items take priority -->
+  <LegacyDir>/etc/X11/applnk</LegacyDir>
+  <LegacyDir>/usr/share/gnome/apps</LegacyDir>
+  <KDELegacyDirs/>
+
+  <!-- Read standard .directory and .desktop file locations -->
+  <DefaultAppDirs/>
+  <DefaultDirectoryDirs/>
+
+  <!-- Read in overrides and child menus from applications-merged/ -->
+  <DefaultMergeDirs/>
+
+  <!-- Accessories submenu -->
+  <Menu>
+    <Name>Accessories</Name>
+    <Directory>Utility.directory</Directory>
+    <Include>
+      <And>
+        <Category>Utility</Category>
+       <!-- Accessibility spec must have either the Utility or Settings
+            category, and we display an accessibility submenu already for
+            the ones that do not have Settings, so don't display accessibility
+            applications here -->
+        <Not><Category>Accessibility</Category></Not>
+        <Not><Category>System</Category></Not>
+      </And>
+    </Include>
+  </Menu> <!-- End Accessories -->
+
+  <!-- Accessibility submenu -->
+  <Menu>
+    <Name>Universal Access</Name>
+    <Directory>Utility-Accessibility.directory</Directory>
+    <Include>
+      <And>
+        <Category>Accessibility</Category>
+        <Not><Category>Settings</Category></Not>
+      </And>
+    </Include>
+  </Menu> <!-- End Accessibility -->
+
+  <!-- Development Tools -->
+  <Menu>
+    <Name>Development</Name>
+    <Directory>Development.directory</Directory>
+    <Include>
+      <And>
+        <Category>Development</Category>
+        <Category>X-KDE-KDevelopIDE</Category>
+        <Category>Translation</Category>
+        <Category>WebDevelopment</Category>
+      </And>
+      <Filename>emacs.desktop</Filename>
+    </Include>
+  </Menu> <!-- End Development Tools -->
+
+  <!-- Education -->
+  <Menu>
+    <Name>Education</Name>
+    <Directory>Education.directory</Directory>
+    <Include>
+      <And>
+        <Category>Education</Category>
+        <Category>X-KDE-Edu-Language</Category>
+        <Not><Category>Science</Category></Not>
+      </And>
+    </Include>
+  </Menu> <!-- End Education -->
+
+  <!-- Science -->
+  <Menu>
+    <Name>Science</Name>
+    <Directory>GnomeScience.directory</Directory>
+    <Include>
+      <And>
+        <Category>Education</Category>
+        <Category>Science</Category>
+        <Category>Astronomy</Category>
+        <Category>Biology</Category>
+        <Category>Chemistry</Category>
+        <Category>Geology</Category>
+        <Category>MedicalSoftware</Category>
+        <Category>Physics</Category>
+        <Category>Math</Category>
+      </And>
+    </Include>
+  </Menu> <!-- End Science -->
+
+  <!-- Games -->
+  <Menu>
+    <Name>Games</Name>
+    <Directory>Game.directory</Directory>
+    <Include>
+      <And>
+        <Category>Game</Category>
+        <Category>Amusement</Category>
+        <Not><Category>ActionGame</Category></Not>
+        <Not><Category>AdventureGame</Category></Not>
+        <Not><Category>ArcadeGame</Category></Not>
+        <Not><Category>BoardGame</Category></Not>
+        <Not><Category>BlocksGame</Category></Not>
+        <Not><Category>CardGame</Category></Not>
+        <Not><Category>KidsGame</Category></Not>
+        <Not><Category>LogicGame</Category></Not>
+        <Not><Category>RolePlaying</Category></Not>
+        <Not><Category>Simulation</Category></Not>
+        <Not><Category>SportsGame</Category></Not>
+        <Not><Category>StrategyGame</Category></Not>
+        <Not><Category>X-KDE-KidsGame</Category></Not>
+      </And>
+    </Include>
+    <DefaultLayout inline="true" inline_limit="6" inline_header="false">
+      <Merge type="menus"/>
+      <Merge type="files"/>
+    </DefaultLayout>
+    <Menu>
+      <Name>Action</Name>
+      <Directory>ActionGames.directory</Directory>
+      <Include>
+        <Category>ActionGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Adventure</Name>
+      <Directory>AdventureGames.directory</Directory>
+      <Include>
+        <Category>AdventureGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Arcade</Name>
+      <Directory>ArcadeGames.directory</Directory>
+      <Include>
+        <Category>ArcadeGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Board</Name>
+      <Directory>BoardGames.directory</Directory>
+      <Include>
+        <Category>BoardGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Blocks</Name>
+      <Directory>BlocksGames.directory</Directory>
+      <Include>
+        <Category>BlocksGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Cards</Name>
+      <Directory>CardGames.directory</Directory>
+      <Include>
+        <Category>CardGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Kids</Name>
+      <Directory>KidsGames.directory</Directory>
+      <Include>
+        <Category>KidsGame</Category>
+        <Category>X-KDE-KidsGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Logic</Name>
+      <Directory>LogicGames.directory</Directory>
+      <Include>
+        <Category>LogicGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Role Playing</Name>
+      <Directory>RolePlayingGames.directory</Directory>
+      <Include>
+        <Category>RolePlaying</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Simulation</Name>
+      <Directory>SimulationGames.directory</Directory>
+      <Include>
+        <Category>Simulation</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Sports</Name>
+      <Directory>SportsGames.directory</Directory>
+      <Include>
+        <Category>SportsGame</Category>
+      </Include>
+    </Menu>
+    <Menu>
+      <Name>Strategy</Name>
+      <Directory>StrategyGames.directory</Directory>
+      <Include>
+        <Category>StrategyGame</Category>
+      </Include>
+    </Menu>
+  </Menu> <!-- End Games -->
+
+  <!-- Graphics -->
+  <Menu>
+    <Name>Graphics</Name>
+    <Directory>Graphics.directory</Directory>
+    <Include>
+      <And>
+        <Category>Graphics</Category>
+      </And>
+    </Include>
+  </Menu> <!-- End Graphics -->
+
+  <!-- Internet -->
+  <Menu>
+    <Name>Internet</Name>
+    <Directory>Network.directory</Directory>
+    <Include>
+      <And>
+        <Category>Network</Category>
+      </And>
+    </Include>
+  </Menu>   <!-- End Internet -->
+
+  <!-- Multimedia -->
+  <Menu>
+    <Name>Multimedia</Name>
+    <Directory>AudioVideo.directory</Directory>
+    <Include>
+      <And>
+        <Category>AudioVideo</Category>
+      </And>
+    </Include>
+  </Menu>   <!-- End Multimedia -->
+
+  <!-- Office -->
+  <Menu>
+    <Name>Office</Name>
+    <Directory>Office.directory</Directory>
+    <Include>
+      <And>
+        <Category>Office</Category>
+      </And>
+    </Include>
+  </Menu> <!-- End Office -->
+
+  <!-- System Tools-->
+  <Menu>
+    <Name>System</Name>
+    <Directory>System-Tools.directory</Directory>
+    <Include>
+      <And>
+        <Category>System</Category>
+        <Not><Category>Settings</Category></Not>
+       <Not><Category>Game</Category></Not>
+      </And>
+    </Include>
+  </Menu>   <!-- End System Tools -->
+
+  <!-- Other -->
+  <Menu>
+    <Name>Other</Name>
+    <Directory>Other.directory</Directory>
+    <OnlyUnallocated/>
+    <Include>
+      <And>
+        <Not><Category>Core</Category></Not>
+        <Not><Category>Settings</Category></Not>
+        <Not><Category>Screensaver</Category></Not>
+      </And>
+    </Include>
+  </Menu> <!-- End Other -->
+
+  <!-- The Debian menu -->
+  <Menu>
+    <Name>Debian</Name>
+    <MergeFile>debian-menu.menu</MergeFile>
+    <Directory>Debian.directory</Directory>
+  </Menu>
+
+<Layout>
+  <Merge type="menus"/>
+  <Merge type="files"/>
+  <Separator/>
+</Layout>
+
+</Menu> <!-- End Applications -->
index d5d3fa8..fe2ceb2 100644 (file)
@@ -154,7 +154,7 @@ _create_menus_list(Evas *evas, E_Config_Dialog_Data *cfdata)
    
    EINA_LIST_FREE(menus, file)
      {
-        char buf[PATH_MAX], *p, *p2, *tlabel, *tdesc;
+        char buf[PATH_MAX], buf2[PATH_MAX], *p, *p2, *tlabel, *tdesc;
         const char *label;
         
         label = file;
@@ -162,11 +162,21 @@ _create_menus_list(Evas *evas, E_Config_Dialog_Data *cfdata)
         tdesc = NULL;
         e_user_homedir_concat(buf, sizeof(buf), 
                               ".config/menus/applications.menu");
+        snprintf(buf2, sizeof(buf2), "%s/etc/xdg/enlightenment.menu", 
+                 e_prefix_get());
         if (!strcmp("/etc/xdg/menus/applications.menu", file))
           {
              label = _("System Default");
              if (!cfdata->default_system_menu) sel = i;
           }
+        else if (!strcmp(buf2, file))
+          {
+             label = _("Enlightenment Default");
+             if (cfdata->default_system_menu)
+               {
+                  if (!strcmp(cfdata->default_system_menu, file)) sel = i;
+               }
+          }
         else if (!strcmp(buf, file))
           {
              label = _("Personal Default");
index f8d9420..4e3a97f 100644 (file)
@@ -113,7 +113,7 @@ wizard_page_show(E_Wizard_Page *pg)
 
        EINA_LIST_FREE(menus, file)
          {
-            char buf[PATH_MAX], *p, *p2, *tlabel, *tdesc;
+            char buf[PATH_MAX], buf2[PATH_MAX], *p, *p2, *tlabel, *tdesc;
             const char *label;
 
             label = file;
@@ -121,11 +121,18 @@ wizard_page_show(E_Wizard_Page *pg)
             tdesc = NULL;
              e_user_homedir_concat(buf, sizeof(buf),
                                    ".config/menus/applications.menu");
+             snprintf(buf2, sizeof(buf2), "%s/etc/xdg/enlightenment.menu", 
+                      e_prefix_get());
              if (!strcmp("/etc/xdg/menus/applications.menu", file))
               {
                  label = _("System Default");
                  sel = i;
               }
+             else if (!strcmp(buf2, file))
+               {
+                  label = _("Enlightenment Default");
+                  sel = i;
+               }
              else if (!strcmp(buf, file))
                {
                   label = _("Personal Default");