home *** CD-ROM | disk | FTP | other *** search
- From: eddyg@syma.sussex.ac.uk (Edward J. Groenendaal)
- Newsgroups: alt.sources
- Subject: X Desktop Manager(4)
- Message-ID: <4867@syma.sussex.ac.uk>
- Date: 17 Apr 91 20:49:41 GMT
-
- ---- Cut Here and unpack ----
- #!/bin/sh
- # this is part 4 of a multipart archive
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file code/parser.y continued
- #
- CurArch=4
- if test ! -r s2_seq_.tmp
- then echo "Please unpack part 1 first!"
- exit 1; fi
- ( read Scheck
- if test "$Scheck" != $CurArch
- then echo "Please unpack part $Scheck next!"
- exit 1;
- else exit 0; fi
- ) < s2_seq_.tmp || exit 1
- echo "x - Continuing file code/parser.y"
- sed 's/^X//' << 'SHAR_EOF' >> code/parser.y
- X
- X current_selection->list[listindex] =
- X (AppProgram*) XtMalloc (sizeof(AppProgram));
- X }
- X
- X NAME_T ASSIGN_T identifier SEMIC_T {setapp($3, $5);}
- X ICON_T ASSIGN_T identifier SEMIC_T {setapp($8, $10);}
- X PROG_T ASSIGN_T identifier SEMIC_T {setapp($13, $15);}
- X OPTIONS_T ASSIGN_T option SEMIC_T
- X {
- X setapp($18, (String)$20);
- X
- X /* Increment listindex */
- X if (++listindex == currentlistmax) {
- X currentlistmax += APPPINC;
- X current_selection->list =
- X (AppProgram**) XtMalloc (current_selection->list,
- X sizeof(AppProgram*) *
- X currentlistmax);
- X }
- X }
- X
- X C_BRACE_T
- X ;
- Xoption : MSEL_T | OSEL_T | NSEL_T
- X ;
- Xexpression : NAME_T EQUAL_T identifier { new_re($3); }
- X | TYPE_T EQUAL_T type { new_type($3); }
- X ;
- Xidentifier : STRING_T { $$=strip_quotes($1);
- X }
- X ;
- Xtype : DIR_T | READ_T | WRITE_T | EXE_T | FILE_T
- X ;
- Xvar : PATH_T | ICON_T | DEFICON_T
- X ;
- X%%
- X
- Xprivate void init_structs(void)
- X{
- X Cardinal n;
- X
- X prefs = newTypePref();
- X icontable = NULL;
- X varframe = (varStack*) XtMalloc (sizeof(varStack));
- X varframe->defpath = stringtopath("/usr/lib/X11/bitmaps", &n);
- X varframe->dirinpath = n;
- X varframe->current = prefs;
- X varframe->checkpath = False;
- X varframe->iconpref = NULL;
- X varframe->next = NULL;
- X
- X listindex = 0;
- X selectionindex = -1;
- X appselections = (AppSelection**) XtMalloc (sizeof(AppSelection*) * MAXSELS);
- X}
- X
- Xprivate void free_structs(void)
- X{
- X /* Free varstack (Should be only one level left) */
- X XtFree(varframe);
- X
- X selectionindex++;
- X}
- X
- Xpublic typePrefs *newTypePref(void)
- X{
- X typePrefs *tp;
- X
- X tp = (typePrefs*) XtMalloc (sizeof(typePrefs));
- X tp->iconprefs = NULL;
- X tp->dir = NULL;
- X tp->file = NULL;
- X tp->exe = NULL;
- X tp->read = NULL;
- X tp->write = NULL;
- X
- X return(tp);
- X}
- X
- Xprivate void start_block(typePrefs *newpref, iconPrefs *iconpref)
- X{
- X /* Push new stack frame */
- X varStack *newframe;
- X
- X newframe = (varStack*) XtMalloc (sizeof(varStack));
- X newframe->defpath = varframe->defpath;
- X newframe->dirinpath = varframe->dirinpath;
- X newframe->current = newpref;
- X newframe->checkpath = varframe->checkpath;
- X newframe->iconpref = iconpref;
- X newframe->next = varframe;
- X varframe = newframe;
- X}
- X
- Xprivate void end_block(void)
- X{
- X /* If current frame has an empty typePref, free it.
- X * Pop last stack frame.
- X */
- X iconPrefs *tmpIconPref;
- X typePrefs *tmp = varframe->current;
- X varStack *tmpframe = varframe->next;
- X
- X if (tmp->iconprefs == NULL && tmp->dir == NULL &&
- X tmp->file == NULL && tmp->exe == NULL &&
- X tmp->read == NULL && tmp->write == NULL) {
- X XtFree(tmp);
- X tmp = NULL;
- X tmpIconPref = varframe->iconpref;
- X tmpIconPref->extra = NULL;
- X }
- X /* Should free contents first!! TODO */
- X XtFree(varframe);
- X varframe = tmpframe;
- X}
- X
- Xprivate void new_re(String re)
- X{
- X iconPrefs *new, *tmp = varframe->current->iconprefs;
- X
- X new = (iconPrefs*) XtMalloc (sizeof(iconPrefs));
- X new->next = NULL;
- X new->expbuf = (char*) XtMalloc (sizeof(char) * ESIZE);
- X new->extra = (XtPointer) newTypePref();
- X compile(re, new->expbuf, &(new->expbuf[ESIZE]), '\0');
- X new->circf = circf;
- X new->checkpath = varframe->checkpath;
- X new->icon = NULL;
- X varframe->current->iconprefs = inserticonpref(tmp, new);
- X start_block((typePrefs*)new->extra, (iconPrefs*)new);
- X}
- X
- Xprivate void new_type(int n)
- X{
- X /* Allocate a typePref on dir, write etc. if neadbe, otherwise ignore */
- X typePrefs *typeprefs = varframe->current;
- X typePrefs *newpref;
- X
- X switch(n) {
- X case DIR_T:
- X if (typeprefs->dir == NULL)
- X typeprefs->dir = newTypePref();
- X newpref = typeprefs->dir;
- X break;
- X case FILE_T:
- X if (typeprefs->file == NULL)
- X typeprefs->file = newTypePref();
- X newpref = typeprefs->file;
- X break;
- X case EXE_T:
- X if (typeprefs->exe == NULL)
- X typeprefs->exe = newTypePref();
- X newpref = typeprefs->exe;
- X break;
- X case READ_T:
- X if (typeprefs->read == NULL)
- X typeprefs->read = newTypePref();
- X newpref = typeprefs->read;
- X break;
- X case WRITE_T:
- X if (typeprefs->write == NULL)
- X typeprefs->write = newTypePref();
- X newpref = typeprefs->write;
- X break;
- X }
- X start_block(newpref, NULL);
- X}
- X
- Xpublic Cardinal count_chr(String s, char c)
- X{
- X Cardinal count=0;
- X
- X while(*s != '\0') {
- X if (*s == c) count++;
- X s++;
- X }
- X return count;
- X}
- X
- Xprivate String *stringtopath(String s, Cardinal *n)
- X{
- X /* Split a path into directories, put these into a linked list */
- X String *result;
- X String p, tmp;
- X#ifdef DEBUG_YACC
- X String home;
- X#else
- X extern String home;
- X#endif
- X
- X *n = 0;
- X
- X#ifdef DEBUG_YACC
- X if ((home = (String) getenv("HOME")) == NULL) {
- X fprintf(stderr, "can\'t get environment variable HOME\n");
- X home = XtNewString("/");
- X } else
- X home = XtNewString(home);
- X#endif
- X
- X result = (String*) XtMalloc ((count_chr(s, ':')+1) * sizeof(String));
- X s = XtNewString(s);
- X
- X /* extract the directories from path 's' */
- X
- X p = strtok(s, ":");
- X while ( p != NULL) {
- X if (*p == '/')
- X result[(*n)++] = p;
- X else
- X if (*p == '~' && *(p+1) == '/') {
- X tmp = (String) XtMalloc ((strlen(home) + strlen(p)) * sizeof(char));
- X strcpy(tmp, home);
- X strcat(tmp, p+1);
- X result[(*n)++] = tmp;
- X } else
- X fprintf(stderr, "Warning: Directory \'%s\' not fully qualified,"
- X " ignoring.\n", p);
- X p = strtok(NULL, ":");
- X }
- X#ifdef DEBUG_YACC
- X XtFree(home);
- X#endif
- X return(result);
- X}
- X
- Xprivate iconPrefs *inserticonpref(iconPrefs *head, iconPrefs *item)
- X{
- X /* Insert item into list starting with head, insert into the last
- X * position before the default.
- X */
- X
- X iconPrefs *sec = NULL, *tmp = head;
- X
- X if (head == NULL) {
- X /* first element */
- X head=item;
- X head->next=NULL;
- X } else {
- X while (tmp->next != NULL) {
- X sec = tmp;
- X tmp = tmp->next;
- X }
- X if (tmp->expbuf == NULL) {
- X /* Already got a default */
- X if (item->expbuf != NULL) {
- X /* Item is not a new default */
- X item->next = tmp;
- X if (sec != NULL)
- X sec->next = item;
- X else
- X head = item;
- X } else
- X XtFree(item);
- X } else {
- X /* No default */
- X tmp->next = item;
- X item->next = NULL;
- X }
- X }
- X return(head);
- X}
- X
- Xprivate iconPrefs *getlast(iconPrefs *head)
- X{
- X /* return the last non-default iconpref in the frame */
- X iconPrefs *tmp = head;
- X
- X if (tmp != NULL)
- X while (tmp->next != NULL || tmp->next->expbuf == NULL)
- X tmp = tmp->next;
- X
- X return(tmp);
- X}
- X
- Xprivate String strip_quotes(String s)
- X{
- X String new;
- X
- X *(s + (strlen(s)-1)) = '\0';
- X s=s+1;
- X new = XtNewString(s);
- X
- X return(new);
- X}
- X
- Xprivate void set_path(String s)
- X{
- X Cardinal n;
- X
- X varframe->defpath = stringtopath(s, &n);
- X varframe->dirinpath = n;
- X}
- X
- Xprivate void set_icon(String s, Boolean ignore)
- X{
- X /* varframe->iconpref points to the iconpref into which this
- X * icon should be inserted. If it is NULL, then create a new
- X * one at varframe->current->iconprefs.
- X */
- X
- X typePrefs *frame = varframe->current;
- X iconPrefs *iconpref = varframe->iconpref,
- X *head = frame->iconprefs,
- X *new = NULL;
- X
- X if (iconpref == NULL) {
- X new = (iconPrefs*) XtMalloc (sizeof(iconPrefs));
- X new->expbuf = NULL; /* default icon */
- X new->extra = NULL;
- X if (ignore==True) {
- X new->icon = DUMMY;
- X } else {
- X new->icon = lookupicon(s);
- X }
- X new->next = NULL;
- X frame->iconprefs = inserticonpref(head, new);
- X } else
- X if (ignore==True)
- X iconpref->icon = DUMMY;
- X else
- X iconpref->icon = lookupicon(s);
- X
- X}
- X
- Xprivate void set_deficon(String s)
- X{
- X typePrefs *frame = varframe->current;
- X iconPrefs *iconpref, *head = frame->iconprefs;
- X
- X iconpref = (iconPrefs*) XtMalloc (sizeof(iconPrefs));
- X iconpref->expbuf = NULL; /* default icon */
- X iconpref->extra = NULL;
- X iconpref->icon = lookupicon(s);
- X iconpref->next = NULL;
- X frame->iconprefs = inserticonpref(head, iconpref);
- X
- X}
- X
- Xprivate Pixmap lookupicon(String icon)
- X{
- X /* Return the pixmap associated with the name 'icon' if none
- X * found NULL is returned.
- X */
- X typePrefs *frame = varframe->current;
- X String *path = varframe->defpath;
- X Cardinal pathsize = varframe->dirinpath;
- X Cardinal n;
- X iconTree *item;
- X Pixmap pixmap = NULL;
- X String fullname = NULL;
- X String tmp;
- X FILE *result;
- X
- X /* Append 'icon' to each filename in current path, and check to see
- X * whether that file exists.
- X */
- X
- X n = 0;
- X do {
- X tmp = (String) XtMalloc ((strlen(icon) + strlen(path[n]) +1) * sizeof(char));
- X tmp = strcpy(tmp, path[n]);
- X tmp = strcat(tmp, "/");
- X tmp = strcat(tmp, icon);
- X if ((result = fopen(tmp, "r")) != NULL) {
- X fullname = XtNewString(tmp);
- X fclose(result);
- X }
- X XtFree(tmp);
- X } while (++n < pathsize && fullname == NULL);
- X
- X if (fullname == NULL)
- X fprintf(stderr, "Warning: could not find icon %s\n", icon);
- X else {
- X item = (iconTree*) XtMalloc (sizeof(iconTree));
- X item->fullname = fullname;
- X item->icon = NULL;
- X icontable = get_pixmap(item, icontable);
- X pixmap = item->icon;
- X }
- X return(pixmap);
- X}
- X
- X
- Xprivate iconTree *get_pixmap(iconTree *item, iconTree *tree)
- X{
- X /* If the item is found in the tree, then item's contents are filled
- X * with that items, otherwise the Pixmap is created and the item is
- X * inserted into the tree.
- X */
- X
- X int cmp, value;
- X unsigned int width, height;
- X int x_hot, y_hot;
- X
- X if (tree == NULL) {
- X /* At a leaf, insert item */
- X#ifndef DEBUG_YACC
- X value = XReadBitmapFile(XtDisplay(topLevel),
- X RootWindowOfScreen(XtScreen(topLevel)),
- X item->fullname,
- X &width, &height,
- X &item->icon,
- X &x_hot, &y_hot);
- X if (value == BitmapFileInvalid)
- X fprintf(stderr, "Filename \'%s\' contains invalid bitmap data\n",
- X item->fullname);
- X else if (value == BitmapOpenFailed)
- X fprintf(stderr, "Filename \'%s\' could not be opened\n",
- X item->fullname);
- X else if (value == BitmapNoMemory)
- X fprintf(stderr, "Not enough memory to allocate pixmap\n");
- X#else
- X item->icon = (Pixmap) DUMMY;
- X printf("DEBUG: Loaded bitmap for %s\n", item->fullname);
- X#endif
- X item->left = NULL;
- X item->right = NULL;
- X tree = item;
- X } else {
- X if ((cmp = strcmp(tree->fullname, item->fullname)) == 0) {
- X /* Found it !!! */
- X item->icon = tree->icon;
- X } else
- X if (cmp < 0)
- X tree->left = get_pixmap(item, tree->left);
- X else
- X tree->right = get_pixmap(item, tree->right);
- X }
- X return(tree);
- X}
- X
- Xprivate void newselection(String selection)
- X{
- X /* increment selectionindex, put selection string into next
- X * appselection, (if less than MAXSELS)
- X */
- X
- X if (++selectionindex == MAXSELS) {
- X fprintf(stderr, "Application Selection Overflow, only %d selections allowed",
- X MAXSELS);
- X exit(2);
- X }
- X
- X#ifdef DEBUG_YACC
- X printf("DEBUG: New selection %s\n", selection);
- X#endif
- X
- X listindex = 0;
- X current_selection = appselections[selectionindex] =
- X (AppSelection*) XtMalloc (sizeof(AppSelection));
- X current_selection->name = XtNewString(selection);
- X current_selection->number = listindex;
- X current_selection->list = (AppProgram**) XtMalloc (sizeof(AppProgram*) * APPPSIZE);
- X currentlistmax = APPPSIZE;
- X}
- X
- Xprivate void setapp(int type, String argument)
- X{
- X /* Insert program data into current AppProgram, then extend
- X * the AppProgram array.
- X */
- X AppProgram **proglist = current_selection->list;
- X AppProgram *node = proglist[listindex];
- X
- X switch(type) {
- X case NAME_T:
- X node->string = XtNewString(argument);
- X#ifdef DEBUG_YACC
- X printf("String: %s\n", argument);
- X#endif
- X break;
- X case ICON_T:
- X node->icon = lookupicon(argument);
- X break;
- X case PROG_T:
- X node->program = XtNewString(argument);
- X#ifdef DEBUG_YACC
- X printf("Program: %s\n", argument);
- X#endif
- X break;
- X case OPTIONS_T:
- X switch((int)argument) {
- X case MSEL_T:
- X node->options = M_SEL;
- X#ifdef DEBUG_YACC
- X printf("MSEL\n");
- X#endif
- X break;
- X case OSEL_T:
- X node->options = O_SEL;
- X#ifdef DEBUG_YACC
- X printf("OSEL\n");
- X#endif
- X break;
- X case NSEL_T:
- X node->options = N_SEL;
- X#ifdef DEBUG_YACC
- X printf("NSEL\n");
- X#endif
- X break;
- X default:
- X fprintf(stderr, "Programmer Error: Bad argument to setapp.\n");
- X break;
- X }
- X break;
- X default:
- X fprintf(stderr, "Programmer Error: Bad argument to setapp.\n");
- X break;
- X }
- X}
- X
- X#ifdef DEBUG_YACC
- Xmain()
- X{
- X yyparse();
- X return(0);
- X}
- X#endif
- X
- X
- X
- X
- SHAR_EOF
- echo "File code/parser.y is complete"
- chmod 0644 code/parser.y || echo "restore of code/parser.y fails"
- echo "x - extracting code/patchlevel.h (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/patchlevel.h &&
- X#define PATCHLEVEL 0
- SHAR_EOF
- chmod 0644 code/patchlevel.h || echo "restore of code/patchlevel.h fails"
- echo "x - extracting code/quit.c (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/quit.c &&
- X/***********************************************************************************
- X ** File : quit.c **
- X ** Purpose : Initialise and Realise quit dialogs **
- X ** Author : Edward Groenendaal **
- X ** Date : April 1991 **
- X ** Documentation : Xdtm Design Folder **
- X ** Related Files : **
- X ***********************************************************************************/
- X
- X#include "xdtm.h"
- X#include <X11/Shell.h>
- X#include <X11/Xaw/Label.h>
- X#include <X11/Xaw/Command.h>
- X#include "Xedw/XedwForm.h"
- X
- Xextern void realize_dialog(Widget);
- X
- X/* Widgets */
- Xprivate Widget quitpopup; /* For Quit Message */
- Xprivate Widget quitform; /* The form */
- Xprivate Widget quitlabel; /* Label at top of dialog */
- Xprivate Widget quitquit; /* yes button */
- Xprivate Widget quitcancel; /* no button */
- X
- Xpublic void init_quit(Widget top)
- X{
- X extern void quitQueryResult(Widget, Boolean, caddr_t);
- X
- X Arg arglist[5];
- X Cardinal i;
- X
- X private String QuitLabel = "Really quit?";
- X private String QuitButtonLabel = "Quit";
- X private String CancelButtonLabel = "Cancel";
- X
- X quitpopup = XtCreatePopupShell("quitpopup",
- X transientShellWidgetClass,
- X top,
- X NULL, 0);
- X
- X quitform = XtCreateManagedWidget("quitform",
- X xedwFormWidgetClass,
- X quitpopup,
- X NULL, 0);
- X
- X i = 0;
- X XtSetArg(arglist[i], XtNlabel, QuitLabel); i++;
- X XtSetArg(arglist[i], XtNborderWidth, 0); i++;
- X XtSetArg(arglist[i], XtNjustify, XtJustifyCenter); i++;
- X XtSetArg(arglist[i], XtNfullWidth, True); i++;
- X quitlabel = XtCreateManagedWidget("quitlabel",
- X labelWidgetClass,
- X quitform,
- X arglist, i);
- X
- X i = 0;
- X XtSetArg(arglist[i], XtNlabel, CancelButtonLabel); i++;
- X XtSetArg(arglist[i], XtNfromVert, quitlabel); i++;
- X XtSetArg(arglist[i], XtNjustify, XtJustifyCenter); i++;
- X quitcancel = XtCreateManagedWidget("quitcancel",
- X commandWidgetClass,
- X quitform,
- X arglist, i);
- X
- X i = 1;
- X XtSetArg(arglist[i], XtNlabel, QuitButtonLabel); i++;
- X XtSetArg(arglist[i], XtNfromVert, quitlabel); i++;
- X XtSetArg(arglist[i], XtNwidthLinked, quitcancel); i++;
- X XtSetArg(arglist[i], XtNfromHoriz, quitcancel); i++;
- X quitquit = XtCreateManagedWidget("quitquit",
- X commandWidgetClass,
- X quitform,
- X arglist, i);
- X
- X XtAddCallback(quitcancel, XtNcallback, quitQueryResult, False);
- X XtAddCallback(quitquit, XtNcallback, quitQueryResult, True);
- X
- X}
- X
- X
- Xpublic void quit_dialog(void)
- X{
- X realize_dialog(quitpopup);
- X}
- X
- Xpublic void destroy_quit_dialog(void)
- X{
- X XtPopdown(quitpopup);
- X}
- SHAR_EOF
- chmod 0644 code/quit.c || echo "restore of code/quit.c fails"
- echo "x - extracting code/scroll_hack.c (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/scroll_hack.c &&
- X/*****************************************************************************
- X ** File : scroll_hack.c **
- X ** Purpose : Reset the scrollbar in a viewport widget to the top **
- X ** Author : Edward Groenendaal **
- X ** Date : 25th Feb 1990 **
- X ** Documentation : Xdtm Design Folder **
- X ** Related Files : **
- X *****************************************************************************/
- X
- X#include "xdtm.h"
- X#include <X11/IntrinsicP.h>
- X#include <X11/StringDefs.h>
- X#include <X11/Xaw/XawInit.h>
- X#include <X11/Xaw/Viewport.h>
- X#include <X11/Xaw/ViewportP.h>
- X#include <X11/Xaw/Scrollbar.h>
- X#include <X11/Xaw/ScrollbarP.h>
- X
- X
- Xpublic void setscroll(Widget w, float pos)
- X{
- X ViewportWidget vw = (ViewportWidget) w;
- X ScrollbarWidget sw = (ScrollbarWidget) vw->viewport.vert_bar;
- X Arg arglist[1];
- X
- X
- X XtSetArg(arglist[0], XtNtopOfThumb, pos);
- X XtSetValues(sw, arglist, 1);
- X XtCallCallbacks(sw, XtNthumbProc, sw->scrollbar.top);
- X XtCallCallbacks(sw, XtNjumpProc, &sw->scrollbar.top);
- X
- X}
- SHAR_EOF
- chmod 0644 code/scroll_hack.c || echo "restore of code/scroll_hack.c fails"
- echo "x - extracting code/strstr.c (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/strstr.c &&
- X/*****************************************************************************
- X ** File : strstr.c **
- X ** Purpose : Return pointer to first occurence of second string in **
- X ** first string, else NULL **
- X ** Author : Edward Groenendaal **
- X ** Date : 11th April 1991 **
- X ** Documentation : Xdtm Design Folder **
- X ** Related Files : appman.c **
- X *****************************************************************************/
- X
- X#ifdef SYSV
- X
- X#include <stdio.h> /* For NULL */
- X
- Xchar *strstr(char *cs, char *ct)
- X{
- X char *csi, *cti, *result;
- X
- X result = NULL;
- X cti = ct;
- X csi = cs;
- X
- X /* search for first letter, on finding it set result to that point */
- X
- X while (*csi != '\0' && *cti != '\0') {
- X if (result == NULL) {
- X /* searching for start of substring */
- X if (*csi == *cti) {
- X result = csi;
- X cti++;
- X }
- X } else
- X /* trying to match rest */
- X if (*csi == *cti)
- X cti++;
- X else {
- X cti = ct;
- X csi = result;
- X result = NULL;
- X }
- X csi++;
- X }
- X
- X if (*cti == '\0')
- X return(result);
- X else
- X return((char*) NULL);
- X}
- X
- X#endif
- SHAR_EOF
- chmod 0644 code/strstr.c || echo "restore of code/strstr.c fails"
- echo "x - extracting code/xdtm.h (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/xdtm.h &&
- X/*****************************************************************************
- X ** File : xdtm.h **
- X ** Purpose : **
- X ** Author : Edward Groenendaal **
- X ** Date : 18th Feb 1991 **
- X ** Documentation : Xdtm Design Folder **
- X ** Related Files : menus.c **
- X *****************************************************************************/
- X
- X#ifndef _xdtm_h
- X#define _xdtm_h
- X
- X#define RELEASE 1
- X#define SYSTEM_HELP "/usr/lib/X11/xdtm/help"
- X#define SYSTEM_XDTMRC "/usr/lib/X11/xdtm/xdtmrc"
- X#define MAXSELS 10
- X#define MAXARGS 20
- X#define DUMMY ~NULL
- X
- X#include "patchlevel.h"
- X
- X/* UNIX include files */
- X#include <stdio.h>
- X#include <errno.h>
- X#include <string.h>
- X
- X/* Standard X11 include files */
- X#include <X11/Intrinsic.h>
- X#include <X11/StringDefs.h>
- X
- X#define private static
- X#define public /* global */
- X
- Xextern Arg chain_position[];
- Xextern Cardinal chain_size;
- X
- Xtypedef enum {NormalMode, CopyMode, MoveMode} Mode;
- X
- Xtypedef struct {
- X int view_width;
- X int view_height;
- X XFontStruct *view_font;
- X String mode;
- X XFontStruct *dm_font;
- X} AppData, *AppDataPtr;
- X
- X/* Application Resources */
- X
- X#define XtNviewWidth "viewWidth"
- X#define XtNviewHeight "viewHeight"
- X#define XtNviewFont "viewFont"
- X#define XtNmode "mode"
- X#define XtNdmFont "dmFont"
- X
- X#define XtCViewWidth "ViewWidth"
- X#define XtCViewHeight "ViewHeight"
- X#define XtCMode "Mode"
- X
- X#endif /* _xdtm_h */
- SHAR_EOF
- chmod 0644 code/xdtm.h || echo "restore of code/xdtm.h fails"
- echo "x - extracting code/README (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/README &&
- XX Desktop Manager README
- X========================
- X
- XThis is release 1 of the X desktop manager. It was written for my final
- Xyear project, and as usual in such things left to the last minute
- Xwhich explains why there are a couple of areas in which the program
- Xcould have been better, namely support for colour displays, full
- Xhelp facilities.
- X
- XWhat is the X Desktop Manager?
- X------------------------------
- X
- XX Desktop Manager (xdtm) is a graphical shell for UNIX and the X Window
- XSystem. It supports the following features:
- X
- X1) Graphical representation of files and directories as
- X i) icons.
- X ii) filenames.
- X iii) long listing (ls -l style).
- X
- X2) Allow files to be selected by matching a regular expression to their
- X file names.
- X
- X3) Allow a program to be mapped over the selected files.
- X
- X4) Allow the user (via a setup file) to define the icons to be given
- X filenames matching a particular regular expression.
- X
- X5) Allow files or directories to be deleted, moved, and copied to
- X other directories.
- X
- X6) Allow predifined programs to be executed (with optional parameters
- X of the selected files) when it's associated icon is double clicked.
- X
- X7) A comprehensive set of predefined icons.
- X
- X8) Probably loads more things..
- X
- XSee the file help for more details.
- X
- XWhat's it for?
- X--------------
- X
- XXdtm is designed to simplify and thus speed of the process of file management,
- Xtext editing, and program development.
- X
- XFor example.
- X
- XIn the example xdtm setup file (xdtmrc) is my setup which includes the following
- Xaids in the 'programming' selection,
- X
- XMake All - recompile program in current directory (via Makefile)
- XMake Clean
- XMake Tags
- XEmacs - Start the Emacs editor with any selected files as argument.
- X
- XI would click on the file I wish to edit (Or double click if I only wish
- Xto view it) then double click on the Emacs icon, which would start emacs
- Xwith that file preloaded, I could then edit that file, and double click
- Xon Make All to recompile the program, at which point the binary will show
- Xup in the directory, and it may be executed by double clicking on it.
- X
- XThe best way to find out how it works is to play with the program and to
- Xlook at the setup file. I hope to produce proper full documentation in
- Xthe next week, (ending 26th April 1991) if you wish to receive a copy
- Xof this (in Macintosh Word 4 Format only I'm afraid!) email me a message
- Xsome time after that, but before July, 'cos that's when I leave!!
- X
- X(I will probably do a manual page as well)
- X
- XWhat does it work on?
- X---------------------
- X
- XThe program is designed to work on monochrome systems BUT does also work
- Xon colour systems except that the highlighting is slightly buggered.
- X
- XIt uses <regexp.h> for doing regular expression matching, this file
- Xis only included on SYSV machines and hybreds.
- XIt may be possible on a network to use this file copied from a SYSV
- Xmachine but is probably very naughty!
- X
- XIt is written in ANSI C and should be compiled using the Gnu C compiler
- X
- XIt has been tested and works on the following systems:
- X
- XMachine OS Display X Version
- X
- XMacintosh IIcx A/UX 2.01 Monochrome MacX and X11R4
- XSun 3/60 SunOS 4.1.1 Colour X11R4 (highlighting broken)
- XSun 3/50 SunOs 4.1.1 Monochrome X11R4
- XHP9000/370 HP-UX 7.0 Monochrome X11R4
- XHP9000/370 HP-UX 7.0 Colour X11R4 (highlighting broken)
- X
- XIf you manage to get it working on any other system (before July) please
- Xemail me.
- X
- XHow to compile it
- X-----------------
- X
- X1) unshar archives
- X2) cd code
- X3) edit Imakefile and xdtm.h for your site
- X4) xmkmf
- X5) make
- X6) copy 'xdtmrc' to your system xdtm directory
- X7) copy 'help' to your system xdtm directory
- X
- XBugs
- X----
- X
- Xplease mail any bug reports - patches - wishes to me
- Xpreferably BEFORE 26th of April (deadline).
- X
- XEdward Groenendaal.
- X
- XUniversity of Sussex,
- XBrighton,
- XEngland.
- X
- XEmail: eddyg@cogs.sussex.ac.uk
- SHAR_EOF
- chmod 0644 code/README || echo "restore of code/README fails"
- echo "x - extracting code/Imakefile (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/Imakefile &&
- X CC = gcc
- X SRCS = main.c menus.c appman.c dirman.c \
- X fileman.c parse.c info.c \
- X Xedw/XedwList.c Xedw/XedwForm.c lexical.l parser.y \
- X dialogs.c scroll_hack.c strstr.c buttons.c \
- X display.c listoption.c map.c newfile.c \
- X quit.c
- X OBJS = main.o menus.o appman.o dirman.o \
- X fileman.o parse.o parser.o lexical.o \
- X dialogs.o scroll_hack.o strstr.o buttons.o \
- X display.o listoption.o map.o newfile.o \
- X quit.o info.o
- X LDLIBS = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB) -ll -ly
- XEXTRA_LOAD_FLAGS = -LXedw -L/usr/local/X11R4/lib
- X DEFINES = -I/usr/local/lib/gcc-include
- X CFLAGS = StandardDefines -I/usr/local/X11R4/include -I/usr/local/lib/gcc-include
- X YFLAGS = -d
- X
- X#define PassCDebugFlags 'CFLAGS=$(CFLAGS)'
- X
- XAllTarget(xdtm)
- X
- XNormalProgramTarget(lexical, lexical.c,,-ll,-DDEBUG_LEX $(CFLAGS))
- X
- XNormalProgramTarget(parser, lexical.c parser.c,,-ll -ly,-DDEBUG_YACC $(CFLAGS))
- X
- XNormalProgramTarget(xdtm, $(OBJS), Xedw, -lXedw,)
- X
- XNamedMakeSubdirs(Xedw, Xedw)
- X
- XDependTarget()
- X
- Xetags:
- X etags -t *.h $(SRCS)
- X
- Xclean::
- X $(RM) lexical.c parser.c parser.h
- X @(cd Xedw; echo "Making clean in ./Xedw"; \
- X $(MAKE) clean;)
- X
- Xparser.h parser.c: parser.y
- X $(YACC) $(YFLAGS) parser.y
- X $(MV) y.tab.c parser.c
- X $(MV) y.tab.h parser.h
- X
- Xlexical.o: parser.h
- X
- SHAR_EOF
- chmod 0644 code/Imakefile || echo "restore of code/Imakefile fails"
- echo "x - extracting code/Makefile (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/Makefile &&
- X# Makefile generated by imake - do not edit!
- X# $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
- X#
- X# The cpp used on this machine replaces all newlines and multiple tabs and
- X# spaces in a macro expansion with a single space. Imake tries to compensate
- X# for this, but is not always successful.
- X#
- X
- X###########################################################################
- X# Makefile generated from "Imake.tmpl" and <Imakefile>
- X# $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
- X#
- X# Platform-specific parameters may be set in the appropriate .cf
- X# configuration files. Site-wide parameters may be set in the file
- X# site.def. Full rebuilds are recommended if any parameters are changed.
- X#
- X# If your C preprocessor doesn't define any unique symbols, you'll need
- X# to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
- X# "make Makefile", "make Makefiles", or "make World").
- X#
- X# If you absolutely can't get imake to work, you'll need to set the
- X# variables at the top of each Makefile as well as the dependencies at the
- X# bottom (makedepend will do this automatically).
- X#
- X
- X###########################################################################
- X# platform-specific configuration parameters - edit sun.cf to change
- X
- X# platform: $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
- X# operating system: SunOS 4.1
- X
- X###########################################################################
- X# site-specific configuration parameters - edit site.def to change
- X
- X# site: $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
- X
- X SHELL = /bin/sh
- X
- X TOP = .
- X CURRENT_DIR = .
- X
- X AR = ar cq
- X BOOTSTRAPCFLAGS =
- X CC = cc
- X
- X COMPRESS = compress
- X CPP = /lib/cpp $(STD_CPP_DEFINES)
- X PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
- X INSTALL = install
- X LD = ld
- X LINT = lint
- X LINTLIBFLAG = -C
- X LINTOPTS = -axz
- X LN = ln -s
- X MAKE = make
- X MV = mv
- X CP = cp
- X RANLIB = ranlib
- X RANLIBINSTFLAGS =
- X RM = rm -f
- X STD_INCLUDES =
- X STD_CPP_DEFINES =
- X STD_DEFINES =
- X EXTRA_LOAD_FLAGS =
- X EXTRA_LIBRARIES =
- X TAGS = ctags
- X
- X SHAREDCODEDEF = -DSHAREDCODE
- X SHLIBDEF = -DSUNSHLIB
- X
- X PROTO_DEFINES =
- X
- X INSTPGMFLAGS =
- X
- X INSTBINFLAGS = -m 0755
- X INSTUIDFLAGS = -m 4755
- X INSTLIBFLAGS = -m 0664
- X INSTINCFLAGS = -m 0444
- X INSTMANFLAGS = -m 0444
- X INSTDATFLAGS = -m 0444
- X INSTKMEMFLAGS = -m 4755
- X
- X DESTDIR = /usr/local/X11R4
- X
- X TOP_INCLUDES = -I$(INCROOT)
- X
- X CDEBUGFLAGS = -O
- X CCOPTIONS = -fswitch
- X COMPATFLAGS =
- X
- X ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
- X ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
- X CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
- X LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
- X LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
- X LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
- X LDCOMBINEFLAGS = -X -r
- X
- X MACROFILE = sun.cf
- X RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
- X
- X IMAKE_DEFINES =
- X
- X IRULESRC = $(CONFIGDIR)
- X IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
- X
- X ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
- X $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
- X $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
- X
- X###########################################################################
- X# X Window System Build Parameters
- X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
- X
- X###########################################################################
- X# X Window System make variables; this need to be coordinated with rules
- X# $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
- X
- X PATHSEP = /
- X USRLIBDIR = $(DESTDIR)/lib
- X BINDIR = $(DESTDIR)/bin/X11
- X INCROOT = $(DESTDIR)/include
- X BUILDINCROOT = $(TOP)
- X BUILDINCDIR = $(BUILDINCROOT)/X11
- X BUILDINCTOP = ..
- X INCDIR = $(INCROOT)/X11
- X ADMDIR = $(DESTDIR)/adm
- X LIBDIR = $(USRLIBDIR)/X11
- X CONFIGDIR = $(LIBDIR)/config
- X LINTLIBDIR = $(USRLIBDIR)/lint
- X
- X FONTDIR = $(LIBDIR)/fonts
- X XINITDIR = $(LIBDIR)/xinit
- X XDMDIR = $(LIBDIR)/xdm
- X AWMDIR = $(LIBDIR)/awm
- X TWMDIR = $(LIBDIR)/twm
- X GWMDIR = $(LIBDIR)/gwm
- X MANPATH = $(DESTDIR)/man
- X MANSOURCEPATH = $(MANPATH)/man
- X MANDIR = $(MANSOURCEPATH)1
- X LIBMANDIR = $(MANSOURCEPATH)3
- X XAPPLOADDIR = $(LIBDIR)/app-defaults
- X
- X SOXLIBREV = 4.2
- X SOXTREV = 4.0
- X SOXAWREV = 4.0
- X SOOLDXREV = 4.0
- X SOXMUREV = 4.0
- X SOXEXTREV = 4.0
- X
- X FONTCFLAGS = -t
- X
- X INSTAPPFLAGS = $(INSTDATFLAGS)
- X
- X IMAKE = imake
- X DEPEND = makedepend
- X RGB = rgb
- X FONTC = bdftosnf
- X MKFONTDIR = mkfontdir
- X MKDIRHIER = /bin/sh $(BINDIR)/mkdirhier.sh
- X
- X CONFIGSRC = $(TOP)/config
- X CLIENTSRC = $(TOP)/clients
- X DEMOSRC = $(TOP)/demos
- X LIBSRC = $(TOP)/lib
- X FONTSRC = $(TOP)/fonts
- X INCLUDESRC = $(TOP)/X11
- X SERVERSRC = $(TOP)/server
- X UTILSRC = $(TOP)/util
- X SCRIPTSRC = $(UTILSRC)/scripts
- X EXAMPLESRC = $(TOP)/examples
- X CONTRIBSRC = $(TOP)/../contrib
- X DOCSRC = $(TOP)/doc
- X RGBSRC = $(TOP)/rgb
- X DEPENDSRC = $(UTILSRC)/makedepend
- X IMAKESRC = $(CONFIGSRC)
- X XAUTHSRC = $(LIBSRC)/Xau
- X XLIBSRC = $(LIBSRC)/X
- X XMUSRC = $(LIBSRC)/Xmu
- X TOOLKITSRC = $(LIBSRC)/Xt
- X AWIDGETSRC = $(LIBSRC)/Xaw
- X OLDXLIBSRC = $(LIBSRC)/oldX
- X XDMCPLIBSRC = $(LIBSRC)/Xdmcp
- X BDFTOSNFSRC = $(FONTSRC)/bdftosnf
- X MKFONTDIRSRC = $(FONTSRC)/mkfontdir
- X EXTENSIONSRC = $(TOP)/extensions
- X
- X DEPEXTENSIONLIB = $(USRLIBDIR)/libXext.a
- X EXTENSIONLIB = -lXext
- X
- X DEPXLIB = $(DEPEXTENSIONLIB)
- X XLIB = $(EXTENSIONLIB) -lX11
- X
- X DEPXAUTHLIB = $(USRLIBDIR)/libXau.a
- X XAUTHLIB = -lXau
- X
- X DEPXMULIB =
- X XMULIB = -lXmu
- X
- X DEPOLDXLIB =
- X OLDXLIB = -loldX
- X
- X DEPXTOOLLIB =
- X XTOOLLIB = -lXt
- X
- X DEPXAWLIB =
- X XAWLIB = -lXaw
- X
- X LINTEXTENSIONLIB = $(USRLIBDIR)/llib-lXext.ln
- X LINTXLIB = $(USRLIBDIR)/llib-lX11.ln
- X LINTXMU = $(USRLIBDIR)/llib-lXmu.ln
- X LINTXTOOL = $(USRLIBDIR)/llib-lXt.ln
- X LINTXAW = $(USRLIBDIR)/llib-lXaw.ln
- X
- X XWLIBSRC = $(CONTRIBSRC)/toolkits/Xw
- X DEPXWLIB = $(USRLIBDIR)/libXw.a
- X XWLIB = -lXw
- X
- X DEPLIBS = $(DEPXAWLIB) $(DEPXMULIB) $(DEPXTOOLLIB) $(DEPXLIB)
- X
- X DEPLIBS1 = $(DEPLIBS)
- X DEPLIBS2 = $(DEPLIBS)
- X DEPLIBS3 = $(DEPLIBS)
- X
- X###########################################################################
- X# Imake rules for building libraries, programs, scripts, and data files
- X# rules: $XConsortium: Imake.rules,v 1.67 89/12/18 17:14:15 jim Exp $
- X
- X###########################################################################
- X# start of Imakefile
- X
- X CC = gcc
- X SRCS = main.c menus.c appman.c dirman.c \
- X fileman.c parse.c info.c \
- X Xedw/XedwList.c Xedw/XedwForm.c lexical.l parser.y \
- X dialogs.c scroll_hack.c strstr.c buttons.c \
- X display.c listoption.c map.c newfile.c \
- X quit.c
- X OBJS = main.o menus.o appman.o dirman.o \
- X fileman.o parse.o parser.o lexical.o \
- X dialogs.o scroll_hack.o strstr.o buttons.o \
- X display.o listoption.o map.o newfile.o \
- X quit.o info.o
- X LDLIBS = $(XAWLIB) $(XMULIB) $(XTOOLLIB) $(XLIB) -ll -ly
- XEXTRA_LOAD_FLAGS = -LXedw -L/usr/local/X11R4/lib
- X DEFINES = -I/usr/local/lib/gcc-include
- X CFLAGS = -g -I/usr/local/X11R4/include -I/usr/local/lib/gcc-include
- X YFLAGS = -d
- X
- Xall:: xdtm
- X
- Xlexical: lexical.c
- X $(RM) $@
- X $(CC) -o $@ lexical.c $(LDOPTIONS) -ll $(LDLIBS) -DDEBUG_LEX $(CFLAGS) $(EXTRA_LOAD_FLAGS)
- X
- Xclean::
- X $(RM) lexical
- X
- Xparser: lexical.c parser.c
- X $(RM) $@
- X $(CC) -o $@ lexical.c parser.c $(LDOPTIONS) -ll -ly $(LDLIBS) -DDEBUG_YACC $(CFLAGS) $(EXTRA_LOAD_FLAGS)
- X
- Xclean::
- X $(RM) parser
- X
- Xxdtm: $(OBJS) Xedw
- X $(RM) $@
- X $(CC) -o $@ $(OBJS) $(LDOPTIONS) -lXedw $(LDLIBS) $(EXTRA_LOAD_FLAGS)
- X
- Xclean::
- X $(RM) xdtm
- X
- XXedw::
- X @case '${MFLAGS}' in *[ik]*) set +e;; esac; \
- X for i in Xedw ;\
- X do \
- X (cd $$i ; echo "making" Xedw "in $(CURRENT_DIR)/$$i..."; \
- X $(MAKE) $(MFLAGS) 'CFLAGS=$(CFLAGS)' all); \
- X done
- X
- Xdepend::
- X $(DEPEND) -s "# DO NOT DELETE" -- $(ALLDEFINES) -- $(SRCS)
- X
- Xetags:
- X etags -t *.h $(SRCS)
- X
- Xclean::
- X $(RM) lexical.c parser.c parser.h
- X @(cd Xedw; echo "Making clean in ./Xedw"; \
- X $(MAKE) clean;)
- X
- Xparser.h parser.c: parser.y
- X $(YACC) $(YFLAGS) parser.y
- X $(MV) y.tab.c parser.c
- X $(MV) y.tab.h parser.h
- X
- Xlexical.o: parser.h
- X
- X###########################################################################
- X# common rules for all Makefiles - do not edit
- X
- Xemptyrule::
- X
- Xclean::
- X $(RM_CMD) \#*
- X
- XMakefile::
- X -@if [ -f Makefile ]; then \
- X echo " $(RM) Makefile.bak; $(MV) Makefile Makefile.bak"; \
- X $(RM) Makefile.bak; $(MV) Makefile Makefile.bak; \
- X else exit 0; fi
- X $(IMAKE_CMD) -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR)
- X
- Xtags::
- X $(TAGS) -w *.[ch]
- X $(TAGS) -xw *.[ch] > TAGS
- X
- X###########################################################################
- X# empty rules for directories that do not have SUBDIRS - do not edit
- X
- Xinstall::
- X @echo "install in $(CURRENT_DIR) done"
- X
- Xinstall.man::
- X @echo "install.man in $(CURRENT_DIR) done"
- X
- XMakefiles::
- X
- Xincludes::
- X
- X###########################################################################
- X# dependencies generated by makedepend
- X
- SHAR_EOF
- chmod 0644 code/Makefile || echo "restore of code/Makefile fails"
- echo "x - extracting code/help (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/help &&
- XThis is the X Desktop Manager Help file.
- X
- X<None as yet, email eddyg@cogs.sussex.ac.uk for the finished version
- X of this file after the 26th April 1991>
- X
- SHAR_EOF
- chmod 0644 code/help || echo "restore of code/help fails"
- echo "x - extracting code/Xdtm (Text)"
- sed 's/^X//' << 'SHAR_EOF' > code/Xdtm &&
- X! menus
- X*font: helvB14
- X*pathManager*cursor: left_ptr
- X*menuBar*cursor: left_ptr
- X*buttonForm*cursor: left_ptr
- X*listoptionsettings.font: courB12
- XXdtm.mode: icons
- XXdtm.viewHeight: 30
- SHAR_EOF
- chmod 0644 code/Xdtm || echo "restore of code/Xdtm fails"
- echo "x - extracting icons/eddy/ccode.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/ccode.icon &&
- X#define ccode_width 32
- X#define ccode_height 32
- Xstatic char ccode_bits[] = {
- X 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00, 0x10, 0xe0, 0x41, 0x01,
- X 0x10, 0xf8, 0x43, 0x02, 0x10, 0x3c, 0x47, 0x04, 0x10, 0x1c, 0xc6, 0x0f,
- X 0x10, 0x1e, 0x00, 0x08, 0x10, 0x0e, 0x00, 0x08, 0x10, 0x0e, 0x00, 0x08,
- X 0x10, 0x0e, 0x00, 0x08, 0x10, 0x0e, 0x00, 0x08, 0x10, 0x1e, 0x00, 0x08,
- X 0x10, 0x1c, 0x06, 0x08, 0x10, 0x3c, 0x07, 0x08, 0x10, 0xf8, 0x03, 0x08,
- X 0xd0, 0xe0, 0x01, 0x08, 0x10, 0x00, 0x00, 0x08, 0x90, 0x05, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x90, 0xdf, 0x0a, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0xb7, 0x03, 0x08, 0x10, 0x00, 0x00, 0x08, 0x90, 0xbd, 0xb7, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x6c, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x90, 0xdd, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0xd0, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
- SHAR_EOF
- chmod 0644 icons/eddy/ccode.icon || echo "restore of icons/eddy/ccode.icon fails"
- echo "x - extracting icons/eddy/core.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/core.icon &&
- X#define core_width 32
- X#define core_height 32
- Xstatic char core_bits[] = {
- X 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00, 0x10, 0x00, 0x40, 0x01,
- X 0x10, 0x00, 0x40, 0x02, 0x10, 0x10, 0x40, 0x04, 0x10, 0x30, 0xc2, 0x0f,
- X 0x10, 0x50, 0x03, 0x08, 0x10, 0xb7, 0x02, 0x08, 0x10, 0x9a, 0x02, 0x08,
- X 0x10, 0x44, 0x7a, 0x08, 0x10, 0x68, 0x46, 0x08, 0x10, 0x50, 0x21, 0x08,
- X 0x10, 0x08, 0x16, 0x08, 0x10, 0xb4, 0x09, 0x08, 0x10, 0x2c, 0x04, 0x08,
- X 0x10, 0x90, 0x08, 0x08, 0x10, 0x50, 0x09, 0x08, 0x10, 0x28, 0x16, 0x08,
- X 0x10, 0x18, 0x38, 0x08, 0x10, 0x08, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x53, 0x5d, 0x09,
- X 0x90, 0x54, 0x49, 0x09, 0x10, 0x71, 0x49, 0x09, 0x10, 0x52, 0x49, 0x09,
- X 0x90, 0x54, 0x09, 0x08, 0x10, 0x53, 0x49, 0x09, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
- SHAR_EOF
- chmod 0644 icons/eddy/core.icon || echo "restore of icons/eddy/core.icon fails"
- echo "x - extracting icons/eddy/dotdot.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/dotdot.icon &&
- X#define dotdot_width 32
- X#define dotdot_height 32
- Xstatic char dotdot_bits[] = {
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x02, 0x08,
- X 0xfe, 0xff, 0xff, 0x7f, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0x02, 0x80, 0x00, 0x40, 0x02, 0xc0, 0x01, 0x40, 0x02, 0xe0, 0x03, 0x40,
- X 0x02, 0xf0, 0x07, 0x40, 0x02, 0xf8, 0x0f, 0x40, 0x02, 0xfc, 0x1f, 0x40,
- X 0x02, 0xc0, 0x01, 0x40, 0x02, 0xc0, 0x01, 0x40, 0x02, 0xc0, 0x01, 0x40,
- X 0x02, 0xc0, 0x01, 0x40, 0x02, 0xc0, 0x01, 0x40, 0x02, 0xc0, 0x01, 0x40,
- X 0x02, 0xc0, 0x01, 0x40, 0x02, 0xc0, 0x01, 0x40, 0x02, 0xc0, 0x01, 0x40,
- X 0x02, 0xc0, 0x01, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00};
- SHAR_EOF
- chmod 0644 icons/eddy/dotdot.icon || echo "restore of icons/eddy/dotdot.icon fails"
- echo "x - extracting icons/eddy/elisp.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/elisp.icon &&
- X#define elisp_width 32
- X#define elisp_height 32
- Xstatic char elisp_bits[] = {
- X 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00, 0x50, 0x64, 0x46, 0x01,
- X 0x50, 0x94, 0x4a, 0x02, 0x50, 0x24, 0x4a, 0x04, 0x50, 0x44, 0xc6, 0x0f,
- X 0x50, 0x94, 0x02, 0x08, 0xd0, 0x65, 0x02, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xd0, 0x17, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0xd0, 0x0f, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0xbb, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0xb6, 0x01, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x37, 0x03, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0xde, 0x02, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0xdc, 0x04, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0xef, 0x06, 0x08, 0x10, 0x00, 0x00, 0x08, 0x90, 0x07, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xd0, 0x7b, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
- SHAR_EOF
- chmod 0644 icons/eddy/elisp.icon || echo "restore of icons/eddy/elisp.icon fails"
- echo "x - extracting icons/eddy/elispc.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/elispc.icon &&
- X#define elisp_width 32
- X#define elisp_height 32
- Xstatic char elisp_bits[] = {
- X 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00, 0x50, 0x64, 0x46, 0x01,
- X 0x50, 0x94, 0x4a, 0x02, 0x50, 0x24, 0x4a, 0x04, 0x50, 0x44, 0xc6, 0x0f,
- X 0x50, 0x94, 0x02, 0x08, 0xd0, 0x65, 0x02, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xd0, 0x17, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0xd0, 0x0f, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0xbb, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0xb6, 0x01, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x37, 0x03, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0xde, 0x02, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0xdc, 0x04, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0xef, 0x06, 0x08, 0x10, 0x00, 0x00, 0x08, 0x90, 0x07, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xd0, 0x7b, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
- SHAR_EOF
- chmod 0644 icons/eddy/elispc.icon || echo "restore of icons/eddy/elispc.icon fails"
- echo "x - extracting icons/eddy/file.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/file.icon &&
- X#define file_width 32
- X#define file_height 32
- Xstatic char file_bits[] = {
- X 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00, 0x10, 0x00, 0x40, 0x01,
- X 0x10, 0x00, 0x40, 0x02, 0x10, 0x00, 0x40, 0x04, 0x10, 0x00, 0xc0, 0x0f,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
- SHAR_EOF
- chmod 0644 icons/eddy/file.icon || echo "restore of icons/eddy/file.icon fails"
- echo "x - extracting icons/eddy/folder.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/folder.icon &&
- X#define folder_width 32
- X#define folder_height 32
- Xstatic char folder_bits[] = {
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- X 0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0x04, 0x04, 0x00, 0x00, 0x02, 0x08,
- X 0xfe, 0xff, 0xff, 0x7f, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40,
- X 0xfe, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00};
- SHAR_EOF
- chmod 0644 icons/eddy/folder.icon || echo "restore of icons/eddy/folder.icon fails"
- echo "x - extracting icons/eddy/hcode.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/hcode.icon &&
- X#define hcode_width 32
- X#define hcode_height 32
- Xstatic char hcode_bits[] = {
- X 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00, 0x10, 0x0f, 0x40, 0x01,
- X 0x10, 0x0e, 0x40, 0x02, 0x10, 0x0e, 0x40, 0x04, 0x10, 0x0e, 0xc0, 0x0f,
- X 0x10, 0xee, 0x01, 0x08, 0x10, 0xfe, 0x07, 0x08, 0x10, 0x1e, 0x07, 0x08,
- X 0x10, 0x0e, 0x0e, 0x08, 0x10, 0x0e, 0x0e, 0x08, 0x10, 0x0e, 0x0e, 0x08,
- X 0x10, 0x0e, 0x0e, 0x08, 0x10, 0x0e, 0x0e, 0x08, 0x10, 0x1f, 0x1f, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0xd0, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x90, 0xdf, 0x0a, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0xb7, 0x03, 0x08, 0x10, 0x00, 0x00, 0x08, 0x90, 0xbd, 0xb7, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x6c, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x90, 0xdd, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0xd0, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
- SHAR_EOF
- chmod 0644 icons/eddy/hcode.icon || echo "restore of icons/eddy/hcode.icon fails"
- echo "x - extracting icons/eddy/icon.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/icon.icon &&
- X#define icon_width 32
- X#define icon_height 32
- Xstatic char icon_bits[] = {
- X 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00, 0x10, 0x00, 0x40, 0x01,
- X 0x10, 0x00, 0x40, 0x02, 0x10, 0x00, 0x40, 0x04, 0x10, 0x00, 0xc0, 0x0f,
- X 0x10, 0xfe, 0x0f, 0x08, 0x10, 0x02, 0x18, 0x08, 0x10, 0xc2, 0x29, 0x08,
- X 0x10, 0x82, 0x78, 0x08, 0x10, 0x82, 0x40, 0x08, 0x10, 0xc2, 0x41, 0x08,
- X 0x10, 0x02, 0x40, 0x08, 0x10, 0xc2, 0x41, 0x08, 0x10, 0x42, 0x40, 0x08,
- X 0x10, 0x42, 0x40, 0x08, 0x10, 0xc2, 0x41, 0x08, 0x10, 0x02, 0x40, 0x08,
- X 0x10, 0xc2, 0x41, 0x08, 0x10, 0x42, 0x41, 0x08, 0x10, 0x42, 0x41, 0x08,
- X 0x10, 0xc2, 0x41, 0x08, 0x10, 0x02, 0x40, 0x08, 0x10, 0x42, 0x41, 0x08,
- X 0x10, 0xc2, 0x41, 0x08, 0x10, 0xc2, 0x41, 0x08, 0x10, 0x42, 0x41, 0x08,
- X 0x10, 0x02, 0x40, 0x08, 0x10, 0xfe, 0x7f, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
- SHAR_EOF
- chmod 0644 icons/eddy/icon.icon || echo "restore of icons/eddy/icon.icon fails"
- echo "x - extracting icons/eddy/lcode.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/lcode.icon &&
- X#define lcode_width 32
- X#define lcode_height 32
- Xstatic char lcode_bits[] = {
- X 0xf0, 0xff, 0x7f, 0x00, 0x10, 0x00, 0xc0, 0x00, 0x10, 0xf0, 0x40, 0x01,
- X 0x10, 0xe0, 0x40, 0x02, 0x10, 0xe0, 0x40, 0x04, 0x10, 0xe0, 0xc0, 0x0f,
- X 0x10, 0xe0, 0x00, 0x08, 0x10, 0xe0, 0x00, 0x08, 0x10, 0xe0, 0x00, 0x08,
- X 0x10, 0xe0, 0x00, 0x08, 0x10, 0xe0, 0x00, 0x08, 0x10, 0xe0, 0x00, 0x08,
- X 0x10, 0xe0, 0x00, 0x08, 0x10, 0xe0, 0x00, 0x08, 0x10, 0xf0, 0x01, 0x08,
- X 0xd0, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0x90, 0x05, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x90, 0xdf, 0x0a, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x10, 0xb7, 0x03, 0x08, 0x10, 0x00, 0x00, 0x08, 0x90, 0xbd, 0xb7, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0x10, 0x6c, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08,
- X 0x90, 0xdd, 0x00, 0x08, 0x10, 0x00, 0x00, 0x08, 0xd0, 0x00, 0x00, 0x08,
- X 0x10, 0x00, 0x00, 0x08, 0xf0, 0xff, 0xff, 0x0f};
- SHAR_EOF
- chmod 0644 icons/eddy/lcode.icon || echo "restore of icons/eddy/lcode.icon fails"
- echo "x - extracting icons/eddy/lib.icon (Text)"
- sed 's/^X//' << 'SHAR_EOF' > icons/eddy/lib.icon &&
- X#define lib_width 32
- X#define lib_height 32
- Xstatic char lib_bits[] = {
- X 0xfe, 0xff, 0xff, 0x7f, 0x02, 0x00, 0x00, 0x40, 0x22, 0xb3, 0xaa, 0x46,
- X 0x52, 0x95, 0xab, 0x46, 0x72, 0x93, 0xaa, 0x42, 0x52, 0xb5, 0x4a, 0x46,
- X 0x02, 0x00, 0x00, 0x40, 0xf2, 0x7d, 0xdf, 0x47, 0x12, 0x45, 0x51, 0x44,
- X 0x12, 0x45, 0x51, 0x44, 0x12, 0x45, 0x51, 0x44, 0x12, 0x45, 0x51, 0x44,
- X 0x12, 0x45, 0x51, 0x44, 0xf2, 0x7d, 0xdf, 0x47, 0x02, 0x00, 0x00, 0x40,
- X 0xf2, 0x7d, 0xdf, 0x47, 0x12, 0x45, 0x51, 0x44, 0x12, 0x45, 0x51, 0x44,
- X 0x12, 0x45, 0x51, 0x44, 0x12, 0x45, 0x51, 0x44, 0x12, 0x45, 0x51, 0x44,
- X 0xf2, 0x7d, 0xdf, 0x47, 0x02, 0x00, 0x00, 0x40, 0xf2, 0x7d, 0xdf, 0x47,
- SHAR_EOF
- echo "End of part 4"
- echo "File icons/eddy/lib.icon is continued in part 5"
- echo "5" > s2_seq_.tmp
- exit 0
-