discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

thoughts on openapp


From: David Relson
Subject: thoughts on openapp
Date: Fri, 22 Feb 2002 11:08:33 -0500

<rant>

I don't like using openapp !! I find having to type "openapp EasyDiff.app" to run EasyDiff to be non-intuitive and a nuisance !!!

</rant>

If I recall correctly from my NeXTSTEP/OpenStep days, the ProgName.app directory was called an "application wrapper" and to run the application, one only had to type "ProgName" on the command line. My recollection may be wrong, but it leads to the following idea:

Suppose one only had to type the name of the application and the application ran! With an appropriate symlink and a slightly modified version of openapp, this is possible! I have the prototype for this working :-)

Take as an example the recently released EasyDiff application. Currently "make install" creates $GNUSTEP_LOCAL_ROOT/Apps/EasyDiff.app which contains the executable, resources, etc. My idea calls for having "make install" also create the symlink.

At the moment I have this mostly working.  Here are the relevant directories:

[root@osage Tools]# ls -l $GNUSTEP_LOCAL_ROOT/Apps $GNUSTEP_SYSTEM_ROOT/Tools

/usr/local/GNUstep/Local/Apps:
total 4
drwxr-xr-x    4 root     root         4096 Feb 21 17:49 EasyDiff.app/

/usr/local/GNUstep/System/Tools:
total 32
-rwxr-xr-x    1 root     root         5979 Feb 21 09:37 debugapp*
lrwxrwxrwx 1 root root 41 Feb 22 10:39 EasyDiff -> /usr/local/GNUstep/System/Tools/MyOpenApp*
drwxr-xr-x    3 root     root         4096 Feb 21 09:37 ix86/
drwxr-xr-x    2 root     root         4096 Feb 21 09:37 Java/
-rwxr-xr-x    1 root     root         2498 Feb 22 10:42 MyOpenApp*
-rwxr-xr-x    1 root     root         2594 Feb 21 09:37 openapp*
-rwxr-xr-x    1 root     root         4412 Feb 21 09:37 opentool*

The new entries are the EasyDiff symlink and the MyOpenApp script.

***** Note: EasyDiff doesn't really belong in $GNUSTEP_SYSTEM_ROOT/Tools. I think it belongs in $GNUSTEP_LOCAL_ROOT/Tools, though this may be incorrect.

***** My version of openapp is presently named MyOpenApp. Here's the patch to make it from openapp:

[root@osage Tools]# diff -u openapp MyOpenApp
--- openapp     Thu Feb 21 09:37:53 2002
+++ MyOpenApp   Fri Feb 22 10:27:22 2002
@@ -22,12 +22,6 @@
# is not specified. The arguments passed after the application name are passed
 # unmodified to the application.

-if [ -z "$1" ]; then
-  echo usage: `basename $0` application [--library-combo=...] [arguments...]
-  echo `basename $0` --help for help
-  exit 1
-fi
-
 if [ -z "$GNUSTEP_FLATTENED" ]; then
   GNUSTEP_FLATTENED=
 fi
@@ -38,7 +32,7 @@
 # trap the --library-combo parameter
 case $1 in
   --help)
-    echo usage: `basename $0` application [--library-combo=...] [arguments...]
+    echo usage: `basename $0` [--library-combo=...] [arguments...]
     echo
     echo application is the complete or relative name of the application
     echo program with the .app extension, like Ink.app.
@@ -47,7 +41,7 @@
     exit 0
     ;;
   *)
-    app=$1; shift;;
+    app=`basename $0`.app;;
 esac

 # Remove leading slashes at the end of the application name

***** TODO *****

1 - the appropriate makefile(s) should be modified to create the link. Can the makefile expert step in on this? (Is that you Nicola?)

2 - when I put the symlink in $GNUSTEP_LOCAL_TOOLS instead of in $GNUSTEP_SYSTEM_TOOLS and try to run it, the link is found and then bash complains "bash: /usr/local/GNUstep/System/Tools/EasyDiff: No such file or directory". Anybody know what's happening?

Cheers!

David




reply via email to

[Prev in Thread] Current Thread [Next in Thread]