antiright-devel
[Top][All Lists]
Advanced

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

[Antiright-devel] antiright ./COPYING ./Makefile.in ./configure d...


From: Jeffrey Bedard
Subject: [Antiright-devel] antiright ./COPYING ./Makefile.in ./configure d...
Date: Mon, 16 Aug 2004 13:31:23 -0400

CVSROOT:        /cvsroot/antiright
Module name:    antiright
Branch:         
Changes by:     Jeffrey Bedard <address@hidden> 04/08/16 17:27:05

Modified files:
        .              : COPYING Makefile.in configure 
        doc            : README 
        lib            : button.c label.c label.h library.h status.c 
                         window.c window.h 
        src            : ACE AntiRight 
        src/arshell    : arguments.c arshell.h dialog.c file.c file.h 
                         main.c menubar.c search.c search.h textedit.c 
                         textedit.h 
Added files:
        src/bitmaps    : barchart.xpm calculate.xpm cdrom.xpm 
                         colormap.xpm disks.xpm earth.xpm edit.xpm 
                         filing.xpm lightning.xpm mail.xpm note2.xpm 
                         notebook.xpm tools.xpm xterm.xpm 

Log message:
        Pixmap icons were added.  A unified search and replace dialog was added 
to the text editor.   A series of pixmap/bitmap convenience functions were 
added.  Label-less icon buttons were added to arshell, invoked by the -Ai 
option.  Various pixmaps were added.  Find at cursor, find selected, revert 
file, insert file, select all, and show/hide toolbar features were added.  The 
line counter in the status bar of the text editor was fixed, giving an accurate 
line count.  A font selector was added and is usable for changing the font of 
the work area.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/COPYING.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/Makefile.in.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/configure.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/doc/README.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/button.c.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/label.c.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/label.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/library.h.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/status.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/window.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/lib/window.h.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/ACE.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/AntiRight.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/arguments.c.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/arshell.h.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/dialog.c.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/file.c.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/file.h.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/main.c.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/menubar.c.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/search.c.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/search.h.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/textedit.c.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/arshell/textedit.h.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/barchart.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/calculate.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/cdrom.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/colormap.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/disks.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/earth.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/edit.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/filing.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/lightning.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/mail.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/note2.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/notebook.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/tools.xpm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/antiright/antiright/src/bitmaps/xterm.xpm?rev=1.1

Patches:
Index: antiright/COPYING
diff -u antiright/COPYING:1.7 antiright/COPYING:1.8
--- antiright/COPYING:1.7       Mon Jul  5 23:39:22 2004
+++ antiright/COPYING   Mon Aug 16 17:27:05 2004
@@ -2,7 +2,7 @@
                       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+                          675 Mass Ave, Cambridge, MA 02139, USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -291,7 +291,7 @@
 the "copyright" line and a pointer to where the full notice is found.
 
     <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
+    Copyright (C) 19yy  <name of author>
 
     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
@@ -305,15 +305,14 @@
 
     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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
+    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
 Also add information on how to contact you by electronic and paper mail.
 
 If the program is interactive, make it output a short notice like this
 when it starts in an interactive mode:
 
-    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision version 69, Copyright (C) 19yy name of author
     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     This is free software, and you are welcome to redistribute it
     under certain conditions; type `show c' for details.
Index: antiright/Makefile.in
diff -u antiright/Makefile.in:1.23 antiright/Makefile.in:1.24
--- antiright/Makefile.in:1.23  Fri Aug 13 19:32:51 2004
+++ antiright/Makefile.in       Mon Aug 16 17:27:05 2004
@@ -91,6 +91,7 @@
        $(INSTALL_DATA) doc/HACKING $(docdir)/antiright
        $(INSTALL_DATA) ChangeLog $(docdir)/antiright
        $(INSTALL_DATA) src/bitmaps/*.xbm $(bitmapdir)
+       $(INSTALL_DATA) src/bitmaps/*.xpm $(bitmapdir)
 
 tarball: distclean
        cd .. && tar czf antiright-$(VERSION).tar.gz antiright
Index: antiright/configure
diff -u antiright/configure:1.34 antiright/configure:1.35
--- antiright/configure:1.34    Fri Aug 13 00:04:21 2004
+++ antiright/configure Mon Aug 16 17:27:05 2004
@@ -24,9 +24,12 @@
 #
 ###############################################################################
 
-VERSION=2.0
+VERSION=2.1
 DEFS="$DEFS -DPACKAGE_STRING='\"AntiRight_$VERSION\"'"
 
+ICONDIR=/usr/X11R6/include/X11/bitmaps/antiright
+DEFS="$DEFS -DICONDIR=\'\"$ICONDIR\"\'"
+
 cp Makefile.in Makefile
 
 if [ "$PREFIX"="" ]; then
@@ -40,8 +43,23 @@
 
 INCLUDE="$INCLUDE -I/usr/local/include -I/usr/X11R6/include"
 LIBDIR="$LIBDIR -L/usr/local/lib -L/usr/X11R6/lib"
+
+if [ ! -f /usr/X11R6/include/Xm/XpmP.h ]; then
+    LIBS="$LIBS -lXpm"
+fi
+
+if [ -f /usr/local/lib/libXlt.so ] || [ -f /usr/X11R6/lib/libXlt.so ]; then
+    LIBS="$LIBS -lXlt"
+    DEFS="$DEFS -DHAVE_XLT"
+elif [ -f /usr/local/lib/libXlt.la ] || [ -f /usr/X11R6/lib/libXlt.la ]; then
+    LIBS="$LIBS -static -lXlt -shared"
+    DEFS="$DEFS -DHAVE_XLT"
+fi
+
 LIBS="$LIBS -lXm -lXt -lX11"
+
 DEFS="$DEFS -D_GNU_SOURCE -D__USE_GNU"
+
 # Append assignments to line 36 of the Makefile. 
 sed "25a\\
     PREFIX=$PREFIX\\
Index: antiright/doc/README
diff -u antiright/doc/README:1.1 antiright/doc/README:1.2
--- antiright/doc/README:1.1    Thu Jul  8 18:58:02 2004
+++ antiright/doc/README        Mon Aug 16 17:27:05 2004
@@ -17,7 +17,8 @@
 your system setup and your installation preferences.
 
 Antiright is developed on a GNU/Linux system with linux kernel
-2.6.0-pre2, openmotif 2.3, glibc 2.3.2, and XFree86 4.3.99.6.
+2.6.7, gawk 3.1.3, coreutils 5.0, openmotif 2.3, glibc 3.4.1, 
+and XFree86 4.4.99.7.
 
 TO INSTALL:
 
@@ -28,6 +29,10 @@
 make install
 exit
 
+TO RUN:
+COMMAND TO START A SESSION: AR
+COMMAND TO START THE PANEL: ACE
+
 VERSIONING ROADMAP
 
 The previous versioning roadmap has been removed.  This section describes 
@@ -37,13 +42,3 @@
     Numbering:   <major>.<minor>
     <minor> is to be increased at least once for every release.  If the 
release is a major feature enhancement, <minor> is increased by three.
     <major> is increased when <minor> reaches 150.
-
-
-       
-
-
-
-
-
-       
-
Index: antiright/lib/button.c
diff -u antiright/lib/button.c:1.4 antiright/lib/button.c:1.5
--- antiright/lib/button.c:1.4  Fri Aug 13 18:18:18 2004
+++ antiright/lib/button.c      Mon Aug 16 17:27:05 2004
@@ -36,13 +36,10 @@
                 XtPointer client_data)
 {
   antiright_set(XmNpacking, XmPACK_TIGHT);
-  Widget button_widget=XmCreatePushButton(parent_widget, 
-                                         name, 
-                                         antiright.arguments, 
-                                         antiright.arguments_int);
+  Widget button_widget=XmCreatePushButton(parent_widget, name, ARARGS);
   XtManageChild(button_widget);
   XtAddCallback(button_widget, XmNactivateCallback, callback, client_data);
-  if(client_data != NULL)
+  if(client_data != NULL & antiright.arm_status)
       XtAddCallback(button_widget, XmNarmCallback, antiright_status_callback,
                    client_data);
   return(button_widget);
@@ -58,15 +55,16 @@
   Widget icon;
   char* label_string;
 #if XmVERSION > 1 & XmREVISION > 1
-  antiright_set(XmNpixmap, antiright_pixmap_file(iconfilename));
+  antiright_set(XmNalignment, XmALIGNMENT_CENTER);
   icon=(Widget)XmCreateIconButton(parent_widget, "icon",
                                  antiright.arguments, antiright.arguments_int);
+  antiright_label_set_bitmap_from_file(icon, iconfilename);
   XtManageChild(icon);
   XtAddCallback(icon, XmNactivateCallback, callback, client_data);
   label_string=antiright_beautified_label(name);
   antiright_label_string(icon, label_string);
   free(label_string);
-#else  
+#else
   Widget button, label, form;
   icon=antiright_frame(parent_widget, XmSHADOW_OUT);
   form=antiright_form(icon);
Index: antiright/lib/label.c
diff -u antiright/lib/label.c:1.2 antiright/lib/label.c:1.3
--- antiright/lib/label.c:1.2   Sat Aug  7 17:13:41 2004
+++ antiright/lib/label.c       Mon Aug 16 17:27:05 2004
@@ -21,9 +21,7 @@
 */
 
 #include "library.h"
-#if XmVERSION > 1 & XmREVISION > 1
-#include <Xm/XpmP.h>
-#endif /* XmVERSION > 1 & XmREVISION > 1  */
+
 
 /* This creates an XmLabel, manages it, and returns it.  */
 Widget
@@ -49,25 +47,14 @@
                NULL);
 }
 
-Pixmap
-antiright_pixmap_file(char* filename)
-{
-  Pixmap bitmap;
-  int width, height, x_hot, y_hot;
-  XReadBitmapFile(antiright.display, antiright.root_window, filename, 
-                 &width, &height, &bitmap, &x_hot, &y_hot);
-  return(bitmap);
-}
 
 void
 antiright_label_set_bitmap_from_file(Widget label, char* filename)
 {
-  XtVaSetValues(label,
-               XmNlabelType, XmPIXMAP,
-               XmNlabelPixmap, antiright_pixmap_file(filename),
-               NULL);
+  antiright_set_bitmap_from_file(label, filename);
 }
 
+
 void
 antiright_label_string(Widget label_widget,
                       char *label_string)
Index: antiright/lib/label.h
diff -u antiright/lib/label.h:1.2 antiright/lib/label.h:1.3
--- antiright/lib/label.h:1.2   Sat Aug  7 17:13:41 2004
+++ antiright/lib/label.h       Mon Aug 16 17:27:05 2004
@@ -35,7 +35,10 @@
 antiright_label_set_bitmap_from_file(Widget label, char* filename);
 
 void
+antiright_set_bitmap_from_file(Widget label, char* filename);
+
+void
 antiright_label_string(Widget label_widget,
                       char *label_string);
 Pixmap
-antiright_pixmap_file(char* filename);
+antiright_pixmap_file(char* filename, Pixmap *mask);
Index: antiright/lib/library.h
diff -u antiright/lib/library.h:1.6 antiright/lib/library.h:1.7
--- antiright/lib/library.h:1.6 Fri Aug 13 18:18:18 2004
+++ antiright/lib/library.h     Mon Aug 16 17:27:05 2004
@@ -40,6 +40,17 @@
 #include "status.h"
 #include "util.h"
 
+#if XmVERSION > 1 & XmREVISION > 1
+#include <Xm/XpmP.h>
+#else
+#include <xpm.h>
+#endif /* XmVERSION > 1 & XmREVISION > 1  */
+
+#ifdef HAVE_XLT
+#include <Xlt/Xlt.h>
+#include <Xlt/FontChooser.h>
+#endif /* HAVE_XLT  */
+
 struct antiright_application_structure
 {
   /* This is the display on which antiright.parent_widget runs.  */
@@ -62,6 +73,9 @@
   Arg arguments[64];
   /* This is the argument counter.  */
   int arguments_int;
+  /* This, if true, prints status messages containing client_data when
+     a button is armed.  */
+  Boolean arm_status;
 };
 
 /* This structure is used in all AntiRight programs.  */
@@ -135,9 +149,20 @@
    abreviation for AntiRight.  CL is an abbreviation for CLear.  ARG
    is an abbreviation for ARGuments.  */
 #define ARCLARG antiright.arguments_int=0
-
+/* This is a shortcut to specifying the variables that hold a widget's
+   arguments.  */
+#define ARARGS antiright.arguments, antiright.arguments_int
+/* This is a shortcut for the parameters of an Xt callback.  */
+#define ARCBARG Widget widget, XtPointer client_data, XtPointer call_data
 /* This is used by the form layout functions in order to set an
    unattached widget.  */
 enum{ANTIRIGHT_NONE=-1};
+/* This is a debug marking function.  */
+#define ARBUG                                  \
+  {                                            \
+    printf("%s: %d\n", __FILE__, __LINE__);    \
+    fflush(stdout);                            \
+  }                                            \
+    
 
 #endif /* AR_LIBRARY_H */
Index: antiright/lib/status.c
diff -u antiright/lib/status.c:1.3 antiright/lib/status.c:1.4
--- antiright/lib/status.c:1.3  Mon Aug  9 22:25:59 2004
+++ antiright/lib/status.c      Mon Aug 16 17:27:05 2004
@@ -29,7 +29,7 @@
 antiright_status(char *status)
 {
   if(antiright.status_widget != NULL)
-         antiright_label_string(antiright.status_widget, status);
+    antiright_label_string(antiright.status_widget, status);
 }
 
 void
@@ -45,7 +45,6 @@
 Widget
 antiright_create_status_bar(Widget parent_widget)
 {
-  ARCLARG;
   antiright_form_positions(ANTIRIGHT_NONE, 100, 0, 100);
   antiright.status_widget=antiright_label(parent_widget, "Status");
   return(antiright.status_widget);
Index: antiright/lib/window.c
diff -u antiright/lib/window.c:1.3 antiright/lib/window.c:1.4
--- antiright/lib/window.c:1.3  Mon Aug  9 22:45:02 2004
+++ antiright/lib/window.c      Mon Aug 16 17:27:05 2004
@@ -23,6 +23,7 @@
 #include "library.h"
 #include <locale.h>
 
+
 /* Set the icon and window title of a particular widget.  */
 void
 antiright_set_widget_title(Widget widget, const char* name)
@@ -40,26 +41,93 @@
   antiright_set_widget_title(antiright.parent_widget, name);
 }
 
-void
-antiright_set_widget_icon_resource(Widget widget, String resource,
-                                  unsigned char bits[],
-                                  int width, int height)
+Pixmap
+antiright_file_to_bitmap(char *filename)
 {
-  ARCLARG;
-  antiright_set(resource, (XtArgVal)XCreateBitmapFromData(antiright.display,
-                                                         antiright.root_window,
-                                                         (const char*)bits, 
-                                                         width, height));
-  antiright_set_values(widget);
-  ARCLARG;
+  Pixmap bitmap;
+  int width, height, x_hot, y_hot;
+  XReadBitmapFile(antiright.display, antiright.root_window, filename, 
+                 &width, &height, &bitmap, &x_hot, &y_hot);
+  return(bitmap);
+}
+
+char *
+antiright_get_file_extension(char *filename)
+{
+  char *extension=(char*)xmalloc(4);
+  unsigned int filename_length=strlen(filename);
+  unsigned int counter=filename_length-3;
+  unsigned int extension_counter=0;
+
+  
+  while(counter < filename_length)
+    {
+      extension[extension_counter]=filename[counter];
+      counter++;
+      extension_counter++;
+    }
+  extension[extension_counter]='\0';
+  return(extension);
+}
+
+XpmAttributes
+antiright_setup_pixmap_attributes_for_widget(Widget widget)
+{
+  Pixel background;
+  XpmAttributes attributes;
+  XpmColorSymbol symbol;
+  XtVaGetValues(widget, XmNbackground, &background, NULL);
+  symbol.name=NULL;
+  symbol.value="none";
+  symbol.pixel=background;
+  attributes.colorsymbols=&symbol;
+  attributes.numsymbols=1;
+  attributes.valuemask=XpmColorSymbols;
+  return(attributes);
 }
 
-/* Set the icon bitmap.  */
 void
-antiright_set_icon(unsigned char bits[])
-{
-  antiright_set_widget_icon_resource(antiright.parent_widget, XmNiconPixmap,
-                                    bits, 48, 48);
+antiright_set_widget_pixmaps(Widget label, Pixmap bitmap)
+{
+  XtVaSetValues(label,
+               XmNlabelType, XmPIXMAP,
+               XmNlabelPixmap, bitmap,
+               XmNiconPixmap, bitmap,
+               NULL);
+#if XmVERSION > 1 & XmREVISION > 1
+  XtVaSetValues(label, XmNpixmap, bitmap, NULL);
+#endif /* XmVERSION > 1 & XmREVISION > 1  */
+}
+void
+antiright_set_pixmap_from_data(Widget widget, char **data)
+{
+  Pixmap bitmap;
+  XpmAttributes attributes;
+  attributes=antiright_setup_pixmap_attributes_for_widget(widget);
+  XpmCreatePixmapFromData(antiright.display, antiright.root_window, 
+                         data, &bitmap, NULL, &attributes);
+  antiright_set_widget_pixmaps(widget, bitmap);
+}
+
+void
+antiright_set_bitmap_from_file(Widget label, char* filename)
+{
+  Pixmap bitmap;
+  char *extension=antiright_get_file_extension(filename);
+
+  if(!strncmp(extension, "xpm", 3)) /* File is a pixmap.  */
+    {
+      XpmAttributes attributes;
+      attributes=antiright_setup_pixmap_attributes_for_widget(label);
+      XpmReadFileToPixmap(antiright.display, antiright.root_window,
+                         filename, &bitmap, NULL, &attributes);
+    }
+  else /* File is a bitmap.  */
+    {
+      bitmap=antiright_file_to_bitmap(filename);
+    }
+  free(extension);
+  antiright_set_widget_pixmaps(label, bitmap);
 }
 
 void
@@ -125,12 +193,10 @@
 void
 antiright_initialize_application(int* argc, 
                                 char** argv,
-                                const char* name,
-                                unsigned char bits[])
+                                const char* name)
 {
   antiright_setup_xt(argc, argv);
   antiright_initialize_antiright_data();
-  antiright_set_icon(bits);         
   antiright_set_title(name);
   antiright_system("ACE -c &");
 }
Index: antiright/lib/window.h
diff -u antiright/lib/window.h:1.2 antiright/lib/window.h:1.3
--- antiright/lib/window.h:1.2  Sat Aug  7 17:13:41 2004
+++ antiright/lib/window.h      Mon Aug 16 17:27:05 2004
@@ -40,16 +40,19 @@
 void
 antiright_initialize_application(int* argc, 
                                 char **argv,
-                                const char *name, /* The
-                                                     application's
-                                                     title.  */
-                                unsigned char bits[]); /* The
-                                                          application's
-                                                          icon data.  */
-void
+                                const char *name); /* The
+                                                      application's
+                                                      title.  */
+  void
 antiright_standard_usage(char *name_string);
 
 void
+antiright_set_bitmap_from_file(Widget label, char* filename);
+void
+antiright_set_icon_pixmap(char **data);
+void
+antiright_set_pixmap_from_data(Widget widget, char **data);
+void
 antiright_report_bugs_message();
 
 #endif /* AR_WINDOW_H  */
Index: antiright/src/ACE
diff -u antiright/src/ACE:1.14 antiright/src/ACE:1.15
--- antiright/src/ACE:1.14      Thu Aug 12 09:40:09 2004
+++ antiright/src/ACE   Mon Aug 16 17:27:05 2004
@@ -155,41 +155,45 @@
 }
 Desktop_Lite()
 {
-    $ARSHELL -r 4\
-       -Ab 'ACE Calculator' $bmdir/antiright/calculate.xbm\
-       -Ab 'ACE CD_Player' $bmdir/antiright/cdplayer.xbm\
-       -Ab 'ACE File_Manager' $bmdir/antiright/files.xbm\
-       -Ab 'ACE Note' $bmdir/antiright/notes.xbm\
-       -Ab 'ACE Editor' $bmdir/antiright/text.xbm\
-       -Ab 'ACE Load_Meter' $bmdir/antiright/load.xbm\
-       -Ab 'ACE Terminal' $bmdir/antiright/terminal.xbm\
-       -Ab 'ACE Browser' $bmdir/antiright/browser.xbm\
-       -Ab 'ACE Mail' $bmdir/antiright/mail.xbm\
-       -Ab 'ACE Background' $bmdir/antiright/image.xbm\
-       -Ab 'ACE -A Settings' $bmdir/antiright/switches.xbm\
-       -Ab 'ACE -A File_System_Panel File_Systems'\
-       $bmdir/antiright/files.xbm\
+    $ARSHELL -r 2\
+       -Ai 'ACE Calculator' $bmdir/antiright/kcalc.xpm\
+       -Ai 'ACE CD_Player' $bmdir/antiright/kscd.xpm\
+       -Ai 'ACE File_Manager' $bmdir/antiright/kfm.xpm\
+       -Ai 'ACE Note' $bmdir/antiright/knotes.xpm\
+       -Ai 'ACE Editor' $bmdir/antiright/kedit.xpm\
+       -Ai 'ACE Load_Meter' $bmdir/antiright/ksysguard.xpm\
+       -Ai 'ACE Terminal' $bmdir/antiright/term.xpm\
+       -Ai 'ACE Browser' $bmdir/antiright/netscape.xpm\
+       -Ai 'ACE Mail' $bmdir/antiright/mail.xpm\
+       -Ai 'ACE Background' $bmdir/antiright/kcoloredit.xpm\
+       -Ai 'ACE -A Settings' $bmdir/antiright/tools.xpm\
+       -Ai 'ACE -A File_System_Panel File_Systems'\
+       $bmdir/antiright/fileserver.xpm\
        -xrm "*overrideRedirect: True" -xrm "*marginWidth: 0"\
        -xrm "*marginHeight: 0" -xrm "*margin: 0" -W DESKTOP\
-       -geometry +16+64 -xrm "*highlightThickness: 0"\
+       -geometry +32+64 -xrm "*highlightThickness: 0"\
        -xrm "*alignment: XmALIGNMENT_CENTER" &
 }
 Sticky_Note()
 {
     local background
+    local ones=$(date +%S | cut -c 2)
     background=$(\
-       if [ $(date +%S) -lt 15 ];\
+       if [ $ones -lt 2 ];\
        then echo -n skyblue;\
-       elif [ $(date +%S) -lt 30 ];\
+       elif [ $ones -lt 4 ];\
        then echo -n pink;\
-       elif [ $(date +%S) -lt 45 ];\
+       elif [ $ones -lt 6 ];\
        then echo -n lightgreen;\
-       elif [ $(date +%S) -lt 60 ];\
+       elif [ $ones -lt 8 ];\
        then echo -n yellow;\
+       elif [ $ones -lt 10 ];\
+       then echo -n beige;\
        fi)
     $ARSHELL -W 'Sticky Note' -Am -Amf 'ACE Sticky_Note \# New' -Aw\
        -xrm "*XmText.background: $background"\
-       -xrm '*XmText.height: 200' -xrm '*XmText.width: 150'
+       -xrm '*XmText.height: 200' -xrm '*XmText.width: 150'\
+       -xrm '*XmText.wordWrap: True'
 }
 Delete_File()
 {
@@ -448,7 +452,10 @@
 }
 Background_Editor()
 {
-    xsetroot -solid "$($ARSHELL -AC)"
+    color="$($ARSHELL -AC)"
+    if [ "$color" != "" ]; then
+       xsetroot -solid "$color"
+    fi
 }
 Mount_File_System()
 {
@@ -471,13 +478,13 @@
     local file
 
     if [ -z "$1" ]; then
-       $ARSHELL -Am -Aw
+       $ARSHELL -Am -Aw -As
     else
        file=$1
        if [ ! -f $file ]; then
            touch $file
        fi
-       cat $file | $ARSHELL -Am -Aw -p -W $file
+       cat $file | $ARSHELL -Am -Aw -As -p -W $file
     fi
 }
 Manual_Page()
Index: antiright/src/AntiRight
diff -u antiright/src/AntiRight:1.2 antiright/src/AntiRight:1.3
--- antiright/src/AntiRight:1.2 Sat Aug  7 17:13:41 2004
+++ antiright/src/AntiRight     Mon Aug 16 17:27:05 2004
@@ -18,39 +18,63 @@
 !     along with AntiRight; if not, write to the Free Software
 !     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-
+*scrollHorizontal: False
 *New.acceleratorText: Ctrl<Key>N
 *New.acceleratorText: Ctrl-N
 *Exit.accelerator:Ctrl<Key>Q
 *Exit.acceleratorText: Ctrl-Q
 *Tutorial.accelerator: Ctrl<Key>H
 *Tutorial.acceleratorText:Ctrl-H
-*Close.accelerator: Ctrl<Key>C
-*Close.acceleratorText: Ctrl-C
+*Close.accelerator: Ctrl<Key>Q
+*Close.acceleratorText: Ctrl-Q
 *Save.accelerator: Ctrl<Key>S
 *Save.acceleratorText:Ctrl-S
 *Save As.mnemonic: a
-*Save As.accelerator: Ctrl<Key>A
-*Save As.acceleratorText: Ctrl-A
+*Save As.accelerator: Ctrl<Key>W
+*Save As.acceleratorText: Ctrl-W
 *Save As.labelString: Save As...
+*Revert.mnemonic: R
+*Revert.accelerator: Alt<Key>R
+*Revert.acceleratorText: Alt-R
+*Insert.mnemonic: I
+*Insert.accelerator: Ctrl<Key>I
+*Insert.acceleratorText: Ctrl-I
+*Change Font.mnemonic: C
+*Change Font.accelerator: Alt<Key>C
+*Change Font.acceleratorText: Alt-C
 *Print.accelerator: Ctrl<Key>P
 *Print.acceleratorText:Ctrl-P
-*Search.accelerator: Ctrl<Key>F
-*Search.acceleratorText: Ctrl-F
-*Replace.accelerator: Ctrl<Key>-R
-*Replace.acceleratorText: Ctrl-R
-*Replace.mnemonic: R
-*Replace.labelString: Replace...
+*Search/Replace.accelerator: Ctrl<Key>F
+*Search/Replace.acceleratorText: Ctrl-F
+*Search/Replace.mnemonic: e
+*Search/Replace.labelString: Search/Replace...
+*Select All.mnemonic: S
+*Select All.accelerator: Ctrl<Key>A
+*Select All.acceleratorText: Ctrl-A
 *Cut.accelerator: Ctrl<Key>X
 *Cut.acceleratorText: Ctrl-X
 *Copy.accelerator: Ctrl<Key>C
 *Copy.acceleratorText: Ctrl-C
 *Paste.accelerator: Ctrl<Key>V
 *Paste.acceleratorText: Ctrl-V
+*Find Selected.mnemonic: F
+*Find Selected.accelerator: Ctrl<Key>M
+*Find Selected.acceleratorText: Ctrl-M
+*Find at Cursor.mnemonic: i
+*Find at Cursor.accelerator: Ctrl<Key>N
+*Find at Cursor.acceleratorText: Ctrl-N
 *Backdrop Editor.mnemonic: b
 *Backdrop Editor.accelerator: Ctrl<Key>b
-*Backdrop Editor.accelerator: Ctrl<Key>b
 *Backdrop Editor.acceleratorText: Ctrl-b
+*Lower Selection Case.mnemonic: L
+*Lower Selection Case.accelerator: Alt<Key>L
+*Lower Selection Case.acceleratorText: Alt-L
+*Raise Selection Case.accelerator: Alt<Key>U
+*Raise Selection Case.acceleratorText: Alt-U
+*Raise Selection Case.mnemonic: a
+*Go to Line.mnemonic: G
+*Go to Line.accelerator: Alt<Key>G
+*Go to Line.acceleratorText: Alt-G
 *X Theme Selector.mnemonic: t
 *X Theme Selector.mnemonic: T
 *Security Settings....mnemonic: S
@@ -126,8 +150,6 @@
 *Yes.mnemonic: Y
 *No.mnemonic: N
 *Edit.mnemonic: E
-*Search.mnemonic: S
-*Search.labelString: Search...
 *Copy.mnemonic: C
 *Cut.mnemonic: u
 *Cancel.mnemonic: C
Index: antiright/src/arshell/arguments.c
diff -u antiright/src/arshell/arguments.c:1.6 
antiright/src/arshell/arguments.c:1.7
--- antiright/src/arshell/arguments.c:1.6       Mon Aug  9 22:45:02 2004
+++ antiright/src/arshell/arguments.c   Mon Aug 16 17:27:05 2004
@@ -31,8 +31,22 @@
   arshell.gui.layout.rows_int=8;
 }
 void
+arshell_transparency_hack()
+{
+  if(arshell.gui.widgets.work==NULL & !arshell.transparency_hacked)
+    {
+      char *icon;
+      asprintf(&icon, "%s/handtoface.xpm", ICONDIR);
+      antiright_set_bitmap_from_file(antiright.parent_widget, icon);
+      free(icon);
+      arshell.transparency_hacked=True;
+    }
+       
+}
+void
 arshell_add_bitmap_button(int *counter_int, char **argv)
 {
+  arshell_transparency_hack();
   (*counter_int)++;
   arshell_row_layout();
   antiright_icon_button(arshell.gui.layout.row_widget,
@@ -40,7 +54,18 @@
                        arshell_system_cb, argv[(*counter_int)]);
   (*counter_int)++;
 }
-
+void
+arshell_add_icon_button(int *counter_int, char **argv)
+{
+  Widget button;
+  arshell_transparency_hack();
+  (*counter_int)++;
+  arshell_row_layout();
+  button=antiright_button(arshell.gui.layout.row_widget, argv[(*counter_int)],
+                         arshell_system_cb, argv[(*counter_int)]);
+  (*counter_int)++;
+  antiright_label_set_bitmap_from_file(button, argv[(*counter_int)]);
+}
 void
 arshell_handle_construction_arguments(int *counter_int, char **argv)
 {
@@ -55,6 +80,9 @@
     case 'D': /* Add a dialog.  */
       arshell_handle_dialog_arguments(counter_int, argv);
       break;
+    case 'i': /* Add an icon without a label.  */
+      arshell_add_icon_button(counter_int, argv);
+      break;
     case 'l': /* Add a label.  */
       (*counter_int)++;
       ARCLARG;
Index: antiright/src/arshell/arshell.h
diff -u antiright/src/arshell/arshell.h:1.7 antiright/src/arshell/arshell.h:1.8
--- antiright/src/arshell/arshell.h:1.7 Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/arshell.h     Mon Aug 16 17:27:05 2004
@@ -77,6 +77,7 @@
   int updaters_int;
   XtIntervalId *timer_id;
   int update_frequency;
+  Boolean transparency_hacked;
 };
 
 struct arshell_data_struct arshell;
Index: antiright/src/arshell/dialog.c
diff -u antiright/src/arshell/dialog.c:1.2 antiright/src/arshell/dialog.c:1.3
--- antiright/src/arshell/dialog.c:1.2  Mon Aug  9 22:45:02 2004
+++ antiright/src/arshell/dialog.c      Mon Aug 16 17:27:05 2004
@@ -21,6 +21,10 @@
 */
 
 #include "arshell.h"
+#if XmVERSION > 1 & XmREVISION > 1
+#include <Xm/FontS.h>
+#include <Xm/FontSP.h>
+#endif /* XmVERSION > 1 & XmREVISION > 1  */
 
 void
 arshell_dialog_cb(Widget widget, XtPointer client_data, XtPointer call_data)
@@ -31,6 +35,97 @@
   exit(0);
 }
 
+void
+arshell_font_select_cb(ARCBARG)
+{
+  Widget font_selector=(Widget)client_data;
+  char* font;
+  ARCLARG;
+  antiright_set(XmNcurrentFont, (XtArgVal)&font);
+  antiright_get_values(font_selector);
+  ARCLARG;
+  printf(font);
+  exit(0);
+}
+
+/*#define DEBUG_OLD_MOTIF
+  #define DEBUG_NO_XLT*/
+
+#ifdef DEBUG_OLD_MOTIF
+#undef XmVERSION
+#define XmVERSION 1
+#endif /* DEBUG_OLD_MOTIF  */
+
+#ifdef DEBUG_NO_XLT
+#ifdef HAVE_XLT
+#undef HAVE_XLT
+#endif /* HAVE_XLT  */
+#endif /* DEBUG_NO_XLT  */
+
+#if XmVERSION < 2 | XmREVISION < 2 
+#ifdef HAVE_XLT
+void
+arshell_font_chooser_ok_cb(ARCBARG)
+{
+  char *font;
+  antiright_set(XmNfontName, (XtArgVal)&font);
+  antiright_get_values(widget);
+  printf(font);
+  exit(0);
+}
+void
+arshell_font_chooser_cancel_cb(ARCBARG)
+{
+  exit(0);
+}
+#endif /* HAVE_XLT  */
+#endif /* XmVERSION < 1 & XmREVISION < 1 & HAVE_XLT  */
+void
+arshell_font_dialog()
+{
+
+  Widget font_selector;
+#if XmVERSION > 1 & XmREVISION > 1
+  Widget form;
+  ARCLARG;
+  form=antiright_form(arshell.gui.widgets.mainwindow);
+  arshell.gui.widgets.work=form;
+  antiright_set_title("Font Selector");
+  ARCLARG;
+  antiright_form_positions(0, 90, 0, 100);
+  font_selector=XmCreateFontSelector(form, "font_selector", ARARGS);
+  XtManageChild(font_selector);
+  ARCLARG;
+  antiright_set(XmNwidth, 500);
+  antiright_set(XmNheight, 256);
+  antiright_set_values(antiright.parent_widget);
+  ARCLARG;
+  XtUnmanageChild(arshell.gui.widgets.row);
+  ARCLARG;
+  antiright_form_positions(90, 100, 0, 100);
+  antiright_button(form, "Select", arshell_font_select_cb, font_selector);
+  ARCLARG;
+#else
+#if HAVE_XLT
+  antiright_set_title("Font Selector");
+  ARCLARG;
+  font_selector=XltCreateFontChooser(arshell.gui.widgets.mainwindow,
+                                    "font_selector", ARARGS);
+  XtManageChild(font_selector);
+  XtAddCallback(font_selector, XmNokCallback, 
+               arshell_font_chooser_ok_cb, NULL);
+  XtAddCallback(font_selector, XmNcancelCallback, 
+               arshell_font_chooser_cancel_cb, NULL);
+  XtAddCallback(font_selector, XmNhelpCallback, 
+               antiright_help_cb, "Use_this_dialog_to_select_a_font.");
+#else
+  system("arshell -ADp 'Enter a font name:' &");
+  exit(0);
+#endif /* HAVE_XLT  */
+#endif /* XmVERSION > 1 & XmREVISION > 1  */
+
+}
+
 
 void
 arshell_message_dialog(int *counter_int, char **argv)
@@ -127,6 +222,9 @@
      a new shell.  */
   switch(argv[(*counter_int)][3])
     {
+    case 'F':
+      arshell_font_dialog();
+      break;
     case 'f': /* Create a file selection dialog.  */
       arshell_file_select_dialog();
       break;
Index: antiright/src/arshell/file.c
diff -u antiright/src/arshell/file.c:1.1 antiright/src/arshell/file.c:1.2
--- antiright/src/arshell/file.c:1.1    Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/file.c        Mon Aug 16 17:27:05 2004
@@ -68,6 +68,12 @@
     arshell.edit.open_is_MDI=False;
 }
 
+void
+arshell_revert_file_cb()
+{
+  arshell.edit.open_is_MDI=True;
+  arshell_open_file();
+}
 
 void
 arshell_file_select_ok_cb(Widget widget,
Index: antiright/src/arshell/file.h
diff -u antiright/src/arshell/file.h:1.1 antiright/src/arshell/file.h:1.2
--- antiright/src/arshell/file.h:1.1    Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/file.h        Mon Aug 16 17:27:05 2004
@@ -42,5 +42,7 @@
 arshell_save_as_cb();
 void
 arshell_open_cb();
+void
+arshell_revert_file_cb();
 
 #endif /* ARSHELL_FILE_H  */
Index: antiright/src/arshell/main.c
diff -u antiright/src/arshell/main.c:1.1 antiright/src/arshell/main.c:1.2
--- antiright/src/arshell/main.c:1.1    Mon Aug  9 22:45:02 2004
+++ antiright/src/arshell/main.c        Mon Aug 16 17:27:05 2004
@@ -21,12 +21,13 @@
 */
 
 #include "arshell.h"
-#include "../bitmaps/antiright.xbm"
+#include "../bitmaps/handtoface.xpm"
 
 int
 main(int argc, char **argv)
 {
-  antiright_initialize_application(&argc, argv, "AntiRight", antiright_bits);
+  antiright_initialize_application(&argc, argv, "AntiRight");
+  antiright_set_pixmap_from_data(antiright.parent_widget, handtoface_xpm);
   arshell_setup_mainwindow();
   arshell_setup_work_row();
   arshell_initialize_application_data();
Index: antiright/src/arshell/menubar.c
diff -u antiright/src/arshell/menubar.c:1.3 antiright/src/arshell/menubar.c:1.4
--- antiright/src/arshell/menubar.c:1.3 Fri Aug 13 19:53:54 2004
+++ antiright/src/arshell/menubar.c     Mon Aug 16 17:27:05 2004
@@ -21,6 +21,13 @@
 */
 
 #include "arshell.h"
+#include "../bitmaps/cut.xpm"
+#include "../bitmaps/copy.xpm"
+#include "../bitmaps/paste.xpm"
+#include "../bitmaps/open.xpm"
+#include "../bitmaps/save.xpm"
+#include "../bitmaps/search.xpm"
+#include "../bitmaps/print.xpm"
 
 void
 arshell_setup_menubar()
@@ -114,14 +121,54 @@
   ARCLARG;
   antiright_set(XmNtitle, (XtArgVal)&title);
   antiright_get_values(antiright.parent_widget);
-  puts(title);
   if((title[0]=='S') & (title[1]=='t') & (title[2]=='i'))
     {
-      XtUnmanageChild(arshell.edit.toolbar);
+      XtUnmanageChild(XtParent(XtParent(arshell.edit.toolbar)));
     }
   ARCLARG;
 }
 
+Widget
+antiright_toolbar_button(Widget parent, char *description, char **icon, 
+                        XtCallbackProc callback, XtPointer client_data)
+{
+  Widget button;
+  ARCLARG;
+  antiright_set(XmNshadowThickness, 0);
+  button=antiright_button(parent, "button", arshell_open_cb, NULL);
+  antiright_set_tooltip(button, description);
+  antiright_set_pixmap_from_data(button, icon);
+  ARCLARG;
+  return(button);
+}
+
+Widget
+arshell_toolbar_button(char *description, char **icon, 
+                      XtCallbackProc callback, XtPointer client_data)
+{
+  return(antiright_toolbar_button(arshell.edit.toolbar, description, icon, 
+                                 callback, client_data));
+}
+
+void
+arshell_toggle_toolbar_cb(Widget widget, XtPointer client_data, XtPointer 
call_data)
+{
+  if(XmToggleButtonGetState(widget))
+    {
+      if(!XtIsManaged(XtParent(XtParent(arshell.edit.toolbar))))
+       {
+         XtManageChild(XtParent(XtParent(arshell.edit.toolbar)));
+       }
+    }
+  else
+    {
+      if(XtIsManaged(XtParent(XtParent(arshell.edit.toolbar))))
+       {
+         XtUnmanageChild(XtParent(XtParent(arshell.edit.toolbar)));
+       }
+    }
+}
+
 void
 arshell_setup_editor_toolbar()
 {
@@ -137,39 +184,28 @@
     antiright_row(arshell.gui.layout.row_manager_widget);
 
   arshell_hide_sticky_note_toolbar();
-       
-  ARCLARG;
-  button=antiright_button(arshell.edit.toolbar, "Open", arshell_open_cb, 
-                         NULL);
-  antiright_set_tooltip(button, "Open a file.  ");
-  button=antiright_button(arshell.edit.toolbar, "Save", 
-                         arshell_save_work_area, NULL);
-  antiright_set_tooltip(button, "Save the current file.  ");
-  button=antiright_button(arshell.edit.toolbar, "Print", 
-                         arshell_print_cb, NULL);
-  antiright_set_tooltip(button, "Print the current file.  ");
-  button=antiright_button(arshell.edit.toolbar, "Cut", antiright_cut_cb, 
-                         arshell.gui.widgets.work);
-  antiright_set_tooltip(button, "Cut a selection into the clipboard.");
-  button=antiright_button(arshell.edit.toolbar, "Copy", 
-                         antiright_copy_cb, 
-                         arshell.gui.widgets.work);
-  antiright_set_tooltip(button, "Copy a selection into the clipboard");
-  button=antiright_button(arshell.edit.toolbar, "Paste", 
-                         antiright_paste_cb, 
-                         arshell.gui.widgets.work);
-  antiright_set_tooltip(button, "Paste the contents of the clipboard.");
-  button=antiright_button(arshell.edit.toolbar, "Search", 
-                         arshell_search_cb, NULL);
-  antiright_set_tooltip(button, "Search for text.");
-  button=antiright_button(arshell.edit.toolbar, "Replace", 
-                         arshell_replace_cb, NULL);
-  antiright_set_tooltip(button, "Find and replace text.");
+  arshell_toolbar_button("Open a file.", open_xpm, 
+                        arshell_open_cb, NULL);
+  arshell_toolbar_button("Save the current file.", save_xpm,
+                        arshell_save_work_area, NULL);
+  arshell_toolbar_button("Print the current file.", print_xpm,
+                        arshell_print_cb, NULL);
+  arshell_toolbar_button("Cut the selection into the clipboard.", cut_xpm,
+                        antiright_cut_cb, arshell.gui.widgets.work);
+  arshell_toolbar_button("Copy the selection into the clipboard.", copy_xpm,
+                        antiright_copy_cb, arshell.gui.widgets.work);
+  arshell_toolbar_button("Paste the contents of the clipboard.", paste_xpm,
+                        antiright_paste_cb, arshell.gui.widgets.work);
+  arshell_toolbar_button("Search for and optionally replace text.", search_xpm,
+                        arshell_search_replace_cb, NULL);
 }
 
 void
 arshell_setup_work_menubar()
 {
+  Widget toggle_widget;
+  ARCLARG;
+  arshell_setup_editor_toolbar();
   ARCLARG;
   if(arshell.gui.menubar.menubar_widget != NULL)
     {
@@ -183,17 +219,41 @@
                       arshell_insert_file_cb, NULL);
       antiright_button(arshell.gui.menubar.file_widget, "Print",
                       arshell_print_cb, NULL);
+      antiright_button(arshell.gui.menubar.file_widget, "Revert",
+                      arshell_revert_file_cb, NULL);
       arshell.gui.menubar.edit_widget=
        antiright_edit_menu(arshell.gui.menubar.menubar_widget, 
                            arshell.gui.widgets.work);
       antiright_separator(arshell.gui.menubar.edit_widget);
-      antiright_button(arshell.gui.menubar.edit_widget, "Search",
-                      arshell_search_cb, NULL);
-      antiright_button(arshell.gui.menubar.edit_widget, "Replace",
-                      arshell_replace_cb, NULL);
+      antiright_button(arshell.gui.menubar.edit_widget, "Select All",
+                      arshell_select_all, NULL);
+      antiright_button(arshell.gui.menubar.edit_widget, "Search/Replace",
+                      arshell_search_replace_cb, NULL);
+      antiright_button(arshell.gui.menubar.edit_widget, "Find Selected",
+                      arshell_find_selected, NULL);
       antiright_button(arshell.gui.menubar.edit_widget, "Find at Cursor",
                       arshell_find_at_cursor_cb, NULL);
+      antiright_button(arshell.gui.menubar.edit_widget, "Go to Line",
+                      arshell_goto_line_cb, NULL);
+      antiright_button(arshell.gui.menubar.edit_widget, "Lower Selection Case",
+                      arshell_lower_selection_case, NULL);
+      antiright_button(arshell.gui.menubar.edit_widget, "Raise Selection Case",
+                      arshell_upper_selection_case, NULL);
+      antiright_separator(arshell.gui.menubar.view_widget);
+      ARCLARG;
+      toggle_widget=XmCreateToggleButton(arshell.gui.menubar.view_widget, 
+                                        "Show/Hide Toolbar", ARARGS);
+      XtManageChild(toggle_widget);
+      if(XtIsManaged(XtParent(XtParent(arshell.edit.toolbar))))
+       XmToggleButtonSetState(toggle_widget, True, True);
+      XtAddCallback(toggle_widget, XmNvalueChangedCallback, 
+                   arshell_toggle_toolbar_cb, NULL);
+#if XmVERSION > 1 & XmREVISION > 1
+      antiright_separator(arshell.gui.menubar.view_widget);
+      antiright_button(arshell.gui.menubar.view_widget, "Change Font",
+                      arshell_change_font_cb, NULL);
+#endif /* XmVERSION > 1 & XmREVISION > 1  */
       antiright_separator(arshell.gui.menubar.view_widget);
     }
-  arshell_setup_editor_toolbar(0);
+  
 }
Index: antiright/src/arshell/search.c
diff -u antiright/src/arshell/search.c:1.1 antiright/src/arshell/search.c:1.2
--- antiright/src/arshell/search.c:1.1  Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/search.c      Mon Aug 16 17:27:05 2004
@@ -21,6 +21,47 @@
 
 #include "arshell.h"
 
+XmTextPosition
+arshell_end_of_word(XmTextPosition start)
+{
+  char *text=XmTextGetString(arshell.gui.widgets.work);
+  XmTextPosition counter=start;
+  XmTextPosition last=XmTextGetLastPosition(arshell.gui.widgets.work);
+  while((text[counter]!=' ')&(counter<=last))
+    counter++;
+  free(text);
+  if(counter>last)
+    return(start);
+  else
+    return(counter);
+}
+
+void
+arshell_find_selected()
+{
+  char *selection=XmTextGetSelection(arshell.gui.widgets.work);
+  XmTextPosition left;
+  XmTextPosition right;
+  XmTextPosition position=XmTextGetSelectionPosition(arshell.gui.widgets.work,
+                                                    &left, &right);
+  if(selection != NULL)
+    {
+      Boolean found=XmTextFindString(arshell.gui.widgets.work, 
+                                    right, selection, 
+                                    XmTEXT_BACKWARD, &position);
+      if(found)
+         {
+           XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
+           XmTextSetSelection(arshell.gui.widgets.work, position,
+                              arshell_end_of_word(position),
+                              XtLastTimestampProcessed(antiright.display));
+         }
+      else
+       antiright_status("Not Found");
+    }
+  
+      XtFree(selection);
+}
 
 void
 arshell_find_at_cursor_cb()
@@ -50,107 +91,167 @@
   XtFree(buffer);
 }
 
-void 
-arshell_search_ok_cb(Widget widget, 
-                    XtPointer client_data, 
-                    XtPointer call_data)
+void
+arshell_wrap_toggle_cb(Widget widget, XtPointer client_data, XtPointer 
call_data)
 {
-  XmTextPosition position;
-  XmSelectionBoxCallbackStruct *prompt_data;
-  char *search_string;
-  
-  assert(call_data != NULL);
-  
-  prompt_data=call_data;
-
-  XmStringGetLtoR(prompt_data->value,
-                 XmSTRING_DEFAULT_CHARSET,
-                 &search_string);
-
-  assert(search_string != NULL);
-
-  XmTextFindString((Widget)client_data,
-                  XmTextGetInsertionPosition((Widget)client_data),
-                  search_string,
-                  XmTEXT_FORWARD,
-                  &position);
-
-  XmTextSetInsertionPosition((Widget)client_data, 
-                            position);
-
-  XtFree(search_string);
-  widget=NULL;
-  call_data=NULL;
+  arshell.edit.search_options.wrap=
+    XmToggleButtonGetState(arshell.edit.search_options.wrap_toggle);
+  XmToggleButtonSetState(arshell.edit.search_options.preserve_toggle, 
+                        arshell.edit.search_options.wrap, True);
 }
-
-void 
-arshell_search_cb(Widget widget, 
-                 XtPointer client_data, 
-                 XtPointer call_data)
+void
+arshell_preserve_toggle_cb(Widget widget, XtPointer client_data, XtPointer 
call_data)
 {
-  Widget prompt;
-
-  ARCLARG;
-  antiright_set(XmNtitle, (XtArgVal)"Search");
-  
-  prompt=
-    XmCreatePromptDialog(antiright.parent_widget,
-                        "Search",
-                        antiright.arguments,
-                        antiright.arguments_int);
-  XtAddCallback(prompt,
-               XmNokCallback,
-               arshell_search_ok_cb,
-               arshell.gui.widgets.work);
-  XtAddCallback(prompt,
-               XmNhelpCallback,
-               antiright_help_cb,
-               "Enter the text that you want to find in the text field.");
-  XtManageChild(prompt);
-
-  widget=(Widget)NULL;
-  client_data=(XtPointer)NULL;
-  call_data=(XtPointer)NULL;
+  arshell.edit.search_options.preserve=
+    XmToggleButtonGetState(arshell.edit.search_options.preserve_toggle);
+}
+void
+arshell_replace_toggle_cb(Widget widget, XtPointer client_data, XtPointer 
call_data)
+{
+  arshell.edit.search_options.replace=
+    XmToggleButtonGetState(arshell.edit.search_options.replace_toggle);
+  ARBUG;
+  if(arshell.edit.search_options.replace)
+    {
+      ARBUG;
+      ARCLARG;
+      antiright_set(XmNsensitive, True);
+      antiright_set_values(arshell.edit.replace_widget);
+      ARBUG;
+      antiright_set_values(arshell.edit.search_options.replace_label);
+      ARCLARG;
+      ARBUG;
+    }
+  else
+    {
+      ARCLARG;
+      antiright_set(XmNsensitive, False);
+      antiright_set_values(arshell.edit.replace_widget);
+      antiright_set_values(arshell.edit.search_options.replace_label);
+      ARCLARG;
+    }
+}
+void
+arshell_replace_all_toggle_cb(Widget widget, XtPointer client_data, XtPointer 
call_data)
+{
+  arshell.edit.search_options.replace_all=
+    XmToggleButtonGetState(arshell.edit.search_options.replace_all_toggle);
+  XmToggleButtonSetState(arshell.edit.search_options.replace_toggle, 
+                        arshell.edit.search_options.replace_all, True);
+  arshell_replace_toggle_cb(widget, client_data, call_data);
 }
 
 void
-arshell_replace_ok_cb(Widget widget,
-                     XtPointer client_data,
-                     XtPointer call_data)
+arshell_search_replace_ok_cb(Widget widget,
+                            XtPointer client_data,
+                            XtPointer call_data)
 {
   XmTextPosition position;
-  XmTextPosition end_position;
   char *search_string;
-  char *replacement_string;
-
-  client_data=NULL;
-  search_string=XmTextFieldGetString(arshell.edit.find_widget);
-  XmTextFindString(arshell.gui.widgets.work,
-                  XmTextGetInsertionPosition(arshell.gui.widgets.work),
-                  search_string,
-                  XmTEXT_FORWARD,
-                  &position);
-  XtFree(search_string);
-  XmTextFindString(arshell.gui.widgets.work,
-                  position,
-                  " ",
-                  XmTEXT_FORWARD,
-                  &end_position);
-  replacement_string=XmTextFieldGetString(arshell.edit.replace_widget);
-  if(end_position>position)
-    {
-      XmTextReplace(arshell.gui.widgets.work, position, end_position,
-                   replacement_string);
-    }
-  XtFree(replacement_string);
-  XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
-  XtManageChild(widget);
-  call_data=NULL;
-}
-void
-arshell_replace_cb(Widget widget,
-                  XtPointer client_data,
-                  XtPointer call_data)
+  ARBUG;
+  if(arshell.edit.search_options.replace)
+    {
+      XmTextPosition end_position;
+      char *replacement_string;
+      Boolean search_status;
+      ARBUG;
+      search_string=XmTextFieldGetString(arshell.edit.find_widget);
+      ARBUG;
+      XmTextFindString(arshell.gui.widgets.work,
+                      XmTextGetInsertionPosition(arshell.gui.widgets.work),
+                      search_string,
+                      arshell.edit.search_options.direction,
+                      &position);
+      ARBUG;
+      XtFree(search_string);
+      ARBUG;
+      XmTextFindString(arshell.gui.widgets.work,
+                      position,
+                      " ",
+                      XmTEXT_FORWARD,
+                      &end_position);
+      ARBUG;
+      replacement_string=XmTextFieldGetString(arshell.edit.replace_widget);
+      if(end_position>position)
+       {
+         ARBUG;
+         XmTextReplace(arshell.gui.widgets.work, position, end_position,
+                       replacement_string);
+         ARBUG;
+       }
+      else
+       {
+         ARBUG;
+         if(arshell.edit.search_options.wrap && 
!arshell.edit.search_options.wrapped)
+           {
+             ARBUG;
+             arshell.edit.search_options.direction=XmTEXT_BACKWARD;
+             arshell.edit.search_options.wrapped=True;
+             ARBUG;
+           }
+         else
+           {
+             arshell.edit.search_options.preserve=False;
+           }
+         ARBUG;
+       }
+      ARBUG;
+      XtFree(replacement_string);
+      XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
+      if(arshell.edit.search_options.preserve)
+       XtManageChild(widget); 
+      call_data=NULL;
+      ARBUG;
+    }
+  else
+    {
+      XmSelectionBoxCallbackStruct *prompt_data;
+      Boolean result;
+      ARBUG;
+      search_string=XmTextFieldGetString(arshell.edit.find_widget);
+      assert(search_string != NULL);
+      ARBUG;
+      assert(arshell.gui.widgets.work != NULL);
+      
+      result=XmTextFindString(arshell.gui.widgets.work,
+                             
XmTextGetInsertionPosition(arshell.gui.widgets.work),
+                             search_string,
+                             arshell.edit.search_options.direction,
+                             &position);
+      ARBUG;
+      if(result)
+       {
+         ARBUG;
+         XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
+       }
+      else
+       {
+         ARBUG;
+         if(XmToggleButtonGetState(arshell.edit.search_options.wrap_toggle))
+           {
+             ARBUG;
+             arshell.edit.search_options.direction=XmTEXT_BACKWARD;
+             
XmToggleButtonSetState(arshell.edit.search_options.preserve_toggle, 
+                                    True, False);
+             XmToggleButtonSetState(arshell.edit.search_options.wrap_toggle, 
+                                    False, False);
+           }
+         ARBUG;
+       }
+      ARBUG;
+      if(XmToggleButtonGetState(arshell.edit.search_options.preserve_toggle))
+       XtManageChild(widget); 
+      ARBUG;
+      XtFree(search_string);
+      ARBUG;
+    }
+}
+  
+  
+void
+arshell_search_replace_cb(Widget widget,
+                         XtPointer client_data,
+                         XtPointer call_data)
 {
   Widget prompt;
   Widget form;
@@ -162,14 +263,15 @@
                               antiright.arguments,
                               antiright.arguments_int);
   XtManageChild(prompt);
+  arshell.edit.search_options.direction=XmTEXT_FORWARD;
   ARCLARG;
   form=antiright_form(prompt);
   ARCLARG;
-  antiright_form_positions(0, 50, 0, 25);
+  antiright_form_positions(0, 25, 0, 25);
   antiright_set(XmNalignment, XmALIGNMENT_END);
   antiright_label(form, "Find:");
   ARCLARG;
-  antiright_form_positions(0, 50, 25, 100);
+  antiright_form_positions(0, 25, 25, 100);
   arshell.edit.find_widget=XmCreateTextField(form, "find_widget",
                                             antiright.arguments,
                                             antiright.arguments_int);
@@ -177,25 +279,55 @@
                        "Enter the text that is to be found here.");
   XtManageChild(arshell.edit.find_widget);
   ARCLARG;
-  antiright_form_positions(50, 100, 0, 25);
+  antiright_form_positions(25, 50, 0, 25);
   antiright_set(XmNalignment, XmALIGNMENT_END);
-  antiright_label(form, "Replace:");
+  antiright_set(XmNsensitive, False);
+  arshell.edit.search_options.replace_label=antiright_label(form, "Replace:");
   ARCLARG;
-  antiright_form_positions(50, 100, 25, 100);
+  antiright_form_positions(25, 50, 25, 100);
+  antiright_set(XmNsensitive, False);
   arshell.edit.replace_widget=XmCreateTextField(form, "replace_widget",
                                                antiright.arguments,
                                                antiright.arguments_int);
   antiright_set_tooltip(arshell.edit.replace_widget,
                        "Enter the replacement text here.");
   XtManageChild(arshell.edit.replace_widget);
+  ARCLARG;
+  antiright_form_positions(50, 75, 0, 50);
+  arshell.edit.search_options.replace_toggle=
+    XmCreateToggleButton(form, "Replace", ARARGS);
+  XtManageChild(arshell.edit.search_options.replace_toggle);
+  XtAddCallback(arshell.edit.search_options.replace_toggle, 
XmNvalueChangedCallback,
+               arshell_replace_toggle_cb, NULL);
+  ARCLARG;
+  antiright_form_positions(50, 75, 50, 100);
+  arshell.edit.search_options.wrap_toggle=XmCreateToggleButton(form, "Wrap", 
ARARGS);
+  XtManageChild(arshell.edit.search_options.wrap_toggle);
+  XtAddCallback(arshell.edit.search_options.wrap_toggle, 
XmNvalueChangedCallback,
+               arshell_wrap_toggle_cb, NULL);
+  ARCLARG;
+  antiright_form_positions(75, 100, 0, 50);
+  arshell.edit.search_options.replace_all_toggle=
+    XmCreateToggleButton(form, "Replace All", ARARGS);
+  XtManageChild(arshell.edit.search_options.replace_all_toggle);
+  XtAddCallback(arshell.edit.search_options.replace_all_toggle, 
XmNvalueChangedCallback,
+               arshell_replace_all_toggle_cb, NULL);
+  ARCLARG;
+  antiright_form_positions(75, 100, 50, 100);
+  arshell.edit.search_options.preserve_toggle=
+    XmCreateToggleButton(form, "Preserve Dialog", ARARGS);
+  XtManageChild(arshell.edit.search_options.preserve_toggle);
+  XtAddCallback(arshell.edit.search_options.preserve_toggle, 
XmNvalueChangedCallback,
+               arshell_preserve_toggle_cb, NULL);
+
   XtAddCallback(prompt,
                XmNokCallback,
-               arshell_replace_ok_cb,
+               arshell_search_replace_ok_cb,
                NULL);
   XtAddCallback(prompt,
                XmNhelpCallback,
                antiright_help_cb,
-               "Enter_the_text_that_you_want_to_find_and_replace_in_the_"
+               "Enter_the_text_that_you_want_to_find_and/or_replace_in_the_"
                "appropriate_text_field.");
 
   widget=(Widget)NULL;
Index: antiright/src/arshell/search.h
diff -u antiright/src/arshell/search.h:1.1 antiright/src/arshell/search.h:1.2
--- antiright/src/arshell/search.h:1.1  Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/search.h      Mon Aug 16 17:27:05 2004
@@ -23,17 +23,13 @@
 #define ARSHELL_SEARCH_H
 
 void
-arshell_find_at_cursor_cb();
-
-void 
-arshell_search_cb(Widget widget, 
-                 XtPointer client_data, 
-                 XtPointer call_data);
+arshell_find_selected();
 
 void
-arshell_replace_cb(Widget widget,
-                  XtPointer client_data,
-                  XtPointer call_data);
-
+arshell_find_at_cursor_cb();
 
+void
+arshell_search_replace_cb(Widget widget,
+                         XtPointer client_data,
+                         XtPointer call_data);
 #endif /* ARSHELL_SEARCH_H  */
Index: antiright/src/arshell/textedit.c
diff -u antiright/src/arshell/textedit.c:1.10 
antiright/src/arshell/textedit.c:1.11
--- antiright/src/arshell/textedit.c:1.10       Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/textedit.c    Mon Aug 16 17:27:05 2004
@@ -20,7 +20,66 @@
 */
 
 #include "arshell.h"
-#include "../bitmaps/text.xbm"
+#include <ctype.h>
+
+void
+arshell_select_all()
+{
+  XmTextSetSelection(arshell.gui.widgets.work, 0, 
+                    XmTextGetLastPosition(arshell.gui.widgets.work),
+                    XtLastTimestampProcessed(antiright.display));
+}
+
+void
+arshell_selection_case(int (*operation)(int))
+{
+  char *text=XmTextGetString(arshell.gui.widgets.work);
+  XmTextPosition left, right;
+  int counter=0;
+  XmTextGetSelectionPosition(arshell.gui.widgets.work, &left, &right);
+  for(counter=left; counter <= right; counter++)
+    text[counter]=(*operation)(text[counter]);
+  XmTextSetString(arshell.gui.widgets.work, text);
+  XtFree(text);
+}
+void
+arshell_lower_selection_case()
+{
+  arshell_selection_case(&tolower);
+}
+void
+arshell_upper_selection_case()
+{
+  arshell_selection_case(&toupper);
+}
+
+void
+arshell_change_font_cb()
+{
+  char *font_string;
+  XFontStruct *font_struct;
+
+  font_string=antiright_pipe_read("arshell -ADF");
+  if((*font_string)!='\0')
+    {
+      font_struct=XLoadQueryFont(antiright.display, font_string);
+      if(font_struct!=NULL)
+       {
+         XmFontList font_list=XmFontListCreate(font_struct, 
XmSTRING_DEFAULT_CHARSET);
+         ARCLARG;
+         antiright_set(XmNfontList, (XtArgVal)font_list);
+         antiright_set_values(arshell.gui.widgets.work);
+         ARCLARG;
+         XmFontListFree(font_list);
+       }
+      else
+       {
+         antiright_system("arshell -ADm 'The entered font was not found.  ' 
&");
+       }
+    }
+  free(font_string);
+}
+
 /* This is a simple method of printing the current file.  */
 void 
 arshell_print_cb()
@@ -78,10 +137,35 @@
   XtFree(text);
   return(lines);
 }
+void
+arshell_goto_line(unsigned int line)
+{
+  /* Declare a counter for the number of lines counted.  */
+  int line_counter=1;
+  /* Declare a text position counter. */
+  XmTextPosition position=0;
+  char *text=XmTextGetString(arshell.gui.widgets.work);
+  unsigned int text_length=strlen(text);
+  while((position<text_length) & (line_counter<line))
+    {
+      if(text[position]=='\n')
+       line_counter++;
+      position++;
+    }
+  XtFree(text);
+  XmTextSetInsertionPosition(arshell.gui.widgets.work, position);
+}
+void
+arshell_goto_line_cb()
+{
+  char *line_string=antiright_pipe_read("arshell -ADp Line:");
+  arshell_goto_line(atoi(line_string));
+  free(line_string);  
+}
 int
 arshell_current_line()
 {
-  return(arshell_line(XmTextGetInsertionPosition(arshell.gui.widgets.work)));
+  return(arshell_line(XmTextGetInsertionPosition(arshell.gui.widgets.work)+1));
 }
 int
 arshell_text_lines()
@@ -109,23 +193,35 @@
 arshell_set_work_area_arguments()
 {
   ARCLARG;
-  antiright_set(XmNscrollHorizontal, False);
-  antiright_set(XmNscrollVertical, True);
   antiright_set(XmNeditMode, XmMULTI_LINE_EDIT);
-  antiright_set(XmNwordWrap, True);
   antiright_set(XmNcolumns, 80);
   antiright_set(XmNrows, 24);
 }
 void
+arshell_verified_status(XmTextVerifyCallbackStruct *call_pointer)
+{
+  char *status;
+  asprintf(&status, "Lines:%d  Current:%d", 
+          arshell_text_lines(), arshell_line(call_pointer->newInsert));
+  antiright_status(status);
+  free(status);
+}
+void
 arshell_modify_verify_cb(Widget widget, XtPointer client_data, 
                         XtPointer call_data)
 {
-  XmTextVerifyCallbackStruct *call_pointer=call_data;
   client_data=NULL;
   widget=NULL;
-  arshell_status();
+  arshell_verified_status(call_data);
+}
+void
+arshell_motion_verify_cb(Widget widget, XtPointer client_data, 
+                        XtPointer call_data)
+{
+  client_data=NULL;
+  widget=NULL;
+  arshell_verified_status(call_data);
 }
-
 void
 arshell_create_text_work_area()
 {
@@ -138,9 +234,16 @@
   XtAddCallback(arshell.gui.widgets.work, XmNvalueChangedCallback, 
                arshell_value_changed_cb, NULL);
   XtAddCallback(arshell.gui.widgets.work, XmNmodifyVerifyCallback, 
-               arshell_modify_verify_cb, NULL); 
+               arshell_modify_verify_cb, NULL);
+  XtAddCallback(arshell.gui.widgets.work, XmNmotionVerifyCallback,
+               arshell_motion_verify_cb, NULL);
   arshell_setup_work_menubar();
-  antiright_set_icon(text_bits);
+  {
+    char *icon;
+    asprintf(&icon, "%s/handtoface.xpm", ICONDIR);
+    antiright_set_bitmap_from_file(antiright.parent_widget, icon);
+    free(icon);
+  }
 }
 
 void
@@ -173,11 +276,13 @@
 arshell_set_work_area_from_stdin()
 {
   char buffer[BUFSIZ];
-  assert(arshell.gui.widgets.work != NULL);
+  if(arshell.gui.widgets.work==NULL)
+    arshell_create_text_work_area();
   while(fgets(buffer, BUFSIZ, stdin) != NULL)
     XmTextInsert(arshell.gui.widgets.work, 
                 XmTextGetInsertionPosition(arshell.gui.widgets.work), buffer);
-  XmTextSetInsertionPosition(arshell.gui.widgets.work, 0); 
+  XmTextSetInsertionPosition(arshell.gui.widgets.work, 0);
+  arshell_status();
 }
 void
 arshell_create_default_text_entry(Widget widget_row_widget,
Index: antiright/src/arshell/textedit.h
diff -u antiright/src/arshell/textedit.h:1.4 
antiright/src/arshell/textedit.h:1.5
--- antiright/src/arshell/textedit.h:1.4        Fri Aug 13 19:32:51 2004
+++ antiright/src/arshell/textedit.h    Mon Aug 16 17:27:05 2004
@@ -25,6 +25,20 @@
 #define ARSHELL_MAX_STRLEN 255
 #endif /* ARSHELL_MAX_STRLEN  */
 
+//#include "search.h"
+
+struct arshell_search_replace_data_struct
+{
+  Widget replace_toggle;
+  Widget replace_label;
+  Widget wrap_toggle;
+  Widget preserve_toggle;
+  Widget replace_all_toggle;
+  Boolean replace, wrap, preserve, replace_all, wrapped;
+  XmTextDirection direction;
+};
+
+
 struct arshell_edit_struct
 {
   /* This is the filename of the work area file.  */
@@ -40,6 +54,7 @@
   Widget toolbar;
   Boolean open_is_MDI;
   Boolean hungry_delete;
+  struct arshell_search_replace_data_struct search_options;
 };
 
 void
@@ -47,8 +62,7 @@
 void 
 arshell_print_cb();
 void
-arshell_text_return_cb(Widget parent_widget,
-                      XtPointer client_data,
+arshell_text_return_cb(Widget widget, XtPointer client_data, 
                       XtPointer call_data);
 void
 arshell_create_text_work_area();
@@ -70,5 +84,17 @@
 arshell_create_default_text_entry(Widget widget_row_widget,
                                  int* counter_int,
                                  char** argv);
+void
+arshell_goto_line_cb();
+void
+arshell_goto_line(unsigned int line);
+void
+arshell_change_font_cb();
+void
+arshell_lower_selection_case();
+void
+arshell_upper_selection_case();
+void
+arshell_select_all();
 
 #endif /* AR_TEXTEDIT_H */




reply via email to

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