diff -rc rox-menu-source/AppInfo.xml rox-menu-source_new/AppInfo.xml
*** rox-menu-source/AppInfo.xml	Wed Jul  4 18:08:23 2001
--- rox-menu-source_new/AppInfo.xml	Mon Oct 21 18:45:43 2002
***************
*** 7,11 ****
--- 7,14 ----
      <License>GNU General Public License 2</License>
      <Homepage>http://www.mindcrisis.f2s.com/rox</Homepage>
    </About>
+   <AppMenu>
+     <Item option='--quit' label='Quit running menus'/>
+   </AppMenu>
    <Summary>Pops up a menu with most used applications.</Summary>
  </AppInfo>
diff -rc rox-menu-source/AppRun rox-menu-source_new/AppRun
*** rox-menu-source/AppRun	Sun May 27 13:04:09 2001
--- rox-menu-source_new/AppRun	Mon Oct 21 18:45:43 2002
***************
*** 17,31 ****
  case $1 in
      --debug) shift ; DEBUGGER=gdb ;;
      --compile)
! 	if [ ! -d $APP_DIR/src ] ; then
! 	    echo "ERROR from $0:" >&2
! 	    echo "Cannot compile - source code is missing!" >&2
! 	    exit 1
! 	fi
! 	echo "Compiling $APP_DIR... please wait..." >&2
! 	(rm -f $APP_DIR/src/.arch) && (echo $PLATFORM > $APP_DIR/src/.arch)
! 	(cd $APP_DIR/src; make)
! 	exit 1
  esac
  
  BIN=$APP_DIR/$PLATFORM/$PROG
--- 17,36 ----
  case $1 in
      --debug) shift ; DEBUGGER=gdb ;;
      --compile)
! 		if [ ! -d $APP_DIR/src ] ; then
! 		    echo "ERROR from $0:" >&2
! 	    	echo "Cannot compile - source code is missing!" >&2
! 		    exit 1
! 		fi
! 		echo "Compiling $APP_DIR... please wait..." >&2
! 		(rm -f $APP_DIR/src/.arch) && (echo $PLATFORM > $APP_DIR/src/.arch)
! 		(cd $APP_DIR/src; make)
! 		exit 1
! 	;;
! 	--quit)
! 		killall ROX-Menu
! 		exit 0
! 	;;
  esac
  
  BIN=$APP_DIR/$PLATFORM/$PROG
Only in rox-menu-source_new: AppletRun~
Only in rox-menu-source_new: Linux-ix86
Only in rox-menu-source_new: ROX-Menu
Only in rox-menu-source_new/src: .arch
Only in rox-menu-source_new/src: choices.o
diff -rc rox-menu-source/src/menu_applet.c rox-menu-source_new/src/menu_applet.c
*** rox-menu-source/src/menu_applet.c	Wed Jul  4 18:10:31 2001
--- rox-menu-source_new/src/menu_applet.c	Mon Oct 21 18:49:08 2002
***************
*** 198,213 ****
  {
      GtkWidget *hbox, *pixmap, *label;
      char icon_path[256];
  
      hbox = gtk_hbox_new(FALSE, 5);
      gtk_widget_show(hbox);
      gtk_container_add(GTK_CONTAINER(menuitem), hbox);
  
      snprintf(icon_path, 256, "%s/AppIcon.xpm", dir);
      if (from == NULL) {
! 	pixmap = create_pixmap(GTK_WIDGET(button), icon_path);
      } else {
! 	pixmap = create_pixmap_d(GTK_WIDGET(button), from);
      }
      gtk_widget_show(pixmap);
      gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, FALSE, 0);
--- 198,224 ----
  {
      GtkWidget *hbox, *pixmap, *label;
      char icon_path[256];
+ 	/* To check if a file is open */
+ 	FILE *app_icon=NULL;
  
      hbox = gtk_hbox_new(FALSE, 5);
      gtk_widget_show(hbox);
      gtk_container_add(GTK_CONTAINER(menuitem), hbox);
  
      snprintf(icon_path, 256, "%s/AppIcon.xpm", dir);
+ 	/* Now let's try to open the file */
+ 	app_icon=fopen(icon_path,"r");
+ 	if (app_icon == NULL) {
+ 		snprintf(icon_path, 256, "%s/.DirIcon", dir);
+ 		app_icon=fopen(icon_path,"r");
+ 	}
+ 
      if (from == NULL) {
! 		pixmap = create_pixmap(GTK_WIDGET(button), icon_path);
! 	} else if (app_icon != NULL) { 
! 		pixmap = create_pixmap(GTK_WIDGET(button), icon_path);
      } else {
! 		pixmap = create_pixmap_d(GTK_WIDGET(button), from);
      }
      gtk_widget_show(pixmap);
      gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, FALSE, 0);
***************
*** 352,357 ****
--- 363,384 ----
  
  }
  
+ /* 
+ 	Some signal handlers for destroying the window.  I found it annoying
+ 	that clicking the WM's 'X' left the program running.
+ 	-P.G.
+ */
+ gint delete_event(GtkWidget *widget, GdkEvent *event, gpointer data) 
+ {
+ 	return(FALSE);
+ }
+ 
+ void destroy(GtkWidget *widget, gpointer data)
+ {
+ 	gtk_main_quit();
+ }
+ /* End edit -P.G. */
+ 
  int main(int argc, char *argv[], char * envp[])
  {
      struct sigaction	act;
***************
*** 364,376 ****
      label_font=gdk_font_load("-adobe-helvetica-bold-r-normal-*-*-120-*-*-p-*-iso8859-1");
  
      if (argc > 1) {
! 	window = gtk_plug_new(atol(argv[1]));
! 	gtk_signal_connect(GTK_OBJECT(window), "destroy",
  			   GTK_SIGNAL_FUNC(gtk_main_quit),
  			   "WM destroy");
      } else {
  	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      }
  
      /* Let child processes die */
      act.sa_handler = child_died;
--- 391,412 ----
      label_font=gdk_font_load("-adobe-helvetica-bold-r-normal-*-*-120-*-*-p-*-iso8859-1");
  
      if (argc > 1) {
! 		window = gtk_plug_new(atol(argv[1]));
! 		/*	
! 			I have no idea why this was in the if block, so I just 
! 			moved that signal handler outside. -P.G.
! 			gtk_signal_connect(GTK_OBJECT(window), "destroy",
  			   GTK_SIGNAL_FUNC(gtk_main_quit),
  			   "WM destroy");
+ 		*/
      } else {
  	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      }
+ 	/* Add those signal handlers -P.G. */
+ 	gtk_signal_connect(GTK_OBJECT(window), "delete_event",
+ 						GTK_SIGNAL_FUNC(delete_event), NULL);
+ 	gtk_signal_connect(GTK_OBJECT(window), "destroy",
+ 						GTK_SIGNAL_FUNC(destroy), NULL);
  
      /* Let child processes die */
      act.sa_handler = child_died;
Only in rox-menu-source_new/src: menu_applet.o
