Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
vps_-_plan9front_-_mailing_and_faces [2021/10/01 21:30] – [face location] hc9 | vps_-_plan9front_-_mailing_and_faces [2022/07/11 00:39] – [9p mail] hc9 |
---|
<code> | <code> |
cpu% jpg -c myface.jpg | iconv -c m8 | resample -x 48 -y 48 > myface.1 | cpu% jpg -c myface.jpg | iconv -c m8 | resample -x 48 -y 48 > myface.1 |
| </code> |
| |
| <code> |
| cpu% png -c myface.png | iconv -c m8 | resample -x 48 -y 48 > myface.1 |
</code> | </code> |
| |
| |
|x|Adding your face|https://9p.io/wiki/plan9/adding_your_face/index.html| | |x|Adding your face|https://9p.io/wiki/plan9/adding_your_face/index.html| |
| |x|Review //''mug''((The use of //''mug''// may call for the command //''broke''// ; ''man broke''.))//| ''cpu% jpg -c myface.jpg | mug > myface.1''| |
| |x| //''gif -c''// |http://man.9front.org/1/jpg| |
| |x| //''png -c''// |http://man.9front.org/1/jpg| |
| | | //**''-c''** Convert the image to a Plan 9 representation, as defined by image(6), and write it to standard output.// |"| |
| |
| |x| //''crop''// |crop, iconv - frame, crop, and convert image|http://man.9front.org/1/crop| |
| | | //''crop''// |//There are two ways to specify a crop, by color value or by geometry.//|"| |
| |x| //''resize''// |resample, resize - resample a picture|http://man.9front.org/1/resample| |
| |x| //''rotate''// |rotate - rotate or mirror a picture|http://man.9front.org/1/rotate| |
| |
| |x| //''paint''// |paint - create image files by drawing with a mouse or other pointing device|http://man.9front.org/1/paint| |
| |x| //''tweak''// |tweak - edit image files, subfont files, face files, etc.|http://man.9front.org/1/tweak| |
| | | //''tweak''// | //Report the coordinate and value of individual pixels indicated by pressing button 3.//|"| |
| |
===== quality control ===== | ===== quality control ===== |
</code> | </code> |
| |
|x|If //myface.1// looks good, install it as ''/lib/face/people/$user.1'', in the ''/lib/face/people'' directory.| | Check the results with ''tweak'': |
| |
Then __**carefully**__ edit ''/lib/face/people/.dict'', adding the line: | <code> |
|''sdf.org/$user $user.1''| | cpu% tweak myface.1 |
| </code> |
| |
|x|The .dict file is maintained in __alphabetical__ order.| | Check the classification with ''file'': |
| |
<code> | <code> |
cpu% acme /lib/face/people/.dict | cpu% file myface.1 |
</code> | </code> |
| |
| ===== 9p face install ===== |
| |
| |**1.**|If //myface.1// looks good, install it as ''$home/lib/face/$user.1''| |
| |//a.//|copy //''$user.1''// to the //''$home/lib/face''// directory.| |
| |
| <code> |
| cpu% mkdir $home/lib/face |
| </code> |
| |
| |**2.**|Run //faceoff//. The //faceoff// updates are queued.| |
| |
| <code> |
| cpu% faceoff |
| </code> |
| |
| ^Example .dict format^ |
| |''9p.sdf.org/$user $user.1''| |
| |''sdf.org/$user $user.1''| |
| |
===== face location ===== | ===== face location ===== |
</code> | </code> |
| |
examples, in another format: | examples (in another format): |
| |
<code> | <code> |
cpu% cd /lib/face/48x48x1 | cpu% cd /lib/face/48x48x1 |
cpu% page .dict | cpu% page .dict |
| </code> |
| |
| ===== faces -i ===== |
| |
| |x| FACES -I: | ''faces [ -ihc ] [ -m maildir ]'' |http://man.9front.org/1/faces| |
| |
| <code> |
| cpu% faces -i |
</code> | </code> |
| |
====== 9p mail ====== | ====== 9p mail ====== |
| |
Create the ''/mail/box/$user'' with ''mail -c''. This is only necessary once; it creates the $user mbox. | Enter ''//upasname=$user@9p.sdf.org//'' if it's not already in the //$home/lib/profile//, below the bind lines. Try ''<nowiki>'</nowiki>sed 5q $home/lib/profile<nowiki>'</nowiki>'' to view the first 5 lines of //$home/lib/profile//. //(Although unrelated, a [[vps_-_9front#adding_a_user|Plan 9 VPS upas snippet]] is available for reference.)// |
| |
| Entering //''upasname=$user@9p.sdf.org''// (at the prompt) is **optional** if a ''$user'' [[boot_camp_9p_resource#default_9p_lib_profile|chooses to edit]] the //''$home/lib/profile''//. |
| |
| |x| //''upas/fs''// |upasfs - mail file server|http://man.9front.org/4/upasfs| |
| | | //''upas/fs''// |:!: //A user normally starts fs in his/her profile after starting plumber(4) and before starting a window system, such as rio(1) or acme(1).//|"| |
| |
| <code> |
| cpu% upasname=$user@9p.sdf.org |
| </code> |
| |
| |x|Add //''upasname=$user@9p.sdf.org''// to the //''$home/lib/profile''//| |
| |x|A default **''lib/profile''** [[boot_camp_9p_resource#default_9p_lib_profile|example at the Boot Camp 9p resource]] page, with snippets/changes.| |
| |
| ^**1.**^A checklist, or a possible task (//a,b,c,d//) order.^ |
| |//a.//|Is //''upasname=$user@9p.sdf.org''// in the //''$home/lib/profile''// ?| |
| |//b.//|:!: Is //''upas/fs''// in the //''case cpu''// area of the profile, after //''plumber''// ?| |
| |//c.//|Was there a //Drawterm// restart after //a// & //b// before //d// ?| |
| |//d.//|//''mail -c''//| |
| |
| === a: === |
| |
| <code> |
| cpu% sam -d profile.edit |
| -. profile.edit |
| /bind -q |
| bind -q |
| bind -qa $home/bin/rc /bin |
| |
| bind -qa $home/bin/$cputype /bin |
| |
| bind -qa $home/sys/lib /sys/lib |
| |
| bind -qa /usr/sdf/bin /bin |
| a |
| upasname=$user@9p.sdf.org |
| . |
| w |
| profile.edit: #972 |
| q |
| cpu% |
| </code> |
| |
| === b: === |
| |
| Check for //''upas/fs''//, or add it after //''plumber''// if it's not already //there((//''plumber''// is located in the //''case cpu''// section of the //profile//, in this example.))// |
| |
| <code> |
| cpu% grep upas/\fs $home/lib/profile |
| upas/fs |
| cpu% grep -n upas/\fs $home/lib/profile |
| :42: upas/fs |
| cpu% |
| </code> |
| |
| === c: === |
| |
| [[vps_-_9front#closing_drawterm|Closing Drawterm]] |
| |
| === d: === |
| |
| Create the //''<nowiki>/</nowiki>mail<nowiki>/</nowiki>box<nowiki>/</nowiki>$user''// with ''<nowiki>'</nowiki>mail -c<nowiki>'</nowiki>''. This is only necessary once; it creates the $user mbox. |
| |
<code> | <code> |
cpu% mail -c | cpu% mail -c |
</code> | </code> |
| |
| 9p mail reference: |
| |
| |x| //''qer''// |qer, runq - queue management for spooled files|http://man.9front.org/8/qer| |
| | | //''qer''// |//Qer creates a control and a data file in a queue directory. The control file contents consist of the tag, reply, and args separated by spaces. The data file contains the standard input to qer.//|"| |
| |
Start acme to access the mbox. | Start acme to access the mbox. |
| |
|x|Plan 9 has active communities which mostly interact by email. You are encouraged to join the //[[https://9p.io/wiki/plan9/mailing_lists|9fans mailing list]]// where discussion about Plan 9, and related technologies occur.| | |x|Plan 9 has active communities which mostly interact by email. You are encouraged to join the //[[https://9p.io/wiki/plan9/mailing_lists|9fans mailing list]]// where discussion about Plan 9, and related technologies occur.| |
| |
| – |
| ===== nedmail ===== |
| |
| |x| MAIL: |nedmail - reading mail|http://man.9front.org/1/nedmail| |
| |
| <file config Test E-mail key sequence while at the 9p prompt> |
| mail -s 'Test from 9p' $user@9p.sdf.org |
| Will this work? |
| ctrl-d |
| [Esc] |
| </file> |
| |
| |**1.**|The window frame will turn blue (hold), until the //''[Esc]''// toggles to the non-blue window frame.| |
| |//a.//|//The ''[Esc]'' character toggles hold mode.// – http://man.9front.org/1/rio| |
| <code> |
| cpu% mail -s 'Test from 9p' $user@9p.sdf.org |
| will this work? |
| |
| </code> |
| |
| |x|Caution, //''ctrl-d''// can operate as the //''[Delete]''// on a rio rc window.| |
| |
| <code> |
| cpu% mail |
| 42 messages, 1 unread |
| : q |
| cpu% |
| </code> |
| |
=== create popmail: === | === create popmail: === |