Removing chat clutter

This commit is contained in:
Daniel Klein 2015-05-16 18:53:07 -04:00
parent 96411cdf33
commit 88fac8916c
12 changed files with 57 additions and 6839 deletions

View File

@ -1,496 +0,0 @@
/- mess,user,users,zing,zong,zung
::
[sed=!>(.) .]
::
!:
=> |%
++ axle
$: %0
air=(map path station)
pom=(unit ship)
sen=(set mess)
$= fal
$: eth=?
qit=?
let=?
sat=path
pad=ship
==
==
++ blitz
$% [%prompt p=cord q=prom r=cord]
[%tang p=(list tank)]
[%txt p=cord]
[%zong p=zong]
[%user p=user]
==
++ chat :: user action
$% [%all p=mess] :: say
[%back p=?(%da %dr %ud) q=@] :: backlog
[%def p=mess] :: use current prompt
[%how ~] :: help
[%priv p=@p q=mess] :: private
[%who ~] :: who
== ::
++ chat-arg
$? %monitor %quiet %noob %leet %time
[%s p=path]
[%tower p=ship]
==
++ idad ,[p=@p q=@t]
++ iron
$% [%prompt p=cord q=prom r=cord]
[%txt p=cord]
[%zongs p=(list zong)]
[%users p=users]
[%hymn p=manx] :: HTML format
[%json p=json] :: JSON format
==
++ gift
$% [%mean ares]
[%nice ~]
[%rush blitz]
[%rust iron]
==
++ hapt ,[p=ship q=path]
++ move ,[p=bone q=(mold note gift)]
++ note
$? $: %g
$% [%mess p=hapt q=ship r=cage]
[%nuke p=hapt q=ship]
[%show p=hapt q=ship r=path]
[%took p=hapt q=ship]
== == ==
++ sign
$? $: %g
$% [%mean p=ares]
[%nice ~]
$: %rush
$= p
$% [%txt p=cord]
[%user p=user]
[%zong p=zong]
== ==
$: %rust
$= p
$% [%txt p=cord]
[%users p=users]
[%zongs p=(list zong)]
== ==
== == ==
++ station
$: msg=(list zong)
sub=(unit bone)
ami=(map ,@p ,@t)
==
--
!:
::::
::
=| lat=@da
|%
++ chat
=<
%+ cook |=(a=^chat a)
;~ pose
(cold [%how ~] wut)
(cold [%who ~] tis)
(stag %back dat)
(stag %priv ;~(plug ;~(pfix sig fed:ag) ;~(pfix ace mess)))
(stag %all ;~(pfix pam mess))
(stag %def mess)
==
|%
++ dat
%+ sear
|= p=coin
?. ?=([%$ ?(%da %dr %ud) @] p) ~
(some +.p)
;~(pfix bas bas (star ace) nuck:so)
::
++ expn
%- sear
:_ text
|= a=@t
^- (unit ,[p=@t q=tank])
=+ hun=(rush a wide:(vang | &1:% &2:% (scot %da lat) |3:%))
?~ hun ~
?~(a ~ [~ a (sell (slap sed u.hun))])
::
++ mess
%+ cook |=(a=^mess a)
;~ pose
(stag %do ;~(pfix pat text))
(stag %exp ;~(pfix hax expn))
(stag %do (full (easy '')))
(stag %say text)
==
::
++ text (boss 256 (star prn))
--
--
!:
::::
::
|_ [hid=hide axle]
++ exec-cmd
|= [ost=bone txt=cord]
^- [(list move) _+>]
?: =(0 txt) [~ +>.$]
=+ rey=(rush txt chat(lat lat.hid))
?~ rey
[(print %leaf "invalid input") +>.$]
|-
?- -.u.rey
%all =+ ^= mof
?~ pom ~
(send /out %rush %prompt '& ' %text '')
=^ mow +>.^$
(poke-zung(pom ~) ost our.hid %mess sat.fal p.u.rey)
[(welp mof mow) +>.^$(sen (~(put in sen) p.u.rey))]
%back
:_ +>.^$
%+ send /out :+ %rush %tang
%- turn :_ |=(a=zong (zong-to-tank | a))
%- flop
?- p.u.rey
%ud (scag q.u.rey msg:(grab sat.fal))
%da (since msg:(grab sat.fal) q.u.rey)
%dr (since msg:(grab sat.fal) (sub lat.hid q.u.rey))
==
%def $(u.rey ?~(pom [%all p.u.rey] [%priv u.pom p.u.rey]))
%priv
:_ +>.^$(pom `p.u.rey)
:- :* ost %pass /priv %g
%mess [p.u.rey %chat ~] our.hid %mess !>(q.u.rey)
==
?: =(pom [~ p.u.rey]) ~
(send /out %rush %prompt (cat 3 (scot %p p.u.rey) ' ') %text '')
%who
:_ +>.^$
%^ print %rose [", " "" ""]
%+ turn (~(tap by ami:(grab sat.fal)))
|= a=idad
:- %leaf
%- trip %^ cat 3 %^ cat 3 (scot %p p.a) ' ' q.a
%how
:_ +>.^$
%+ send /out :+ %rush %tang
%- turn :_ |=(a=@t [%leaf (trip a)])
%- lore
%- (hard ,@t)
.^(/cx/(scot %p our.hid)/main/(scot %da lat.hid)/pub/src/doc/chat/help/txt)
==
::
++ grab
|= sta=path
(fall (~(get by air) sta) *station)
::
++ iden
|= her=ship
^- tape
?: let.fal (scow %p her)
=+ ide=(trip (fall (~(get by ami:(grab sat.fal)) her) ''))
%+ welp (scow %p her)
?~ ide ""
[' ' ide]
::
++ peer
|= [ost=bone you=ship pax=path]
^- [(list move) _+>]
:_ +>.$
?: ?=(~ pax)
[ost %give %rust %hymn page]~
=+ ya=(grab t.pax)
?+ i.pax !!
%out
[ost %give %rust %prompt '& ' %text '']~
%private
~
%amigos
[ost %give %rust %users (~(tap by ami.ya))]~
%mensajes
[ost %give %rust %zongs msg.ya]~
==
++ page
^- manx
;html
;head
;title: Radio
;script(type "text/javascript", src "//use.typekit.net/fkv0sjk.js");
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs".
"/jquery/2.1.1/jquery.min.js");
;script:'try{Typekit.load();}catch(e){}'
;link(rel "stylesheet", type "text/css", href "/main/pub/src/chat/main.css");
==
;body
;div#c;
;script(type "text/javascript", src "/main/lib/urb.js");
;script(type "text/javascript", src "/main/pub/src/chat/main.js");
==
==
::
++ poke-chat-args
|= [ost=bone you=ship arg=(list chat-arg)]
^- [(list move) _+>]
=. fal (process-args arg)
=^ mow +>.$ (poke-zung ost you %init pad.fal sat.fal)
:_ +>.$
%+ welp
:+ [ost %pass /cmd-in %g %show [our.hid +.imp.hid] you /in/[-.imp.hid]]
[ost %pass /private %g %show [our.hid /chat] you /private]
(send /out %rush %prompt '& ' %text '')
mow
::
++ poke-mess
|= [ost=bone you=ship mes=mess]
^- [(list move) _+>]
[[[ost %give %nice ~] (spam & %mess lat.hid you mes)] +>.$]
::
++ poke-zung :: nice should be moved out
|= [ost=bone you=ship zug=zung]
^- [(list move) _+>]
?. =(you our.hid)
[[ost %give %mean ~ %no-sos-mi-amigo ~]~ +>.$]
?- -.zug
%mess
:: ~& [%send-mess zug]
:_ +>.$ :_ ~
:* ost %pass /mesg %g
%mess [pad.fal %radio ~] you %zing !>(zug)
==
::
%init
=+ ya=(grab q.zug)
?: =(sub.ya ~)
=. pad.fal p.zug
=. sub.ya `ost
=. air (~(put by air) q.zug ya)
:_ +>.$
:~
:* ost %pass radi-m/q.zug %g
%show [[p.zug /radio] you mensajes/q.zug]
==
:* ost %pass radi-a/q.zug %g
%show [[p.zug /radio] you amigos/q.zug]
==
==
[[ost %give %nice ~]~ +>.$]
==
::
++ pull
|= ost=bone
^- [(list move) _+>]
?: ?=([* ~ ~] sup.hid)
:_ +>.$(pad.fal *@p, air ~)
%- ^zing %+ turn (~(tap by air))
|= [pax=path sta=station]
?~ sub.sta
~
:~ [u.sub.sta %pass radi-a/pax %g %nuke [[pad.fal /radio] our.hid]]
[u.sub.sta %pass radi-m/pax %g %nuke [[pad.fal /radio] our.hid]]
==
[~ +>.$]
::
++ took
|= [ost=bone pax=path imp=path moz=(list move)]
:_ +>.$
:_(moz [ost %pass pax %g %took [our.hid imp] our.hid])
::
++ pour
|= [ost=bone pax=path sih=*]
^- [(list move) _+>]
:: ~& sih=sih
=+ sih=((hard sign) sih)
?~ pax ~& %chat-pour-strange-path !!
:: ~& [%pour-mess pax]
?+ i.pax ~& %chat-pour-strange-path !!
%cmd-in
?- +<.sih
%nice [~ +>.$]
%mean [(send /out +.sih) +>.$]
?(%rush %rust)
?> ?=(%txt -.p.sih)
=^ moz +>.$ (exec-cmd ost p.p.sih)
(took ost pax +.imp.hid moz)
==
::
?(%mesg %priv)
?> ?=(?(%mean %nice) +<.sih)
[[ost %give +.sih]~ +>.$]
::
%private
?: ?=(?(%nice %mean) +<.sih)
[~ +>.$]
?> ?=(%rush +<.sih)
?> ?=(%zong -.p.sih)
(took ost pax /chat (print (zong-to-tank & p.p.sih)))
::
?(%radi-a %radi-m)
?: ?=(%nice +<.sih)
:_ +>.$
?: ?=(%radi-a i.pax) ~
[ost %give +.sih]~
?: ?=(%mean +<.sih)
:_ +>.$ :_ ~
=- ~& [%trying-again -] -
:* ost %pass pax %g %show
[pad.fal /radio] our.hid
?-(i.pax %radi-a %amigos, %radi-m %mensajes)
sat.fal
==
=+ ya=(grab t.pax)
=. ya
?- i.pax
%radi-a
%_ ya
ami
^- (set idad)
?- +<.sih
%rust ?>(?=(%users -.p.sih) (sa p.p.sih))
%rush
?> ?=(%user -.p.sih)
?- -.p.p.sih
%in (~(put by ami.ya) p.p.p.sih)
%out (~(del by ami.ya) p.p.p.p.sih)
==
==
==
%radi-m
%_ ya
msg
^- (list zong)
?- +<.sih
%rush ?>(?=(%zong -.p.sih) [p.p.sih msg.ya])
%rust ?>(?=(%zongs -.p.sih) p.p.sih)
==
==
==
=+ ^= pout ?:(=(i.pax %radi-a) %amigos %mensajes)
=. air (~(put by air) t.pax ya)
=+ mow=(send [pout t.pax] +.sih)
=< (took ost pax /radio mow)
:: =< [mow +>.$]
:: XX yes, I just used an inline comment
:: XX and multiple XX's. why? because
:: XX tmi is incredibly lame.
^+ .
?: =(%zong -.p.sih)
=+ zog=((hard zong) p.p.sih)
:: ?: &(=(our.hid q.zog) (~(has in sen) r.zog))
:: + :: suppress own messages
:: ?: &(=(our.hid q.zog) =(`r.zog ~(top to sen)))
:: %_(+ sen ^+(sen ~(nap to sen)))
%_ +
mow
(welp mow (print (zong-to-tank | zog)))
==
?: =(%zongs -.p.sih)
=+ zos=(scag 200 ((hard (list zong)) p.p.sih))
|- ^+ +>.$
?: =(~ zos) +>.$ :: XX tm freakin i
=+ zoy=((hard zong) -.zos)
=. +>.$ $(zos +.zos)
?: &(=(our.hid &3.zoy) (~(has in sen) &4.zoy))
+>.$
:: ?: &(=(our.hid &3.zoy) =(`&4.zoy ~(top to sen)))
:: %_(+>.$ sen `(qeu mess)`~(nap to sen))
%_ +>.$
mow
(welp mow (print (zong-to-tank | zoy)))
==
?: =(%user -.p.sih)
=+ use=((hard user) p.p.sih)
%_ +
mow
?: let.fal ~
%+ print %leaf
%+ weld
?: eth.fal "" (timestamp lat.hid)
%+ weld "{(iden p.p.use)} "
?- -.use
%in "comes on the air"
%out "signs off"
==
==
. :: XX users?
==
::
++ process-args
|= arg=(list chat-arg)
^- [? ? ? path ship]
%+ roll arg
=< .(|4.b (sein our.hid))
|= [a=chat-arg b=[? ? ? path ship]]
?- a
%time b(&1 |)
%monitor b(&2 |)
%quiet b(&2 &)
%noob b(&3 |)
%leet b(&3 &)
[%s *] b(&4 p.a)
[%tower *] b(|4 p.a)
==
::
++ print |=(a=tank (send /out %rush %tang [a]~))
++ send
|= [pax=path msg=gift]
^- (list move)
:: ~& [%send pus.hid]
%+ turn (~(tap in (~(get ju pus.hid) pax)))
|=(ost=bone [ost %give msg])
::
++ since
|= [ya=msg=(list zong) tim=@da]
|- ^- (list zong)
?: |(?=(~ msg.ya) (lth p.i.msg.ya tim)) ~
[i.msg.ya $(msg.ya t.msg.ya)]
::
++ spam
|= [pri=? zog=zong]
^- (list move)
%+ welp
(send /private %rush %zong zog)
%+ welp
(print (zong-to-tank pri zog))
%+ murn (~(tap by sup.hid))
|= [ost=bone her=ship pax=path]
?~ pax ~
?. ?=(%mensajes i.pax) ~
(some [ost %give %rush %zong zog])
::
++ timestamp
|= t=@da
=+ da=(yell t)
"{?:((gth 10 h.da) "0" "")}{(scow %ud h.da)}:".
"{?:((gth 10 m.da) "0" "")}{(scow %ud m.da)} "
::
++ zong-to-tank
|= [pri=? zog=zong]
^- tank
=+ pre=?.(pri "" "(private) ")
?- -.r.zog
%do
=+ mes=?:(=(0 p.r.zog) "remains quietly present" (trip p.r.zog))
:- %leaf
%+ weld
?: eth.fal "" (timestamp p.zog)
"{pre}{(iden q.zog)} {mes}"
::
%exp
:~ %rose
[" " "" ""]
:- %leaf
%+ weld
?: eth.fal "" (timestamp p.zog)
"{pre}{(iden q.zog)} {(trip p.r.zog)}"
q.r.zog
==
::
%say
:- %leaf
%+ weld
?: eth.fal "" (timestamp p.zog)
"{pre}{(iden q.zog)}: {(trip p.r.zog)}"
==
--

View File

@ -12,5 +12,5 @@ is a general-purpose computing stack designed to live in the cloud.
------------------------------------------------------------------------
If you're new to the system, take a look at some of the
[guides](doc/guide) to get oriented. Come join us on `:chat` to ask
questions and get help.
[guides](doc/guide) to get oriented. Come join us on `:talk` in the
`/urbit-meta` channel to ask questions and get help.

View File

@ -982,8 +982,8 @@ that, we handle the `/q/ge` and `/q/gh` cases for gall requests and
responses, respectively.
In both cases, we require the next term in the path to be the name of
the intended recipient `%gall` app. Thus, a message to `/q/ge/chat` for
example, will send a message to the chat app.
the intended recipient `%gall` app. Thus, a message to `/q/ge/talk` for
example, will send a message to the talk app.
We then send a message to the app itself. The message is either a
`%rote` or a `%roth` for a request and a response, respectively. The

View File

@ -1,14 +1,19 @@
XX The CLI is under heavy development with, with pieces being folded
into the "window manager" `sole` and the new cli `dojo`. Don't expect
any of the following to work as described.
This guide is intended to get you oriented in the Arvo command prompt
and give you a tour of some basic utilities. The command prompt comes in
two flavors, in a web browser and in a terminal. For the most part
they're the same, except that in a browser you can evaluate tall-form
Hoon expressions but you can't run readline apps, such as `:chat`.
Hoon expressions but you can't run readline apps, such as `:talk`.
Every Arvo command prompt is also a Hoon REPL. The command line is a
great place to test out your hoon knowledge. In this guide we're just
going to talk about some basic system utilities and get comfortable
moving around in `%clay`. If you'd just like to see a list of
command-line utilities, you can find the Arvo man pages [here]().
command-line utilities, you can find the Arvo man pages
[here](../arvo/util.md).
This rudimentary tour should work well in both places.
@ -96,37 +101,54 @@ Here you can see that our files are synced back to unix as they are
changed in urbit, and vice-versa. As you change files in unix you'll see
those changes appear in `%clay`.
my-pier/talsur-todres/$ ls main/app/
bang grep poke solid unsync
began hi radio sync verb
begin into reload talk ye
cat label reset terminal
chat ls rm test
cp mv shell ticket
my-pier/talsur-todres/$ cat main/app/ls/core.hook
my-pier/talsur-todres/$ ls base/app/
bang grep peek solid tweet
began helm poke sync twit
begin hi pope talk twitter-auth
cat into reboot tease twitter-feed
code label reload terminal type
cp ls reset test unsync
curl matrix rm ticket verb
dojo mv shell time wipe
gnab nop sole tree ye
my-pier/talsur-todres/$ cat base/app/ls/core.hook
:: ConCATenate file listings
::
:::: /hook/core/cat/app
::
/+ sh-utils
// /%%%/ls/subdir
!:
::::
::
|_ [hid=hide ~]
++ poke-ls-args
|= [ost=bone you=ship arg=path ~]
=+ lon=((hard arch) .^(%cy arg))
:_ +>.$
:* [ost %pass / %g %cide %$]
[ost %give %nice ~]
%+ turn (~(tap by sup.hid))
|= [ost=bone *]
:^ ost %give %rush
:- %tang
:_ ~
:+ %rose [" " ~ ~]
(turn (~(tap by r.lon) ~) |=([a=@ta b=*] leaf/(trip a)))
++ peer ,_`.
++ poke--args
%+ args-into-gate .
|= [arg=(list path)]
=- tang/(zing -)
%+ turn arg
|= pax=path
^- tang
=+ ark=;;(arch .^(%cy pax))
?^ q.ark
:- leaf/(spud pax)
%+ turn (lore ;;(@t .^(%cx pax)))
|=(a=cord leaf/(trip a))
?- r.ark :: handle ambiguity
~
[rose/[" " `~]^~[leaf/"~" (smyt pax)]]~
[[@t ~] ~ ~]
$(pax (welp pax /[p.n.r.ark]))
*
=- [palm/[": " ``~]^-]~
:~ rose/[" " `~]^~[leaf/"*" (smyt pax)]
`tank`(subdir pax r.ark)
==
==
++ peer
|=
*
`+>
--
Here you can see that `/main/app` is the main location where our apps
Here you can see that `/base/app` is the main location where our apps
are stored, and the contents of the `:ls` app. urbit applications are of
course written in hoon, our naitive programming language. Don't worry
about the contents of the file for now. Since changes in unix are synced

View File

@ -1,26 +0,0 @@
::
::
:::: /hook/hymn/fab/chat/pub/
::
^- manx
;html
;head
;meta(charset "utf-8");
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.js");
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js");
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/react/0.12.1/react.min.js");
;meta(name "viewport", content "width=432, initial-scale=1");
;script(type "text/javascript", src "//use.typekit.net/fkv0sjk.js");
;script:'''
try{Typekit.load();}catch(e){}
'''
;link(type "text/css", rel "stylesheet", href "/base/pub/radio/src/main.css");
;script(type "text/javascript", src "/gop/hart.js");
;title: Radio
==
;body
;div#c;
;script(type "text/javascript", src "/base/lib/urb.js");
;script(type "text/javascript", src "/base/pub/radio/src/main.js");
==
==

View File

@ -1,327 +0,0 @@
@font-face {
font-family: "bau";
src: url("https://s3-us-west-2.amazonaws.com/urbit/bauregular.otf");
font-weight: 400;
font-style: normal;
}
@font-face {
font-family: "bau";
src: url("https://s3-us-west-2.amazonaws.com/urbit/bauregularitalic.otf");
font-weight: 400;
font-style: italic;
}
@font-face {
font-family: "bau";
src: url("https://s3-us-west-2.amazonaws.com/urbit/baumedium.otf");
font-weight: 500;
font-style: normal;
}
@font-face {
font-family: "bau";
src: url("https://s3-us-west-2.amazonaws.com/urbit/baumediumitalic.otf");
font-weight: 500;
font-style: italic;
}
@font-face {
font-family: "bau";
src: url("https://s3-us-west-2.amazonaws.com/urbit/baubold.otf");
font-weight: 600;
font-style: normal;
}
@font-face {
font-family: "bau";
src: url("https://s3-us-west-2.amazonaws.com/urbit/baubolditalic.otf");
font-weight: 600;
font-style: italic;
}
.iden,
.time,
#length,
input.join,
.stations {
font-family: "source-code-pro";
}
input {
-webkit-appearance: none;
border-radius: 0;
}
html,
body {
height: 100%;
font-family: "bau";
}
#length,
.time {
font-size: 0.6rem;
letter-spacing: 0;
font-weight: 200;
}
input.join,
.stations,
.iden,
#station {
font-size: 0.7rem;
}
html,
body {
font-size: 18px;
}
body {
background-color: #fefefe;
padding: 0;
margin: 0;
}
.hidden {
display: none;
}
#c {
width: 66rem;
top: 0;
padding: 1rem 1rem 0 1rem;
background-color: #fff;
height: 100%;
}
#stations-container {
position: fixed;
top: 1rem;
left: 1rem;
width: 12rem;
}
#station-container {
position: fixed;
top: 1rem;
left: 54rem;
width: 12rem;
}
#stations-container,
#messages-container {
vertical-align: top;
}
#station {
width: 18rem;
}
#station .iden {
display: block;
}
.stations {
width: 4rem;
}
.station {
display: inline-block;
width: 9rem;
margin-bottom: 0.3rem;
cursor: pointer;
}
.station .name {
border-bottom: 2px solid transparent;
}
.station.selected .name {
font-weight: 600;
border-bottom: 2px solid #000;
}
.station > div {
display: inline;
}
.station .remove {
display: none;
float: right;
font-size: 0.8rem;
line-height: 1rem;
}
.station:hover .remove {
display: inline;
}
.join-ctrl {
margin-top: 1.2rem;
}
.join-ctrl input {
border: none;
}
.join-ctrl input::-webkit-input-placeholder {
font-weight: 200;
}
.join-ctrl input {
font-weight: 400;
}
.message {
margin-bottom: 0.2rem;
}
#messages .message:last-child {
margin-bottom: 2rem;
}
#messages .message .time {
opacity: 0;
}
#messages .message:last-child .time,
#messages .message:hover .time {
opacity: 1;
}
.time {
margin-right: 0.6rem;
}
.member {
width: 12rem;
margin: 0.3rem 0.6rem 0.3rem 0;
}
#messages {
height: auto;
}
.attr {
width: 9rem;
text-align: right;
margin-right: 2rem;
}
.mess,
.attr,
.iden,
.attr > div,
#station .member div,
#writing {
display: inline-block;
}
.iden > div {
display: inline;
}
.mess,
#writing,
#length {
vertical-align: top;
}
.mess {
font-size: 0.8rem;
letter-spacing: 0.03rem;
word-wrap: break-word;
max-width: 31rem;
}
.ship,
.name {
font-weight: 500;
}
.ship.talk:before {
content: "...";
margin-left: -1.3rem;
margin-right: 0.3rem;
width: 1rem;
margin-top: -0.4rem;
vertical-align: middle;
display: inline-block;
line-height: 0.2rem;
letter-spacing: -0.1rem;
}
#writing-container {
bottom: 4rem;
margin-bottom: 1rem;
}
#messages-container,
#writing-container {
margin-left: 12rem;
}
.writing #length {
display: inline;
margin-left: 1rem;
margin-top: 1.2rem;
}
#writing {
font-size: 0.8rem;
}
#writing,
input.join {
min-height: 1.2rem;
padding: 0.3rem 0.6rem;
margin-left: -0.6rem;
outline: none;
background-color: #f9f9f9;
}
#writing:focus,
input.join:focus {
background-color: #eee;
}
.pending {
color: #ccc;
}
#scrolling {
display: none;
}
.scrolling #scrolling {
position: fixed;
bottom: 3rem;
left: 2rem;
height: 1rem;
padding: 1rem;
height: 2rem;
background-color: #f9f9f9;
font-weight: 500;
font-size: 0.8rem;
text-transform: uppercase;
}
@media (max-width: 40rem) {
#c {
left: 0;
margin-left: 0;
width: 24rem;
}
#messages-container,
#writing-container {
margin-left: 1rem;
}
#stations-container,
#station-container {
position: relative;
float: left;
}
#stations-container {
width: 8rem;
}
#station-container {
left: auto;
}
.station {
width: 5rem;
}
.attr {
display: block;
text-align: left;
width: 2rem;
margin-right: 1rem;
}
.message {
height: 1.6rem;
}
.join-ctrl input,
.stations,
.iden,
#station {
font-size: 0.5rem;
}
.join-ctrl input {
width: 6rem;
}
.station .remove {
display: inline;
font-size: 0.6rem;
line-height: 0.6rem;
}
.ship.talk:before {
margin-left: -0.3rem;
margin-right: 0;
}
.attr {
width: 4rem;
}
.iden > div {
display: block;
}
.attr > .time {
display: none;
}
.mess {
max-width: 12rem;
margin-bottom: 1rem;
}
#writing {
max-width: 12rem;
}
#station {
width: 8rem;
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,29 +0,0 @@
prompts:
& broadcast message to station
~ship private message to ship
type the prompt, then the message. ex: to send to ~hoclur-bicrel, type
"~hoclur-bicrel hello mars". prompt changes are persistent.
actions:
@ send message in third person (irc /me)
# evaluate expression (ex: "#(add 2 2)")
other:
= show ships in current station
\\ 5 show recent backlog (last n messages)
\\ ~m5 show recent backlog (using @dr syntax)
\\ ~2014.7.4 show recent backlog (using @da syntax)
command-line parameters:
[%tower ~hoclur-bicrel] select haus server (default: ticketing ship)
[%s /mars] select a station (default: /)
%monitor display entrance and exit notices
%quiet do not display entrance and exit notices
%leet only display ship names
%noob display ship and textual names
%time display timestamps for messages
only one of %monitor and %quiet may be specfied. default behavior is %quiet.
only one of %leet and %noob may be specified. default behavior is %leet.

View File

@ -1,11 +0,0 @@
;html
;head
;title: Radio Tests
;script(type "text/javascript", src "//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js");
;script(type "text/javascript", src "/gep/hart.js");
==
;body
;script(type "text/javascript", src "/base/lib/urb.js");
;script(type "text/javascript", src "/base/pub/src/radio/main.js");
==
==

View File

@ -1,14 +0,0 @@
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"/Users/galen/Documents/Projects/urbit.tlon/chat/pub/src/radio/main.coffee":[function(require,module,exports){
$(function() {
return window.urb.subscribe({
appl: "radio",
path: "/"
}, function(err, res) {
console.log('updates');
return console.log(arguments);
});
});
},{}]},{},["/Users/galen/Documents/Projects/urbit.tlon/chat/pub/src/radio/main.coffee"]);

View File

@ -1,6 +1,6 @@
::
::
:::: /hook/hymn/fab/chat/pub/
:::: /hook/hymn/fab/talk/pub/
::
|%
++ cdnj

View File

@ -1,11 +1,11 @@
{
"name": "urbit-radio",
"name": "urbit-talk",
"version": "0.0.0",
"repository": {
"type":"git",
"url":"https://github.com/urbit/urbit"
},
"description": "urbit radio frontend",
"description": "urbit talk frontend",
"main": "main.js",
"dependencies": {
"coffeeify": "~0.7.0",