more sane livecd startup
This commit is contained in:
parent
ac751cc6ef
commit
994606821c
11 changed files with 14 additions and 372 deletions
30
sys/lib/dist/mkfile
vendored
30
sys/lib/dist/mkfile
vendored
|
@ -1,21 +1,17 @@
|
|||
src9=/n/src9
|
||||
scr=/tmp/dist
|
||||
scr=/tmp/cdstub
|
||||
iso=/tmp/9front.iso
|
||||
|
||||
x=`{mkdir -p $scr}
|
||||
|
||||
cd:V: $scr/plan9.iso
|
||||
cd:V: $iso
|
||||
|
||||
|
||||
clean:V:
|
||||
rm -rf $scr
|
||||
rm -fr $scr $iso
|
||||
|
||||
$scr/cdstub:D: $src9/386/9bootiso
|
||||
mkdir -p $target
|
||||
cp $prereq $target
|
||||
cp pc/plan9.ini.cd $target/plan9.ini
|
||||
|
||||
$scr/plan9.iso: $scr/cdstub
|
||||
bind -a $src9 $scr/cdstub
|
||||
bind /n/empty $scr/cdstub/.hg
|
||||
disk/mk9660 -9cj -s $scr/cdstub -B 9bootiso $target
|
||||
unmount $scr/cdstub/.hg
|
||||
unmount $scr/cdstub
|
||||
%.iso: /n/src9/386/9bootiso
|
||||
mkdir -p $scr
|
||||
cp $prereq $scr
|
||||
cp pc/plan9.ini.cd $scr/plan9.ini
|
||||
bind -a /n/src9 $scr
|
||||
disk/mk9660 -9cj -B 9bootiso -p pc/cdproto -s $scr -v 'Plan 9 Front' $target
|
||||
unmount $scr
|
||||
rm -fr $scr
|
||||
|
|
|
@ -1,17 +0,0 @@
|
|||
#!/bin/rc
|
||||
|
||||
rfork e
|
||||
flags=()
|
||||
while(! ~ $#* 0 && ~ $1 -*){
|
||||
if(~ $1 -c -s){
|
||||
flags=($flags $1)
|
||||
shift
|
||||
}
|
||||
flags=($flags $1)
|
||||
shift
|
||||
}
|
||||
if(test -f /srv/kfs.cmd)
|
||||
disk/kfscmd allow
|
||||
replica/pull -v $flags /dist/replica/network $*
|
||||
if(test -f /srv/kfs.cmd)
|
||||
disk/kfscmd disallow
|
|
@ -1,17 +1,3 @@
|
|||
#!/bin/rc
|
||||
|
||||
scr=(`{cat /dev/draw/new >[2]/dev/null || status=''})
|
||||
wid=$scr(11)
|
||||
ht=$scr(12)
|
||||
|
||||
window 0,0,161,117 stats -lmisce
|
||||
window 161,0,560,117 faces -i
|
||||
|
||||
if(~ `{screensize} small)
|
||||
dump=acme.dump.small
|
||||
if not
|
||||
dump=acme.dump
|
||||
|
||||
a=`{echo $wid-35 | hoc }
|
||||
window 60,90,$a,$ht acme -l lib/$dump
|
||||
window 20,140,610,450 /usr/glenda/lib/first.window
|
||||
window
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
#!/bin/rc
|
||||
|
||||
scr=(`{cat /dev/draw/new >[2]/dev/null || status=''})
|
||||
wid=$scr(11)
|
||||
ht=$scr(12)
|
||||
if(test $wid -le 1024)
|
||||
echo small
|
||||
if not
|
||||
echo normal
|
|
@ -1,12 +0,0 @@
|
|||
/usr/glenda
|
||||
/lib/font/bit/lucidasans/unicode.8.font
|
||||
/lib/font/bit/lucm/unicode.9.font
|
||||
0 20 75
|
||||
f 0 24 0 0 1
|
||||
24 34 16 1 0 /usr/glenda/ Del Snarf Get | Look
|
||||
f 1 25 567 567 1
|
||||
25 34 567 0 0 readme.acme Del Snarf Undo | Look
|
||||
e 2 0 0 0 1
|
||||
23 49 52 0 0 /mail/fs/mbox/ Del Snarf | Look Put Mail Delmesg
|
||||
/acme/mail
|
||||
Mail mbox
|
|
@ -1,16 +0,0 @@
|
|||
/usr/glenda
|
||||
/lib/font/bit/lucidasans/unicode.7.font
|
||||
/lib/font/bit/lucidasans/typelatin1.7.font
|
||||
0 20 75
|
||||
f 0 24 0 0 1
|
||||
24 34 16 1 0 /usr/glenda/ Del Snarf Get | Look
|
||||
e 0 0 0 0 8
|
||||
28 51 6 0 1 /usr/glenda/-serzone Del Snarf | Look Send Noscroll
|
||||
/usr/glenda
|
||||
win
|
||||
f 1 25 567 567 1
|
||||
25 34 567 0 0 readme.acme Del Snarf Undo | Look
|
||||
e 2 0 0 0 1
|
||||
23 49 52 0 0 /mail/fs/mbox/ Del Snarf | Look Put Mail Delmesg
|
||||
/acme/mail
|
||||
Mail mbox
|
|
@ -1,5 +0,0 @@
|
|||
#!/bin/rc
|
||||
echo -n readme > /dev/label
|
||||
cat readme.rio
|
||||
exec rc -i
|
||||
|
|
@ -4,7 +4,6 @@ bind -c tmp /tmp
|
|||
if(! syscall create /tmp/xxx 1 0666 >[2]/dev/null)
|
||||
ramfs # in case we're running off a cd
|
||||
font = /lib/font/bit/pelm/euro.9.font
|
||||
upas/fs
|
||||
fn cd { builtin cd $* && awd } # for acme
|
||||
switch($service){
|
||||
case terminal
|
||||
|
|
|
@ -1,102 +0,0 @@
|
|||
Welcome to acme, the editor/shell/window system hybrid. Acme is a
|
||||
complete environment you can use to edit, run programs, browse the
|
||||
file system, etc.
|
||||
|
||||
You can scroll the text this window by moving the mouse into
|
||||
the window (no clicking necessary) and typing the up and down
|
||||
arrows.
|
||||
|
||||
When you start Acme, you see several windows layered into two
|
||||
columns. Above each window, you can see a ``tag line'' (in blue). The
|
||||
first thing to notice is that all the text you see is just that:
|
||||
text. You can edit anything at will.
|
||||
|
||||
For example, in the left column is a directory window.
|
||||
If you look at the window's tag line, you will see that it contains
|
||||
|
||||
/usr/glenda/ Del Snarf Get | Look
|
||||
|
||||
(This might be truncated if the column is narrow.)
|
||||
That is just text.
|
||||
|
||||
Each mouse button (1, 2, 3, from left to right) does a different
|
||||
thing in Acme:
|
||||
|
||||
* Button 1 can be used to select text (press it, sweep, release it),
|
||||
and also to select the point where text would be inserted in the
|
||||
window. Use it now in your /usr/glenda window.
|
||||
* Button 2 can be used to execute things. For example, use button 1
|
||||
to type "ls -l" before "lib/" in the window showing
|
||||
/usr/glenda. Now use button 2 to select "ls -l lib/" (press
|
||||
it, select, release it). As you can see, button 2 means
|
||||
"execute this".
|
||||
* Button 3 can be used to get things. For example, click button 3 on
|
||||
"lib/" within the "/usr/glenda" window. Can you see how a new window
|
||||
shows the contents of "/usr/glenda/lib"? Button 3 can also be used
|
||||
to search within the body of a window. Just click button 3 on the
|
||||
thing you want to search. Again, you can select something with
|
||||
button 1 and then use button 3 on the selection.
|
||||
|
||||
You can double-click with button 1 to select words; a double click at
|
||||
the end or beginning of a line selects the whole line. Once you have
|
||||
text selected, you can click on it with button 2 to execute the
|
||||
selected text. A single click of button 2 would execute the word
|
||||
clicked as a command.
|
||||
|
||||
Now let's pay attention to the tag line once more. As you can see,
|
||||
the left part has a path. That is the name for the window and shows
|
||||
also the directory for the thing shown (file/directory/program
|
||||
output). When you execute something using button 2, the current
|
||||
directory for the command is the directory shown in the left part of
|
||||
the tag (if the thing shown is a file, its directory is used).
|
||||
|
||||
As you saw before in the example, there are windows labeled
|
||||
"/dir/+Errors", that is where Acme shows the output of a command
|
||||
executed in "/dir".
|
||||
|
||||
Another thing you can see is that tag lines contain words like "New",
|
||||
"Del", "Snarf", etc. Those are commands understood (implemented) by
|
||||
Acme. When you request execution of one of them, Acme does the job.
|
||||
For example, click with button 2 on "Del" in the
|
||||
"/usr/glenda/+Errors" window: it's gone.
|
||||
|
||||
The commands shown by Acme are just text and by no means special. Try
|
||||
to type "Del" within the body of the window "/usr/glenda", and then
|
||||
click (button-2) on it.
|
||||
|
||||
These are some commands understood by Acme:
|
||||
* Newcol: create a new column of windows
|
||||
* Delcol: delete a column
|
||||
* New: create a new window (edit it's tag to be a file name and you
|
||||
would be creating a new file; you would need to click on "Put" to
|
||||
put the file in the file system).
|
||||
* Put: write the body to disk. The file is the one named in the tag.
|
||||
* Get: refresh the body (e.g. if it's a directory, reread it and
|
||||
show it).
|
||||
* Snarf: What other window systems call "Copy".
|
||||
* Paste: Can you guess it?
|
||||
* Exit: exit acme
|
||||
|
||||
Acme likes to place new windows itself. If you prefer to change the
|
||||
layout of a window, you only need to drag the layout box at the left
|
||||
of the tag line and drop it somewhere else. The point where you drop
|
||||
it selects the column where the window is to be placed now, as well
|
||||
as the line where the window should start. You can also click the
|
||||
layout box to enlarge its window a small amount (button 1), as much
|
||||
as possible without obscuring other tag lines in the column (button
|
||||
2), and to fill the whole column (button 3). You can get your other
|
||||
windows back by button-1- or button-2-clicking the layout box.
|
||||
|
||||
This is mostly what you need to get started with Acme. You are
|
||||
missing a very useful feature: using combinations (chords) of mouse
|
||||
buttons to do things. You can cut, paste, snarf, and pass arguments
|
||||
to programs using these mouse chords. You can read this in the
|
||||
acme(1) manual page, but it's actually extremely simple: Select a
|
||||
region with button 1 but don't release the button. Now clicking
|
||||
button 2 deletes the selected text (putting it into the snarf
|
||||
buffer); clicking button 3 replaces the selected text with the snarf
|
||||
buffer. That's it!
|
||||
|
||||
For more information, read /sys/doc/acme/acme.ps (you can just
|
||||
button-3 click on that string to view the file).
|
||||
|
|
@ -1,178 +0,0 @@
|
|||
Rio is the Plan 9 window system.
|
||||
|
||||
To read more of this window, the up and down arrows
|
||||
scroll the text up and down half screens.
|
||||
|
||||
To effectively use rio, you need at least a three
|
||||
button mouse. If you only have a two button mouse you
|
||||
can emulate the middle button by holding down shift key
|
||||
whilst pressing the right button.
|
||||
|
||||
Button 1, 2, and 3 are used to refer to the left,
|
||||
middle, and right buttons respectively.
|
||||
|
||||
THE POP-UP MENU
|
||||
|
||||
Pressing and holding down button 3 on the desktop or
|
||||
shell window will give you a menu with the following
|
||||
options:
|
||||
|
||||
* New - create a new window
|
||||
* Resize - reshape a window
|
||||
* Move - move a window without reshaping it
|
||||
* Delete - close a window
|
||||
* Hide - hides a window from display (it will appear
|
||||
in this menu)
|
||||
* <label> - the label of a hidden window,
|
||||
selecting it unhides it
|
||||
|
||||
You select an item by releasing the button over the
|
||||
menu item. rio uses the same button that started an
|
||||
action throughout that operation. If you press another
|
||||
button during the action the operation is aborted and
|
||||
any intermediate changes are reversed.
|
||||
|
||||
The menu acts as a action verb selector which then
|
||||
requires an object (i.e. window) to be picked to
|
||||
indicate which window the verb is to act on. A further
|
||||
mouse action may then be required.
|
||||
|
||||
EXAMPLES
|
||||
|
||||
After selecting New, the cursor will change into a
|
||||
cross. Using button 3 again, you should then drag out
|
||||
a rectangle to indicate the size and location of the
|
||||
new window. When you release the button a new window
|
||||
will be created.
|
||||
|
||||
New windows will contain the rc shell. Invoking a rio
|
||||
program from the shell will allow that program to take
|
||||
over the window. As there is no job control in the
|
||||
shell (e.g. &, fg, bg), you just create another window
|
||||
if you want to run another program concurrently.
|
||||
|
||||
To Resize a window, you select Resize, then click
|
||||
(remember using the same button that started the
|
||||
action, i.e. button 3) on the window you want to
|
||||
resize. The cursor will change to a cross-hair theat
|
||||
will allow you to drag out the desired shape of the
|
||||
window.
|
||||
|
||||
After selecting Move, click and keep the button
|
||||
depressed over the window you want to move, then move
|
||||
the mouse to move the red rectangle that represents the
|
||||
new location you want. Release the button to finish
|
||||
the action.
|
||||
|
||||
Delete and Hide both operate by requiring you to click
|
||||
on the window you wish to respectively Delete or Hide.
|
||||
|
||||
WINDOW CONTROL TIPS
|
||||
|
||||
Clicking on a window brings it to the front.
|
||||
|
||||
You can directly change the shape of a window by
|
||||
clicking and dragging on the edge or corner of the
|
||||
window border. Button 1 or 2 will allow you to drag
|
||||
the edge or corner to a new size, and Button 3 will
|
||||
allow you to move the window.
|
||||
|
||||
The pop-up menu remembers the last command chosen, so
|
||||
as a short cut you can just press and release button 3
|
||||
without moving the mouse between pressing and releasing
|
||||
to select the previous command again.
|
||||
|
||||
BASIC TEXT CONTROL
|
||||
|
||||
Unlike in other systems, the text cursor can only be
|
||||
controlled by the mouse or the side-effects of certain
|
||||
commands.
|
||||
|
||||
Clicking with button 1 will move the text insertion
|
||||
point (indicated by an I-beam) to just before the
|
||||
character closest to the mouse pointer. Dragging
|
||||
across a section of text will select that portion of
|
||||
text. It may be useful to know that the insertion
|
||||
I-beam represents an empty selection (between two
|
||||
characters). In text editors, the current selection is
|
||||
known as "dot".
|
||||
|
||||
In the shell window button 2 will invoke a pop-up menu.
|
||||
Most of it's commands operate on dot.
|
||||
|
||||
* cut - moves the contents of the dot to the clipboard
|
||||
if dot is non-empty
|
||||
* paste - replaces dot with the contents of the clipboard
|
||||
* snarf - copies dot to the clipboard
|
||||
* plumb - sends dot (or text surrounding dot, if dot is
|
||||
empty)to the plumber.
|
||||
* send - completes the current input line with the dot,
|
||||
if it is non-empty, or the contents of the clipboard.
|
||||
If the dot is non-empty it does a snarf at the same time.
|
||||
* scroll - toggles the automatic scrolling of the window
|
||||
on output.
|
||||
|
||||
Double-clicking will allow you to automatically select
|
||||
a section of text surrounding that point. The
|
||||
selection is made by an analysis of appropriate
|
||||
delimeters. A whole line is selected by
|
||||
double-clicking at either end of the line. A quoted or
|
||||
bracketed selection is made by double-clicking just
|
||||
inside of the quote or bracket.
|
||||
|
||||
SCROLLING
|
||||
|
||||
The arrow keys will let you scroll up or down by half a
|
||||
page at a time.
|
||||
|
||||
Clicking button 1 on the scrollbar scrolls up by half a
|
||||
page. Button 3 scrolls down by half a page. Button 2
|
||||
jumps to position in the document relative to the
|
||||
position on the scrollbar clicked. Holding a button on
|
||||
the scrollbar will have the effect of invoking the
|
||||
clicking action continuously.
|
||||
|
||||
The white elevator box on the scrollbar is sized
|
||||
proportionally to the proportion of the document that
|
||||
is currently visible.
|
||||
|
||||
Scrolling does not affect the text cursor.
|
||||
|
||||
RIO AND THE RC SHELL WINDOW
|
||||
|
||||
Rc is a command interpreter for Plan 9 that provides
|
||||
similar facilities to UNIX's Bourne shell. See the
|
||||
additional references at the end of this document for
|
||||
information specifically about rc.
|
||||
|
||||
Rio provides some additional features that enhance the
|
||||
interface to programs that use the text console. The
|
||||
rc shell command interpreter is one such program.
|
||||
|
||||
Rc commands are typed after the prompt on the last line
|
||||
of the text buffer. The commands are sent to rc only
|
||||
after each newline so line editing may be performed if
|
||||
desired. You can move the cursor and edit the previous
|
||||
lines of commands and program output but none of this
|
||||
will be interpreted by rc shell.
|
||||
|
||||
The interpretation of commands is supressed altogether
|
||||
when ESC is pressed to put the window in hold mode.
|
||||
The window border and text will change to dark blue to
|
||||
indicate the hold mode is active. In this mode you can
|
||||
type multiple lines of commands and edit them.
|
||||
Pressing ESC again will release the hold and send the
|
||||
lines of text to the rc command interpreter.
|
||||
|
||||
The DEL key sends an 'interrupt' note to all processes
|
||||
in the window's process group. The usual intent is to
|
||||
terminate the execution of the current command. It is
|
||||
also a convenient short cut for ensuring you have a
|
||||
fresh command prompt.
|
||||
|
||||
FURTHER INFORMATION
|
||||
|
||||
For further information, try the rio(1) manual page.
|
||||
Type "man rio" or click on rio(1) in either of these
|
||||
sentences and select plumb from the button 2 menu.
|
||||
|
Loading…
Reference in a new issue