Module Name: src
Committed By: martin
Date: Sun Jul 24 11:51:22 UTC 2022
Modified Files:
src/external/mit/ctwm/libexec [netbsd-9]: ctwm_app_menu
Log Message:
Pull up following revision(s) (requested by nia in ticket #1481):
external/mit/ctwm/libexec/ctwm_app_menu: revision 1.5 (via patch)
ctwm_app_menu: Work around "emacs being installed results in the
generated ctwmrc containing invalid syntax" problem. Emacs installs
a desktop file called "emacsclient" that contains "doublequotes"
in its exec string. Pending a better solution for dumping escaped
shell lines into the config file, hide or sanitize desktop entires
that might mess up the internal ctwmrc quoting rules.
To generate a diff of this commit:
cvs rdiff -u -r1.1.2.2 -r1.1.2.3 src/external/mit/ctwm/libexec/ctwm_app_menu
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/mit/ctwm/libexec/ctwm_app_menu
diff -u src/external/mit/ctwm/libexec/ctwm_app_menu:1.1.2.2 src/external/mit/ctwm/libexec/ctwm_app_menu:1.1.2.3
--- src/external/mit/ctwm/libexec/ctwm_app_menu:1.1.2.2 Thu Oct 8 16:04:07 2020
+++ src/external/mit/ctwm/libexec/ctwm_app_menu Sun Jul 24 11:51:22 2022
@@ -1,12 +1,13 @@
#!/bin/sh
-# $NetBSD: ctwm_app_menu,v 1.1.2.2 2020/10/08 16:04:07 martin Exp $
+# $NetBSD: ctwm_app_menu,v 1.1.2.3 2022/07/24 11:51:22 martin Exp $
OFS=$IFS
IFS='
'
printf 'menu "appmenu"\n'
printf '{\n'
printf '\t"Applications"\tf.title\n'
-for app in $(find /usr/pkg/share/applications -name '*.desktop');
+LOCALBASE=$(pkg_info -Q LOCALBASE pkg_install 2>/dev/null || echo /usr/pkg)
+for app in $(find $LOCALBASE/share/applications -name '*.desktop')
do
name=""
exec=""
@@ -18,13 +19,18 @@ do
Name=*)
if ! [ -n "$name" ];
then
- name=$(printf '%s' "$line" | cut -c6- | tr -d '\r')
+ name=$(printf '%s' "$line" | cut -c6- | tr -d '\r"')
fi
;;
Exec=*)
if ! [ -n "$exec" ];
then
exec=$(printf '%s' "$line" | cut -c6- | sed -e 's/ %.*//g' | tr -d '\r')
+ if printf '%s' "$exec" | grep -q '"'; then
+ # results in malformed config file, better way
+ # to handle this...?
+ nodisplay="true"
+ fi
fi
;;
Terminal=true)