[gnome-menus/wip-gobject-rebase2: 5/5] Replace Python example with JS
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-menus/wip-gobject-rebase2: 5/5] Replace Python example with JS
- Date: Wed, 20 Apr 2011 21:48:50 +0000 (UTC)
commit f3beeb86db52c53c32f69443325a5ff8947ce7fd
Author: Colin Walters <walters verbum org>
Date: Wed Apr 20 17:48:07 2011 -0400
Replace Python example with JS
util/Makefile.am | 10 +-----
util/gnome-menus-ls.js | 52 ++++++++++++++++++++++++++
util/gnome-menus-ls.py | 94 ------------------------------------------------
3 files changed, 53 insertions(+), 103 deletions(-)
---
diff --git a/util/Makefile.am b/util/Makefile.am
index a8ab28e..35df573 100644
--- a/util/Makefile.am
+++ b/util/Makefile.am
@@ -17,14 +17,6 @@ gnome_menu_spec_test_LDADD = \
$(GIO_UNIX_LIBS) \
../libmenu/libgnome-menu.la
-if HAVE_PYTHON
-pyexampledir = $(pkgdatadir)/examples
-pyexample_DATA = gnome-menus-ls.py
-else
-pyexampledir =
-pyexample_DATA =
-endif
-
-EXTRA_DIST = $(pyexample_DATA)
+EXTRA_DIST = gnome-menus-ls.js
-include $(top_srcdir)/git.mk
diff --git a/util/gnome-menus-ls.js b/util/gnome-menus-ls.js
new file mode 100755
index 0000000..7c37d9b
--- /dev/null
+++ b/util/gnome-menus-ls.js
@@ -0,0 +1,52 @@
+#!/usr/bin/env gjs
+// Copyright (C) 2011 Red Hat, Inc.
+//
+// Authors: Colin Walters <walters verbum org>
+//
+// This program is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+//
+
+
+var GMenu = imports.gi.GMenu;
+
+var tree = new GMenu.Tree({ name: "applications.menu", flags: 0 });
+
+tree.load_sync();
+
+var root = tree.get_root_directory();
+
+function printDirectory(dir, parent_path) {
+ var path;
+ if (parent_path == null) {
+ path = '/';
+ } else {
+ path = parent_path + dir.get_name() + "/";
+ }
+
+ var iter;
+ iter = dir.iter();
+ var nextType = iter.next();
+ while (nextType != GMenu.TreeItemType.INVALID) {
+ if (nextType == GMenu.TreeItemType.ENTRY) {
+ var entry = iter.get_entry();
+ print(path + "\t" + entry.get_app_info().get_name() + "\t" + entry.get_desktop_file_path());
+ } else if (nextType == GMenu.TreeItemType.DIRECTORY) {
+ printDirectory(iter.get_directory(), path);
+ }
+ nextType = iter.next();
+ }
+}
+
+printDirectory(root);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]