From 45bab89362ebe122d60d5e9b1e2b949b26168db3 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Mon, 11 Apr 2011 19:47:05 +0000 Subject: livecd --- usr/glenda/bin/rc/pull | 17 ++++ usr/glenda/bin/rc/riostart | 17 ++++ usr/glenda/bin/rc/screensize | 9 +++ usr/glenda/lib/acme.dump | 12 +++ usr/glenda/lib/acme.dump.small | 16 ++++ usr/glenda/lib/first.window | 5 ++ usr/glenda/lib/newstime | 0 usr/glenda/lib/plumbing | 6 ++ usr/glenda/lib/profile | 36 +++++++++ usr/glenda/readme.acme | 102 +++++++++++++++++++++++ usr/glenda/readme.rio | 178 +++++++++++++++++++++++++++++++++++++++++ 11 files changed, 398 insertions(+) create mode 100755 usr/glenda/bin/rc/pull create mode 100755 usr/glenda/bin/rc/riostart create mode 100755 usr/glenda/bin/rc/screensize create mode 100644 usr/glenda/lib/acme.dump create mode 100644 usr/glenda/lib/acme.dump.small create mode 100755 usr/glenda/lib/first.window create mode 100644 usr/glenda/lib/newstime create mode 100644 usr/glenda/lib/plumbing create mode 100644 usr/glenda/lib/profile create mode 100644 usr/glenda/readme.acme create mode 100644 usr/glenda/readme.rio (limited to 'usr') diff --git a/usr/glenda/bin/rc/pull b/usr/glenda/bin/rc/pull new file mode 100755 index 000000000..42b5ecc27 --- /dev/null +++ b/usr/glenda/bin/rc/pull @@ -0,0 +1,17 @@ +#!/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 diff --git a/usr/glenda/bin/rc/riostart b/usr/glenda/bin/rc/riostart new file mode 100755 index 000000000..c8515d08e --- /dev/null +++ b/usr/glenda/bin/rc/riostart @@ -0,0 +1,17 @@ +#!/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 diff --git a/usr/glenda/bin/rc/screensize b/usr/glenda/bin/rc/screensize new file mode 100755 index 000000000..e38ed4d47 --- /dev/null +++ b/usr/glenda/bin/rc/screensize @@ -0,0 +1,9 @@ +#!/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 diff --git a/usr/glenda/lib/acme.dump b/usr/glenda/lib/acme.dump new file mode 100644 index 000000000..1be4a18ec --- /dev/null +++ b/usr/glenda/lib/acme.dump @@ -0,0 +1,12 @@ +/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 diff --git a/usr/glenda/lib/acme.dump.small b/usr/glenda/lib/acme.dump.small new file mode 100644 index 000000000..518a483f7 --- /dev/null +++ b/usr/glenda/lib/acme.dump.small @@ -0,0 +1,16 @@ +/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 diff --git a/usr/glenda/lib/first.window b/usr/glenda/lib/first.window new file mode 100755 index 000000000..cf9544e98 --- /dev/null +++ b/usr/glenda/lib/first.window @@ -0,0 +1,5 @@ +#!/bin/rc +echo -n readme > /dev/label +cat readme.rio +exec rc -i + diff --git a/usr/glenda/lib/newstime b/usr/glenda/lib/newstime new file mode 100644 index 000000000..e69de29bb diff --git a/usr/glenda/lib/plumbing b/usr/glenda/lib/plumbing new file mode 100644 index 000000000..b209d2d66 --- /dev/null +++ b/usr/glenda/lib/plumbing @@ -0,0 +1,6 @@ +# to update: cp /usr/glenda/lib/plumbing /mnt/plumb/rules + +editor = acme + +include basic + diff --git a/usr/glenda/lib/profile b/usr/glenda/lib/profile new file mode 100644 index 000000000..fe2728986 --- /dev/null +++ b/usr/glenda/lib/profile @@ -0,0 +1,36 @@ +bind -a $home/bin/rc /bin +bind -a $home/bin/$cputype /bin +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 + plumber + echo -n accelerated > '#m/mousectl' + echo -n 'res 3' > '#m/mousectl' + prompt=('term% ' ' ') + fn term%{ $* } + exec rio -i riostart +case cpu + if (test -e /mnt/term/mnt/wsys) { # rio already running + bind -a /mnt/term/mnt/wsys /dev + if(test -w /dev/label) + echo -n $sysname > /dev/label + } + bind /mnt/term/dev/cons /dev/cons + bind /mnt/term/dev/consctl /dev/consctl + bind -a /mnt/term/dev /dev + prompt=('cpu% ' ' ') + fn cpu%{ $* } + news + if (! test -e /mnt/term/mnt/wsys) { # cpu call from drawterm + font=/lib/font/bit/pelm/latin1.8.font + exec rio + } +case con + prompt=('cpu% ' ' ') + news +} diff --git a/usr/glenda/readme.acme b/usr/glenda/readme.acme new file mode 100644 index 000000000..18cc16ad0 --- /dev/null +++ b/usr/glenda/readme.acme @@ -0,0 +1,102 @@ +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). + diff --git a/usr/glenda/readme.rio b/usr/glenda/readme.rio new file mode 100644 index 000000000..0eb0e44db --- /dev/null +++ b/usr/glenda/readme.rio @@ -0,0 +1,178 @@ +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) + *