[comp.sources.amiga] v89i192: xoper - examine & control your kernel, Part03/03

root%swap@Sun.COM (Operator) (10/28/89)

Submitted-by: g35@dhdurz1@bitnet (Werner Guenther)
Posting-number: Volume 89, Issue 192
Archive-name: kernel/xoper20.3

# This is a shell archive.
# Remove anything above and including the cut line.
# Then run the rest of the file through 'sh'.
# Unpacked files will be owned by you and have default permissions.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar: SHell ARchive
# Run the following text through 'sh' to create:
#	xoper.a3
#	Xoper.startup
#	Xoper.doc
# This is archive 3 of a 3-part kit.
# This archive created: Fri Oct 27 23:48:53 1989
echo "extracting xoper.a3"
sed 's/^X//' << \SHAR_EOF > xoper.a3
Xcaptask     dc.l    0
Xsnoopport   dc.l    0
Xtasksnum    dc.l    0
Xblanks	    dc.l    0
Xhidestart   dc.l    0
Xdispnum     dc.l    0
Xiocount     dc.l    0
Xdummyinput  dc.l    0
Xrastport    dc.l    0
Xoutchain    dc.l    0
Xfirstline   dc.l    0
Xoldfirstline dc.l   0
Xnumlines    dc.l    0
Xoldnumlines dc.l    0
Xgothline    dc.l    0
Xlastprinted dc.l    0
Xoldlastprinted dc.l 0
Xoldpageend  dc.l    0
Xmaxlines    dc.l    500
Xrealstack   dc.l    0
X
X
Xwnnormflgs  dc.l    $646
X	    dc.l    $1104f
X
Xwnscrflags  dc.l    $600
X	    dc.l    $31948
X
Xhistory     dc.l    *+4
X	    dc.l    0
X	    dc.l    history
Xcurhist     dc.l    0
X
X
Xsecs	    dc.l    0
Xmics	    dc.l    0
Xtime10	    dc.l    0
X
Xtattr	    dc.l    fontname
X	    dc.w    8
X	    dc.w    0
X
Xstplist     dc.l    lh_tail
Xlh_tail     dc.l    0
X	    dc.l    stplist
X	    dc.b    1
X	    dc.b    0
X
XInInterrupt dc.l    0		;ln_Succ
X	    dc.l    0		;ln_Pred
X	    dc.b    2		;ln_Type
X	    dc.b    60		;ln_Pri
X	    dc.l    xopsleep	;ln_Name
X	    dc.l    0		;is_Data
X	    dc.l    Keyhandler	;is_Code()
X
XIOCounter   dc.l    0		;ln_Succ
X	    dc.l    0		;ln_Pred
X	    dc.b    2		;ln_Type
X	    dc.b    -1		;ln_Pri
X	    dc.l    IOcntname	;ln_Name
X	    dc.l    0		;is_Data
X	    dc.l    countio	;is_Code()
X
Xnewwindow   dc.w    0,0
X	    dc.w    500,100
X	    dc.b    0,1
Xnwflgs	    dc.l    $646
X	    dc.l    $1104f
Xwn_firstgad dc.l    0
X	    dc.l    0
X	    dc.l    windowname
Xnwscreen    dc.l    0
X	    dc.l    0
X	    dc.w    110,50
X	    dc.w    808,-1
Xnwtype	    dc.w    1
X
Xnewscreen   dc.w    0,0
Xnssize	    dc.w    0,0
X	    dc.w    1
X	    dc.b    0
X	    dc.b    1
Xnsviewmode  dc.w    0
X	    dc.w    $1f
X	    dc.l    0
X	    dc.l    windowname
X	    dc.l    0,0
X
Xexcpterror  dc.l    0
Xexcpttask   dc.l    0
Xexcptaddr   dc.l    0
Xexcptpc     dc.l    0
X
Xwindow_l    dc.w    0
Xwindow_t    dc.w    0
Xwindow_w    dc.w    550
Xwindow_h    dc.w    200
X
Xcolms	    dc.w    0
Xtimersig    dc.w    0
Xintuisig    dc.w    0
Xibufferlen  dc.w    0
Xcposy	    dc.w    0
Xcurpos	    dc.w    0
Xbottomin    dc.w    1
Xipos	    dc.w    0
Xhnum	    dc.w    0
Xminnumchars dc.w    2
Xmaxhlines   dc.w    10
Xqualifier   dc.w    0
Xrows	    dc.w    0
Xmaxllength  dc.w    0
Xloffset     dc.w    0
Xrepeat	    dc.w    0
Xrepeatlen   dc.w    0
Xedline	    dc.w    999
Xcmdptr	    dc.w    0
Xgetanswer   dc.w    0
Xcurrenty    dc.w    0
X
Xbinarea     dc.b    '          ',0
X	    EVEN
Xminus	    dc.b    '  '
Xdecimal     dc.b    '    ',0
Xentries     dc.b    0
Xtimeout     dc.b    5
Xprocnum     dc.b    0
Xtimerstate  dc.b    0
Xrunning     dc.b    0
Xnewpri	    dc.b    0
Xtasktyp     dc.b    0
Xbackground  dc.b    0
Xbool	    dc.b    0
Xprinted     dc.b    0
Xcbreak	    dc.b    0
Xusageflag   dc.b    0
Xmnflag	    dc.b    1
Xtports	    dc.b    1
Xheadon	    dc.b    1
Xhideon	    dc.b    1
Xsorton	    dc.b    1
Xwanttraps   dc.b    0
Xaddlines    dc.b    0
Xeof	    dc.b    0
Xfromfile    dc.b    0
Xiconifyon   dc.b    1
Xgotguru     dc.b    0
Xownscreen   dc.b    0
Xinsmode     dc.b    0
Xparams	    dc.b    'tfdlrempisc'
Xparmnum     equ     *-params
X	    dc.b    0
Xt2header    dc.b    '   ID     STATE   SIGALLOC SIGWAIT  SIGRECVD    PC    TASKNAME',0
Xtheader     dc.b    '   ID     TYPE      STATE    PRI  CPUSE NUM TASKNAME',0
Xlheader     dc.b    '  NODE   CNT VER REV  FLAGS    ',0
Xlibnam	    dc.b    'LIBRARY NAME',0
Xdevnam	    dc.b    'DEVICE NAME',0
Xresnam	    dc.b    'RESOURCE NAME',0
Xmheader     dc.b    ' LOWER   UPPER      FREE ATTR  PRI HUNK NAME',0
Xcr	    dc.b    10,0
Xiheader     dc.b    '  NODE     DATA     CODE    PRI T S   TYPE     INTERRUPT NAME',0
Xinheader    dc.b    '  NODE     DATA     CODE    PRI NAME',0
Xrheader     dc.b    '  ADDR    PRI  FLAGS     VER   TYPE    RESIDENT NAME',0
Xpheader     dc.b    '  NODE   PORTNAME        FLAGS SIGBT NUM SIGTASK',0
Xhunkheader  dc.b    ' NUM  BCPL    DATA     LENGTH',0
Xddheader    dc.b    'DEVICE    HDS SECTORS  TRACKS BUFFERS STATE    HANDLER',0
Xcdheader    dc.b    'PROCESSNAME    CURRENT DIRECTORY',0
Xofheader    dc.b    '  LOCK   ACCESS  SIZE   PATH/FILENAME',0
Xscrheader   dc.b    'NUM   ADDR   TITLE',0
Xfohead	    dc.b    '  NODE   CNT  Y   X  TYPE  LO  HI NAME',0
Xkickhead    dc.b    'START    END      LENGTH',0
Xsnoophead   dc.b    'ACTION REQUIREMENTS        LENGTH   FROM    TO       CALLER',0
Xstackhead   dc.b    'SPLower     SIZE    USED TASKNAME',0
Xclicomhead  dc.b    '   ID    STATE    TYPE  MODE NUM PROCESSNAME      COMMAND',0
Xtiohead     dc.b    'IORQUEST  UNIT   SECS  REQUESTING TASK',0
Xdchead	    dc.b    '  NODE     DATA     CODE   UNIT TASK',0
Xalhead	    dc.b    'ALIAS NAME        COMMAND',0
Xtdd	    dc.b    'trackdisk.device',0
Xtddrives    dc.b    'DF : ',0
Xtimerunits  dc.b    'MicroHz ',0
X	    dc.b    'VBlank  ',0
Xaccess	    dc.b    ' Read  ',0
X	    dc.b    ' Write ',0
Xromfnt	    dc.b    'Rom  ',0
Xdiskfnt     dc.b    'Disk ',0
Xwbname	    dc.b    'Workbench',0
Xstatus	    dc.b    'Added    ',0
X	    dc.b    'Running  ',0
X	    dc.b    'Ready    ',0
X	    dc.b    'Waiting  ',0
X	    dc.b    'Exeption ',0
X	    dc.b    'Removed  ',0
X	    dc.b    'Frozen   ',0
X	    dc.b    'Frozen   ',0
Xtype	    dc.b    'Unknown   ',0
Xtasktype    dc.b    'Task      ',0
X	    dc.b    'Interrupt ',0
X	    dc.b    'Device    ',0
X	    dc.b    'Msgport   ',0
X	    dc.b    'Message   ',0
X	    dc.b    'Freemsg   ',0
X	    dc.b    'Replymsg  ',0
X	    dc.b    'Resource  ',0
X	    dc.b    'Library   ',0
X	    dc.b    'Memory    ',0
Xsoftinttype dc.b    'Softint   ',0
X	    dc.b    'Font      ',0
Xproctype    dc.b    'Process   ',0
X	    dc.b    'Semaphore ',0
Xmp_flags    dc.b    'Signal  ',0
X	    dc.b    'Softint ',0
X	    dc.b    'Ignore  ',0
Xwindowname  dc.b    'Xoper V2.0  ) 1989 Werner G',$fc,'nther',0
Xnewname     dc.b    'Xoper',0
Xmemportname dc.b    'MemSnoop',0
Xxopcon	    dc.b    'XopPackets',0
Xxopsleep    dc.b    'Xop-A-A-x',0
XIOcntname   dc.b    'Xop-I/O-counter',0
X
Xcmdnum	    set      0
Xcommds	    ADDCMD  'time'
X	    ADDCMD  'taskpri'
X	    ADDCMD  'info'
X	    ADDCMD  'pri'
X	    ADDCMD  'flush'
X	    ADDCMD  'freeze'
X	    ADDCMD  'warm'
X	    ADDCMD  'signal'
X	    ADDCMD  'break'
X	    ADDCMD  'alert'
X	    ADDCMD  'lastalert'
X	    ADDCMD  'hold'
X	    ADDCMD  'exit'
X	    ADDCMD  'clear'
X	    ADDCMD  'cancel'
X	    ADDCMD  'taskports'
X	    ADDCMD  'hunks'
X	    ADDCMD  'devices'
X	    ADDCMD  'openlib'
X	    ADDCMD  'closelib'
X	    ADDCMD  'currentdir'
X	    ADDCMD  'cd'
X	    ADDCMD  'mypri'
X	    ADDCMD  'files'
X	    ADDCMD  'locks'
X	    ADDCMD  'unlock'
X	    ADDCMD  'screens'
X	    ADDCMD  'windows'
X	    ADDCMD  'closescreen'
X	    ADDCMD  'closewindow'
X	    ADDCMD  'fonts'
X	    ADDCMD  'windowfonts'
X	    ADDCMD  'lockdrive'
X	    ADDCMD  'freedrive'
X	    ADDCMD  'capture'
X	    ADDCMD  'clrcold'
X	    ADDCMD  'clrcool'
X	    ADDCMD  'clrwarm'
X	    ADDCMD  'snoop'
X	    ADDCMD  'usage'
X	    ADDCMD  'inputhandler'
X	    ADDCMD  'header'
X	    ADDCMD  'sort'
X	    ADDCMD  'hide'
X	    ADDCMD  'hidden'
X	    ADDCMD  'window'
X	    ADDCMD  'kill'
X	    ADDCMD  'iconifyoff'
X	    ADDCMD  'historylines'
X	    ADDCMD  'minimumchars'
X	    ADDCMD  'showhistory'
X	    ADDCMD  'repeat'
X	    ADDCMD  'remresident'
X	    ADDCMD  'saveoutput'
X	    ADDCMD  'killhistory'
X	    ADDCMD  'backdropicon'
X	    ADDCMD  'setfont'
X	    ADDCMD  'trapguru'
X	    ADDCMD  'outputlines'
X	    ADDCMD  'usescreen'
X	    ADDCMD  'usewindow'
X	    ADDCMD  'timerio'
X	    ADDCMD  'diskchange'
X	    ADDCMD  'alias'
X	    ADDCMD  'remnode'
Xhexarea     dc.b    '         ',0
Xhextab	    dc.b    '0123456789abcdef'
Xinfoh2	    dc.b    'Dispat/Sec:',0
Xinfoh1	    dc.b    'CPU:',0
Xinfoh3	    dc.b    'CPU activity: ',0
Xinfoh6	    dc.b    'Total:',0
Xinfoh4	    dc.b    '% ',0
Xinfoh7	    dc.b    'I/O Ints/Sec: ',0
Xcpu0	    dc.b    '68000',0
Xcpu1	    dc.b    '68010',0
Xcpu2	    dc.b    '68020',0
Xcpu3	    dc.b    '/68881',0
Xdevload     dc.b    'loaded   ',0
Xdevnload    dc.b    'unloaded ',0
Xinten	    dc.b    'E ',0
Xintdis	    dc.b    'D ',0
Xintserv     dc.b    'S ',0
Xinthand     dc.b    'H ',0
Xnotfile     dc.b    '--- ------- ------- ------- ',0
Xlongnix     dc.b    '-----'
Xnix	    dc.b    '--- ',0
Xnoinfo	    dc.b    'No Info on'
Xoneblank    dc.b    ' ',0
Xequal	    dc.b    '=  ',0
Xnamerr	    dc.b    'Unable to find ',0
Xfonterr     dc.b    "Can't open ",0
Xadrerr	    dc.b    'Address Error!',0
Xaliaserr    dc.b    'Single character alias names using "',0
Xaliaserr2   dc.b    '"',10,'are not allowed.',0
Xopenerr     dc.b    'Could not open file ',0
Xnoderr	    dc.b    "Can't find this Node. Continue anyway ? (Y/N)",0
Xlisterr     dc.b    'Unable to find ListHeader. Sort aborted.',0
Xwiwerr	    dc.b    'Script file only',0
Xgurutxt     dc.b    'Guru Meditation #',0
Xclrtxt	    dc.b    'Memory Hunks cleared.',0
Xcanerr0     dc.b    'Process is not a CLI-task',10
X	    dc.b    'Has it been started from Workbench ? (Y/N)',10,0
Xcanerr1     dc.b    'Process was created by CreateProc()',10
X	    dc.b    'Shall I UnLoad() ? (Y/N)',10,0
Xunloaderr   dc.b    "Arrrgh.. can't find segments, aborting",0
Xnoprocs     dc.b    'Not a Process.',0
Xnotload     dc.b    'No program loaded.',0
Xcliprocs    dc.b    'Cli-Process',0
Xprocloaded  dc.b    'Loaded as a command: ',0
Xsegloaded   dc.b    'Created by CreateProc()',0
Xcoldtxt     dc.b    'Cold Capture: ',0
Xcooltxt     dc.b    'Cool Capture: ',0
Xwarmtxt     dc.b    'Warm Capture: ',0
Xkicktxt     dc.b    'KickMem     : ',0
Xunset	    dc.b    'unset',0
Xintnames    dc.b    'Serial Out ',0
X	    dc.b    'Disk Block ',0
X	    dc.b    'SoftInt    ',0
X	    dc.b    'Ports      ',0
X	    dc.b    'Coper      ',0
X	    dc.b    'Vert.Blank ',0
X	    dc.b    'Blitter    ',0
X	    dc.b    'Audio Ch.0 ',0
X	    dc.b    'Audio Ch.1 ',0
X	    dc.b    'Audio Ch.2 ',0
X	    dc.b    'Audio Ch.3 ',0
X	    dc.b    'Serial In  ',0
X	    dc.b    'Disk Sync  ',0
X	    dc.b    'External   ',0
X	    dc.b    'SoftInt    ',0
X	    dc.b    'NMI        ',0
Xinttyp	    dc.b    0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1
Xfontname    dc.b    'topaz.font',0
Xdevicenam   dc.b    'input.device',0
Xtimernam    dc.b    'timer.device',0
Xmemlarg     dc.b    'LARGEST ',0
Xmemclr	    dc.b    'CLEAR ',0
Xmemfast     dc.b    'FAST ',0
Xmemchip     dc.b    'CHIP ',0
Xmempubl     dc.b    'PUBLIC ',0
Xfailed	    dc.b    'Failed !',0
Xallok	    dc.b    'ALLOC: ',0
Xfree	    dc.b    'FREE: ',0
Xbackg	    dc.b    'Bckg ',0
Xforeg	    dc.b    'Frgr ',0
Xscript	    dc.b    'Batch ',0
Xinteract    dc.b    'Intct ',0
Xstartupname dc.b    'S:Xoper.Startup',0
Xnameerr     dc.b    'Name or address is missing.',10
Xsynerr	    dc.b    'Syntax Error, type "?" for help',10,0
Xwberr	    dc.b    "Can't examine Workbench locks",0
Xdnotf	    dc.b    'Directory not found',0
Xnotdir	    dc.b    'Not a directory',0
Xnomount     dc.b    ' not mounted.',0
Xdishelp     dc.b    10,'Names are case sensitive and followed by a ":"',0
Xunlerr	    dc.b    'Lock not found',0
Xunl1	    dc.b    'Lock is on ',0
Xunltxt	    dc.b    'Old lock was: ',0
Xunltxt2     dc.b    'Unlock ? (Y/N)',10,0
Xscnofound   dc.b    'Screen not found.',0
Xwinnofound  dc.b    'Window not found.',0
Xstperr	    dc.b    'Task must be "READY" or "WAITING"',10,0
Xwaerr	    dc.b    'Task must be "FROZEN"',10,0
Xwhatsthis   dc.b    '???.?',0
Xtoomuch     dc.b    '??? ',0
Xtimenotset  dc.b    'Refresh disabled.',0
Xwhattime    dc.b    'Refresh time in secs:',0
Xstoped	    dc.b    '<Break>',0
Xonscr	    dc.b    'On Screen: ',0
Xwhatnow     dc.b    'Kill, ignore (K/I)?',0
Xnoguru	    dc.b    'None found.',0
Xsoftfail    dc.b    'Software failure!',10,'Task: ',0
Xaddrserr    dc.b    'Bad alligned address was: ',0
Xprocount    dc.b    'PC: ',0
Xdiskfont    dc.b    'diskfont.library',0
Xusetxt	    dc.b    'USAGE: Xoper [T] [F] [L] [D] [R] [E] [M] [P] [I] [S] [C]',10
X	    dc.b    'OR     Xoper -b',10
X	    dc.b    'DISPLAY:',10
X	    dc.b    '[T]asks    [F]=taskflags [L]ibraries [D]evices    [R]esources',10
X	    dc.b    'r[E]sident [M]emory      [P]orts     [I]nterrupts [S]tack',10
X	    dc.b    '[C]litasks [Q]uit',10,10
X	    dc.b    'OTHER SYSTEM LISTS:',10
X	    dc.b    'Windows    Screens      Fonts       WindowFonts  CurrentDir',10
X	    dc.b    'Files      Locks        Devices     InputHandler Capture',10
X	    dc.b    'TimerIO    DiskChange',10,10
X	    dc.b    'COMMANDS:',10
X	    dc.b    'Time         <secs>',10
X	    dc.b    'Taskpri      <priority>  [processnum] <taskname>',10
X	    dc.b    'Mypri        <priority>',10
X	    dc.b    'Signal       <mask(hex)> [processnum] <taskname>',10
X	    dc.b    'Break        [processnum] <taskname>',10
X	    dc.b    'Freeze|Warm  [processnum] <taskname>',10
X	    dc.b    'Kill         [processnum] <taskname>',10
X	    dc.b    'Snoop        [processnum] <taskname>',10
X	    dc.b    'Hide         <taskname>',10
X	    dc.b    'Pri          <priority> <nodename>',10
X	    dc.b    'Info         <name>',10
X	    dc.b    'RemResident  <resident module name>',10
X	    dc.b    'Clear        <longword(hex)>',10
X	    dc.b    'Hunks        [processnum] <procname>',10
X	    dc.b    'CD           <directory> [processnum] <procname>',10
X	    dc.b    'UnLock       <lock>',10
X	    dc.b    'OpenLib    | Closelib <libraryname>',10
X	    dc.b    'CloseWindow| Closescreen <title>',10
X	    dc.b    'SetFont      [size] <fontname> <windowtitle>',10
X	    dc.b    'LockDrive  | Freedrive   <drivename:>',10
X	    dc.b    'Window       <leftedge topedge width height> (scriptfile only) ',10
X	    dc.b    'OutputLines  <maximum # of lines>',10
X	    dc.b    'HistoryLines <maximum # of lines>',10
X	    dc.b    'MinimumChars <minimum # of characters>',10
X	    dc.b    'SaveOutput   <filename>',10
X	    dc.b    'Repeat       <Command line>',10
X	    dc.b    'Alias        [<aliasname> <commandname>]',10,10
X	    dc.b    'COMMADS WITHOUT PARAMETERS:',10
X	    dc.b    'Flush      LastAlert    ClrCool     ClrCold      ClrWarm',10
X	    dc.b    'TrapGuru',10,10
X	    dc.b    'OPTIONS:',10
X	    dc.b    'Sort       TaskPorts    Hidden      Usage        Header',10
X	    dc.b    'IconifyOff BackDropIcon ShowHistory KillHistory  UseScreen',10
X	    dc.b    'UseWindow',10
X	    dc.b    'Hold       Exit'
Xnull	    dc.b    0
X
X    IFD DEBUG
Xdosname     dc.b    'dos.library',0
Xintuiname   dc.b    'intuition.library',0
Xgfxname     dc.b    'graphics.library',0
Xconname     dc.b    'console.device',0
X	    EVEN
X    ENDC
X
X	    BSS     blabla
Xbuffer	    ds.b    2200
Xout	    ds.b    100
Xdummy	    ds.b    80
Xin	    ds.b    80
Xcputime     ds.b    1000
Xievent	    ds.b    32
Xoutevent    ds.b    20
Xinputbuffer ds.b    88
Xrepeatbuffer ds.b   81
X
Xmypacket    BSS     standardpacket
X
XLN_SUCC     ds.l    1
XLN_PRED     ds.l    1
XLN_TYPE     ds.b    1
XLN_PRI	    ds.b    1
XLN_NAME     ds.l    1
XMP_FLAGS    ds.b    1
XMP_SIGBIT   ds.b    1
XMP_SIGTASK  ds.l    1
XMN_SIZE     ds.w    1
XLH_HEAD     ds.l    1
XLH_TAIL     ds.l    1
XLH_TAILPRED ds.l    1
XLH_TYPE     ds.b    1
XLH_pad	    ds.b    1
Xdp_Link     ds.l    1
Xdp_Port     ds.l    1
Xdp_Type     ds.l    1
Xdp_Res1     ds.l    1
Xdp_Res2     ds.l    1
Xdp_Arg1     ds.l    1
Xdp_Arg2     ds.l    1
Xdp_Arg3     ds.l    1
Xdp_Arg4     ds.l    1
Xdp_Arg5     ds.l    1
Xdp_Arg6     ds.l    1
Xdp_Arg7     ds.l    1
X
Xtimerio     ds.b    40
X
X	    CODE ICONIFY,CHIP
X
Xiconify     lea     icnwindow,a0
X	    CALL    OpenWindow,intuibase
X	    move.l  d0,iconwindow
X
Xwaitforcall move.l  iconwindow,a0
X	    move.l  $56(a0),a0              ;wn->UserPort
X
X	    moveq   #0,d1
X	    move.b  15(a0),d1               ;UserPort->SigBit
X	    bset    d1,d0
X	    move.l  d0,d6
X	    or.l    mysignal,d0
X	    or.l    trapsignal,d0
X	    CALL    Wait,_SysBase
X	    and.l   d0,d6
X	    bne.s   fromwindow
X	    move.l  mysignal,d1
X	    and.l   d0,d1
X	    bne.s   icondone
X	    and.l   trapsignal,d0
X	    beq.s   waitforcall
X	    move.b  #1,gotguru
X	    bra.s   icondone
X
Xfromwindow  move.l  iconwindow,a0
X	    move.l  $56(a0),a0              ;wn->UserPort
X	    CALL    GetMsg,_SysBase
X	    tst.l   d0
X	    beq.s   waitforcall
X	    move.l  d0,a1
X	    CALL    ReplyMsg,_SysBase
X
X	    lea     nsecs(PC),a0
X	    lea     nmics(PC),a1
X	    CALL    CurrentTime,intuibase
X	    movem.l osecs,d0-d3
X	    CALL    DoubleClick,intuibase
X	    tst.l   d0
X	    bne.s   icondone
X	    move.l  nsecs(PC),osecs
X	    move.l  nmics(PC),omics
X	    bra     waitforcall
X
Xicondone    move.l  iconwindow,a0
X	    move.l  4(a0),icnwindow         ;LeftEdge+TopEdge
X	    CALL    CloseWindow,intuibase
X	    rts
X
Xosecs	    dc.l    0
Xomics	    dc.l    0
Xnsecs	    dc.l    0
Xnmics	    dc.l    0
X
Xiconwindow  dc.l    0
Xicnwindow   dc.w    40,170,72,28
X	    dc.b    0,1
X	    dc.l    $20,$800
X	    dc.l    gadget,0,0,0,0
X	    dc.w    72,28,72,28
X	    dc.w    1
X
Xgadget	    dc.l    0
X	    dc.w    0,0,72,28,4,2,$20
X	    dc.l    image
X	    dc.l    0,0,0,0
X	    dc.w    0
X	    dc.l    0
X
Ximage	    dc.w    0,0,72,28,2
X	    dc.l    imagedata
X	    dc.b    3,0
X	    dc.l    0
X
Ximagedata   dc.w    $000F,$FFFF,$FFFF,$FFF8,$0000,$001F,$FFFF,$FFFF
X	    dc.w    $FFFC,$0000,$001F,$0000,$0000,$007C,$0000,$001F
X	    dc.w    $7FFF,$FFFF,$FF7C,$0000,$001F,$4A46,$0244,$557C
X	    dc.w    $0000,$001F,$5108,$D411,$817C,$0000,$001F,$7FFF
X	    dc.w    $FFFF,$FF7C,$0000,$001F,$0000,$0000,$007C,$0000
X	    dc.w    $001F,$30C0,$0000,$007C,$0000,$001F,$1980,$0000
X	    dc.w    $007C,$0000,$001F,$0F0F,$1F0F,$1F7C,$0000,$001F
X	    dc.w    $0619,$9999,$997C,$0000,$001F,$0F19,$999F,$987C
X	    dc.w    $0000,$001F,$1999,$9F18,$187C,$0000,$001F,$30CF
X	    dc.w    $180F,$187C,$0000,$001F,$0000,$1800,$007C,$0000
X	    dc.w    $001F,$0000,$0000,$007C,$0000,$001F,$FFFF,$FFFF
X	    dc.w    $FFFC,$0000,$000F,$FFFF,$FFFF,$FF18,$0000,$0000
X	    dc.w    $0000,$0000,$0000,$0000,$3FFF,$FFFF,$FFFF,$FFFF
X	    dc.w    $FC00,$FDFF,$FFFF,$FFFF,$FFFF,$FF00,$EBFF,$FFFF
X	    dc.w    $FFFF,$FFFF,$FF00,$F7FF,$FFFF,$FFFF,$F800,$0700
X	    dc.w    $FFFF,$FFFF,$FFFF,$FFFF,$FF00,$FFFF,$FFFF,$FFFF
X	    dc.w    $FFFF,$FF00,$FFFF,$FFFF,$FFFF,$FFFF,$FF00,$3FFF
X	    dc.w    $FFFF,$FFFF,$FFFF,$FC00,$0000,$0000,$0000,$0000
X	    dc.w    $0000,$0000,$0000,$0000,$0000,$0000,$0000,$FFFF
X	    dc.w    $FFFF,$FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000
X	    dc.w    $0000,$FFFF,$FFFF,$FF80,$0000,$0000,$FFFF,$FFFF
X	    dc.w    $FF80,$0000,$0000,$FFFF,$FFFF,$FF80,$0000,$0000
X	    dc.w    $FFFF,$FFFF,$FF80,$0000,$0000,$8000,$0000,$0080
X	    dc.w    $0000,$0000,$8000,$0000,$0080,$0000,$0000,$8000
X	    dc.w    $0000,$0080,$0000,$0000,$8000,$0000,$0080,$0000
X	    dc.w    $0000,$8000,$0000,$0080,$0000,$0000,$8000,$0000
X	    dc.w    $0080,$0000,$0000,$8000,$0000,$0080,$0000,$0000
X	    dc.w    $8000,$0000,$0080,$0000,$0000,$FFFF,$FFFF,$FF80
X	    dc.w    $0000,$0000,$0000,$0000,$00E0,$0000,$0000,$0000
X	    dc.w    $0000,$00E0,$0000,$0000,$1FFF,$FFFF,$F800,$0000
X	    dc.w    $0000,$0080,$0040,$0000,$0000,$0200,$0080,$0040
X	    dc.w    $0000,$0000,$1400,$0080,$0040,$003F,$0000,$0800
X	    dc.w    $0080,$0040,$07FF,$F800,$0000,$0080,$0040,$003F
X	    dc.w    $0000,$0000,$0080,$0040,$0000,$3800,$FFFF,$FFFF
X	    dc.w    $FFFF,$FFFF,$FE00,$0000,$0080,$0040,$0000,$0000
X
Xiconifgad   dc.l    0
X	    dc.w    -83,0
X	    dc.w    31,10
X	    dc.w    $14
X	    dc.w    $41
X	    dc.w    1
X	    dc.l    iconifimg
X	    dc.l    0
X	    dc.l    0
X	    dc.l    0
X	    dc.l    0
X	    dc.w    0
X	    dc.l    0
X
Xiconifimg   dc.w    0,0
X	    dc.w    31,10
X	    dc.w    2
X	    dc.l    iconifdata
X	    dc.b    $0003,$0000
X	    dc.l    0
X
Xiconifdata  dc.w    $7FFF,$FFFC,$601F,$FFFC,$6000,$000C,$607F,$FFCC
X	    dc.w    $6060,$00CC,$6067,$FCCC,$7E60,$00CC,$7E7F,$FFCC
X	    dc.w    $7E00,$000C,$7FFF,$FFFC,$0000,$0000,$1FE0,$0000
X	    dc.w    $1FFF,$FFF0,$1F80,$0030,$1F9F,$FF30,$1F98,$0330
X	    dc.w    $019F,$FF30,$0180,$0030,$01FF,$FFF0,$0000,$0000
X
X
X	    END
X
SHAR_EOF
echo "extracting Xoper.startup"
sed 's/^X//' << \SHAR_EOF > Xoper.startup
X;eine dumme Xoper Demo
Xtime 2
Xusescreen
Xt l f d m e p i s c ?
Xalias ih inputhandler
Xalias dc diskchange
Xalias tio timerio
X
X
SHAR_EOF
echo "extracting Xoper.doc"
sed 's/^X//' << \SHAR_EOF > Xoper.doc
X				 Xoper V2.0
X
X		    Copyright (c) Werner Gunther 1989
X
XXoper is a freeware program to display and to control system activity.
XPermition is granted to freely distribute this program.
X
X--------------------------------------------------------------------------
XChanges in V1.2:
XNew commands: Snoop, Capture, ClrCool, ClrWarm, ClrCold.
XAdded	    : CPU usage by task.
X
XCancel command has been rewritten, some minor bugs removed.
X---------------------------------------------------------------------------
XChanges in V1.3:
XNew commands: [S]=Stack usage, Sort, Hide, Hidden, Header, Window,
X	      InputHandler.
XAdded	    : Support of startup-scripts, I/O Interrupts/second, 'Kill' an
X	      alias for 'Cancel'.
XSome BIG bugs have been removed: The port-display used to GURU if more than
X32 Ports did exist. The Cli Xoper has been started did act like having a
Xpriority of 128. Unlock didn't unlock sometimes, the interrupt/priority
Xfield did contain rubbish, Currentdir didn't examine all Processes.
XThere were some more, minor bugs, all (hopefully) removed.
X---------------------------------------------------------------------------
XChanges in V1.3b:
XNew commands: [C] information on CLI-Tasks.
XAdded	    : 'Time 0' stops any update, System-Requesters are now handeled
X	      correctly (affects 'Kill' and 'Closewindow').
X---------------------------------------------------------------------------
XChanges in V2.0:
XThe 'user interface' (what user interface ?) has been rewritten from
Xscratch, and a small iconify routine has been added. To customize the whole
Xthing a little bit, there are a few new commands:
X MinimumChars, HistoryLines, ShowHistory, KillHistory, OutputLines,
XIconifyOff, BackDropIcon, UseScreen, UseWindow.
XOther new commands include:
XTimerIO, RemResident, Repeat, TrapGuru, Setfont, DiskChange, Alias,
XSaveOutput.
XAddresses are now shown as 32-Bit values for 68020 compatibility. The 'More'
Xcommand is obsolete and has been removed. The 'interrupt list' has two new
Xfields. 'Time' w/o parameters shows current setting. 'display commands'
Xseparated by blanks will display the lists one by one, instead of
Xdisplaying them all at once.
X---------------------------------------------------------------------------
XStarting Xoper from CLI:
X
XXoper [T] [F] [S] [L] [D] [R] [E] [M] [P] [I] [C]
X
XThese parameters are described below. For all those who like long
XStartup-Sequences, overcrowded memory and hot-keys enter
X
XXoper -b
X
XThis will install Xoper in background waiting for LeftAmiga-RightAmiga-X
Xto pop up. In both cases you don't have to RUN or RUNBACK Xoper, it will
Xalways create its own process.
X
XAt startup Xoper loads and executes a file named S:Xoper.Startup if such a
Xfile is available. This startup-script is used to set default values, the
Xwindow size or the initial default list to be displayed. The Xoper-window
Xwill only be opened after the startup-script has been processed. Look at the
Xend of the document for a sample startup file.
X
XXoper Window:
X-------------
X The window (or screen if you request one) is devided into two sections: a
Xvery small input line on the bottom and a large output area on the top. If
Xthe output exceeds the size of the window you may scroll or 'page' through
Xthe text using the num-pad keys:
X
XA1000  A2000/A500
X  7	Home		Top of display
X  1	End		Bottom
X  9	Pg Up		one page up
X  3	Pg Dn		one page down
X  8	Up Arrow	one line up
X  2	Down Arrow	one line down
X  4	Left Arrow	one page left
X  6	Right Arrow	one page right
X
X The input section has some line editing facilities and a history buffer
Xcontollable with the following keys (similar to NewCon and ConMan):
X
XCursor left		cursor one character left
XShift  left		cursor to the start of the next word
XCursor right		one character right
XShift  right		previous word
XCursor Up		previous line in history buffer
XShift  Up		top of buffer
XCursor Down		next line in history buffer
XShift  Down		bottom of buffer
XDEL			DEL
XBS			backspace
XCtrl   X		delete line
XCtrl   Y		delete EOL
XIns   (numpad '0')      toggles insert mode (default is 'on')
XDel   (numpad '.')      same as DEL
X
XESC			moves the input area from the bottom into the
X			output section. Entering a command here (i.e
X			overwiting an output line), will cause Xoper to add
X			the address of that node to your command line.
X			Example: Show the hunks of a 'File.System' process:
X			type 'T' to get a list of all tasks, press <esc>,
X			move the cursor to the line displaying the
X			File.System process and type 'Hunks <enter>'. Press
X			<enter> once more to return to the usual Xoper
X			display.
XHelp			displays a help panel.
X
XThe Xoper window has, beside the usual closewindow and depth-arrange
Xgadgets, a custom gadget on its title bar, used to iconify Xoper. The icon
Xmay be moved anywhere on the screen just by dragging it, double clicking
Xthe icon will restart the program. The window itself is a simple_refresh
Xwindow, so it may look a little bit sluggish when it needs a refresh.
X
XXoper Commands:
X---------------
X
X Commands are entered in the command line at the bottom of the window,
Xthese are divided into two groups:
X
XDisplay commands: These are always single character entries and may be
Xspecified in any order, upper or lower case, after the prompt or from CLI
Xas parameters. If more than one list has to be displayed, you may enter
Xseveral commands in one line. Separating them with blanks display the lists
Xone by one instead of showing them all at once.
X
XT = Tasks (Default if Xoper is called without parameters)
XTask node (HEX), Display type, status, priority (decimal), CPU usage
X(percent), processnumber for Dos-Processes (decimal), taskname.
X
XF = Task Flags
XTask node (HEX), Allocated Signals (HEX), Signals the Task is waiting for
X(HEX), Signals received (HEX), Address of the next instruction to be
Xexecuted (HEX).
X
XC = Cli Commands
XTask node (HEX), Type (interactive/batch), Mode (Background/Foreground),
XCLI number, CLI name, program it executes.
X
XL = Libraries
XBase address (HEX), open count (decimal), version (decimal), revision
X(decimal), flags (binary), libraryname.
X
XD = Devices
XBase address (HEX), open count (decimal), version (decimal), revision
X(decimal), flags (binary), devicename.
X
XE = Resident (sorry)
XBase address (HEX), priority (decimal), flags (binary), version
X(decimal), type, name.
X
XR = Resources
XBase address (HEX), open count (decimal), version (decimal), revision
X(decimal), flags (binary), resource name.
X
XM = Memory
XLower and upper bounds (HEX), bytes free (decimal), attributes, priority
X(decimal), hunk name.
X
XP = Ports
XNode address (HEX), portname, flags, signal bit (decimal), queue length
X[number of messages] (decimal), taskname.
X
XI = Interrupts
XNode address (HEX), pointer to interrupt data (HEX), pointer to interrupt
Xcode (HEX), priority (decimal),[T]ype ([S]erver/[H]andler), [S]tate
X([E]nabled/[D]isabled), type (interrupt queue the interrupt belongs to),
Xinterrupt name.
X
XS = Stack
XLower limit of the stack, stack size, currently used stacksize, taskname.
XIf you want to minimize your stack using this utility, please note that
XDOS-functions use 1500 Bytes at the bottom of the Stack frame for their own
Xpurposes and note that the stacksize is only checked one time per second by
Xthis command.
X
XH = Help ( or ?)
XShow a list of commands.
X
X; = NOP
XSkip this line (used for remarks in a script file)
X
XQ = Quit
XSame as QUIT (see below).
X
XExample: Entering TPM would display Tasks, Ports and Memory. The display
Xwould be updated after a few seconds (5 by default, may be changed
Xanytime, see below.)
X
XOther commands that do not display EXEC lists:
XThese commands may be entered upper or lower case. Parameters enclosed
Xin '<>' must be, enclosed in '[]' may be specified. Names are usually
Xentered as ascii strings, it can however happen that two or more nodes of
Xthe same name exist. On tasks you may specify the DOS-Processnumber to
Xsort them out. If everything fails, you can enter the Node-Address with a
Xleading '$'. This address will be checked first before the command is being
Xexecuted. If the check fails, you'll get an error message or a warning or
Xa prompt, depending on what went wrong. Names are always the last parameter
Xto enter. This may seem strange, but it is the simplest way to get rid of
Xembedded blanks.
X
XTime <seconds>
XSet time between updates. Minimum is 1 second, maximum is 255, default is 5
Xseconds. Time 0 stops automatic update and waits for a kepress.
XExample: Time 1
X
XTaskpri <priority> [processnumber] <taskname>
XChange the priority of a task. Values may range from -127 to 127, better
Xuse values between -5 and 5.
XExample: Taskpri 1 New Cli
X
XMypri <priority>
XShortcut for "Taskpri Xoper <priority>"
XExample: Mypri 2
X
XPri <priority> <nodename>
XChange the priority of any other node. This command does not work for Tasks.
XIf the specified node has been found, the entire list the node belongs to
Xwill be resorted.
XExample: Pri 1 Chip Memory	  (try to allocate memory in CHIP first)
X
XBreak [processnumber] <taskname>
XSet break signals. Useful for tasks running in background or from Workbench.
XExample: Break 3 New CLI
X
XHunks [processnumber] <processname>
XShow location, BCPL-Pointers and length of memory blocks the process uses.
XExample: Hunks RAM
X
XSnoop [processnumber] <taskname>
XTrack memory allocation/deallocation of a task. Press break (CTRL-C) to
Xstop. List includes: action (alloc/free), memory requirements (CHIP/ FAST/
XPUBLIC etc), memory size, memory location (start, end) and the address from
Xwhere AllocMem() was called.
X
XFiles
XList lock, access, size and name of open files.
X
XLocks
XList any lock.
XBUG: Trying to lock the Volume "RAM Disk" crashes the machine sometimes. If
Xa Volume "RAM Disk" is found it will be replaced by the devicename "RAM:"
X(this has been fixed on WB 1.3). Make sure you don't have a disk labeled
X"RAM Disk" or you'll never see its locks:-)
X
XCurrentdir
XList current directory settings of all processes.
X
XDevices
XList name,heads,sectors,tracks,startup-buffers and handler-process of every
XDOS-device.
X
XInputhandler
XDisplay node, priority and name (if any) of the input-handlers currently in
Xuse.
X
XCapture
XShow vectors controlling the reset, i.e. CoolCapture, ColdCapture and
XWarmCapture pointers, KickMem allocations. Useful when searching
Xfor Viruses, but remember that the RAD: device in 1.3 uses the KickMem
Xpointer to recover from a reset.
X
XClrCool
XClrCold
XClrWarm
XClear one of those pointers.
X
XTimerIO
XDisplay pending timer requests. It shows the address of the
XIORequest-structure, the unit (MICROHZ or VBLANK), the time to complete (up
Xto 255 secs) and the task submitting the request.
X
XRemResident <resident module name>
XKicks the resident module out of the ResModules-List. It does not free the
Xmodule itself, but only makes sure it won't be reactivated during the next
Xreset. Removing a ROM-based module does not have any effect.
X
XRepeat <Command string>
XRepeats the command string at the current refresh rate (see 'Time').
XHowever, commands not producing any output won't be repeated, but only
Xexecuted once. Press <enter> to stop.
XExample: Time 1
X	 Repeat TimerIO
X
XTrapGuru
XActivates a trap handler similar to GOMF. It only works with a 68000
Xprocessor, as it relys on a specified stack frame (at least I think so,
Xcouldn't check it out). If an exeption occurs (i.e. GURU) Xoper will
Xstop (or popup, if running in background) and display some information
Xabout what happened (the taskname causing the error, its program counter,
Xthe alert number etc.) and you'll be asked if you want to (K)ill the task
Xor (I)gnore the exeption. Choosing (i)gnore will do nothing at all if the
Xerroneous program was a process (as it will stop itself displaying a
X'Task held...' requester), but force a task to execute a 'Wait(0L)' (i.e.
Xwait forever) as tasks do directly display an alert box.
X
XAlias <AliasName> <CommandName>
XDefines a new name to be used along with the original command name. The new
Xname should not contain any blanks.
XExample: Alias ih InputHandler
X
XLockdrive <drivename:>
XPrevent DOS, Workbench and Disk-Validator from cluttering on the drive.
XThis command isn't very useful, but I needed it myself. Please note that
Xthe drivename is case sensitive and has to end with a ':'.
X
XFreedrive <drivename:>
XRe-enable a drive.
X
XDiskChange
XShow all installed diskchange interrupts. It displays the node, data and
Xcode fields of the interrupt, the device it is attached to (df0:-df3:) and
Xthe task which added the interrupt (if available). The main purpose for
Xthis command is to check for a virus, as the diskchange interrupt is a
Xwonderful place to install them.
X
XWindows
XList address and title of all windows.
X
XScreens
XList address and title of screens.
X
XFonts
XList address,height,width,type,fist character and last character of all
Xloaded fonts.
X
XWindowfonts
XList Windows and associated fonts.
X
XSetFont [size] <fontname> <window>
XChange the default font of a window. To avoid confusion, you should use a
Xfont with the same font size as the original font, as many programs rely on
Xthe point size.
XExample: Windows
X	 Press <esc>, move the cursor to the Xoper window line and type
X	 Setfont diamond.font
X	 (now you know what I mean by 'relying on a font size' :-))
X
XFreeze [processnumber] <taskname>
XHalt a Task. The task should be READY or WAITING. Frozen tasks are queued in
Xa new list called FROZEN. When you leave Xoper, halted Task will be
Xreleased.
XExample: Freeze Killer Graphics Task
X
XWarm [processnum] <taskname>
XRestart a halted Task. Task must be FROZEN.
XExample: Warm Killer Graphics Task
X
XHide <taskname>
XThe task-list tend to be longer than the window size. You may inhibit the
Xoutput of some tasks you are not interested in using his command.
XExample: Hide trackdisk.device
X
XHidden
XTurn those hidden Tasks back on. It is actually a toggle.
X
XHeader
XToggle the (rather long) header on the task display on/off.
X
XSort
XThe tasks listing is sorted (on V1.3 and above) to avoid 'jumping' of the
Xdisplay. Sort toggles this feature on/off. (Stupid command, but was easy
Xto implement).
X
XInfo <librarynode | devicenode>
XShow additional information stored in the lib_IdString field.
XExample: Info arp.library
X
XOpenlib <libraryname>
XOpen a library. This is useful if you don't want a specified library being
X'flushed' out.
XExample: Openlib arp.library
X
XClear [longword]
XFill unused memory chunks with pattern, default is 0. Handy for debuggers.
XExample: Clear $66726565
X
XFlush
XClean up memory, flush unused libraries, devices and fonts.
X
XLastalert
XShow last Guru Meditation code or rubbish.
X
XUsage
XToggle CPUSE field on the task display between usage relative to all
Xpossible dispatches and usage relative to actually dispatched tasks.
XAhem...not very clear I think. Well, let me try again...
XIf you add all CPUSE fields together you get 100 % (more or less 1%). After
Xentering "Usage" adding the fields together will give you the same value as
Xshown in the 'CPU Activity field'. (I HATE having to write docs)
X
XTaskports
XDisable / enable a listing of taskports if ports are displayed.
X
XWindow <leftedge> [toptedge [width [height]]]
XWorks only on script files. Defines the window to be opened.
XExample: Window 0 0 550 190
X
XHistoryLines <number of lines>
XSet the maximum number of input lines the history buffer should hold.
XDefault is 10 lines.
X
XMinimumChars <number of characters>
XSet the minimum number of characters an inputline should have to be added to
Xthe history buffer.
XDefault is 2 characters.
X
XShowHistory
XShow the history buffer. (quite useless, I know)
X
XKillHistory
XDelete all lines from the history buffer. (still useless)
X
XOutputLines <number of lines>
XSet the maximum number of lines the output buffer may hold. If the buffer
Xoverflows, a line from the top of the buffer will be deleted for each new
Xline.
XThe default value is 500, using a maximum of 500 * 104 = 52000 bytes.
X
XSaveOutput <filename>
XWrite the contents of the output buffer to a file.
X
XIconifyOff
XTurns the iconifying routine off, freeing all memory associated with its
Xcode and image.
X
XBackDropIcon
XPuts the Xoper icon behind all other windows, instead of creating it on top
Xof them.
X
XUseScreen
XOpens Xoper on a screen. The new screen will take its data (width, colors,
Xviewmodes etc.) from the Workbench screen and open a borderless backdrop
Xwindow on it.
X
XUseWindow
XOpens Xoper on a window.
X
XQuit or just Q
XExit Xoper. If Xoper was started with '-b' or if 'Hold' was specified it
Xwill stay in background waiting for LeftAmiga-RightAmiga-X.
X
XHold
XExit Xoper but install a key-handler and stay in background. Window
Xsettings and display commands are saved.
X
XExit
XClean up and quit.
X
X!!!! WARNING: The next few commands are dangerous and 'dirty' !!!!!
X!!!!!!!!!!!! don't use them if not strictly necessary !!!!!!!!!!!!!
X
XKill [processnumber] <taskname>
XKill a task or a process. If the task has been called from CLI, the Task
Xitself and the CLI will be killed. Hunks, Windows, Screens  and the
Xteminal-window will be freed. Simple tasks are just RemTask()'ed. If it is
Xnot a CLI Task you'll be asked if it is a Workbench task, if the answer is
X'Yes' unloading will be done by the Workbench. If not, you will be prompted
Xif Xoper should unload the code. Enter 'No' if you don't know how the task
Xhas been started.
X
XClosewindow <title>
XCloses a Window. Please, use it only if the corresponding Task has been
X'Cancel'ed. Use the Window-Structure address if the window has no name.
X
XClosescreen <title>
Xsame as above, but for screens.
X
XUnlock <lock (BPTR)>
XUnlock a file.
X
XCloselib <libraryname>
XThis is exactly the same as CloseLibrary().
X
XCD [processnumber] <processname>
XChange the current directory of a process. You are prompted if the old
Xdirectory lock should be unlocked.
X
XSignal <mask> [processnumber] <taskname>
XSet any task-signal. Mask is a hexadecimal value with or w/o leading '$'.
XSee task's SIGWAIT field for sensible values. Tasks normaly do not wait for
Xsignals only, but for messages, that's why this command may not have the
Xdesired effect, but it is quite useful for tasks hanging around and waiting
Xfor events that may never happen. Warning: Using Signal without any
Xknowledge about what you are going to signal may cause a system-crash!
XExample: Signal 10000000 PopCLI III
X
X----------------------------------------------------------------------------
X;Sample Startup Script (to be placed in s:Xoper.Startup)
X;
X; Window definition on a overscanned + PAL Workbench screen
XWindow 122 0 550 230
X;
X;don't display some Tasks
X;
XHide CON
XHide trackdisk.device
X;
X;but turn them on on Startup
X;
XHidden
X;
X;Change the default list to Ports
X;
XP
X;don't display any prompt if the window is full
XMore
X----------------------------------------------------------------------------
XPlease send flames, bug reports and especially a list of features you would
Xlike to have included in the next version to
X
X Werner Gunther
X Wingertspfad 12
X D 6900 Heidelberg
X (Germany)
X
Xor to my EMAIL address for a fast response:
X
X G35@DHDURZ1.BITNET
SHAR_EOF
echo "End of archive 3 (of 3)"
# if you want to concatenate archives, remove anything after this line
exit