diff options
author | Heinrich Wendel <h_wendel@cojobo.net> | 2005-08-11 11:27:30 +0000 |
---|---|---|
committer | Heinrich Wendel <h_wendel@cojobo.net> | 2005-08-11 11:27:30 +0000 |
commit | ada2185d92e7200e8a0b406bcef34c3eb7a18d52 (patch) | |
tree | b91fedd9f3f7a7d128f5356f04d79d180d5374cb | |
parent | 92b6c4099c09201e41d765d5eeeff1906e8a4e38 (diff) |
add tryexec feature
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | xdg/Menu.py | 22 |
2 files changed, 14 insertions, 11 deletions
@@ -1,5 +1,8 @@ Version 0.15 +2005-08-10 Heinrich Wendel <h_wendel@cojoob.net> + * Menu.py: Add support for TryExec + 2005-08-09 Heinrich Wendel <h_wendel@cojobo.net> * Menu.py: Unicode bug fixed! * IconTheme.py: small speedup diff --git a/xdg/Menu.py b/xdg/Menu.py index 6fd234f..a307d17 100644 --- a/xdg/Menu.py +++ b/xdg/Menu.py @@ -1,8 +1,6 @@ """ Implementation of the XDG Menu Specification Version 1.0.draft-1 http://standards.freedesktop.org/menu-spec/ - -TODO: TryExec / NoExec """ from __future__ import generators @@ -972,15 +970,17 @@ def sort(menu): menu.Entries.remove(entry) def __find_executable(executable): - paths = os.environ['PATH'].split(os.pathsep) - if not os.path.isfile(executable): - for p in paths: - f = os.path.join(p, executable) - if os.path.isfile(f): - return f - return None - else: - return executable + paths = os.environ['PATH'].split(os.pathsep) + if not os.path.isfile(executable): + for p in paths: + f = os.path.join(p, executable) + if os.path.isfile(f): + if os.access(f, os.X_OK): + return f + else: + if os.access(f, os.X_OK): + return executable + return None # inline tags def __parse_inline(submenu, menu): |