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 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 [guides](doc/guide) to get oriented. Come join us on `:talk` in the
questions and get help. `/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. responses, respectively.
In both cases, we require the next term in the path to be the name of 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 the intended recipient `%gall` app. Thus, a message to `/q/ge/talk` for
example, will send a message to the chat app. example, will send a message to the talk app.
We then send a message to the app itself. The message is either a 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 `%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 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 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 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 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 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 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 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 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. 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 changed in urbit, and vice-versa. As you change files in unix you'll see
those changes appear in `%clay`. those changes appear in `%clay`.
my-pier/talsur-todres/$ ls main/app/ my-pier/talsur-todres/$ ls base/app/
bang grep poke solid unsync bang grep peek solid tweet
began hi radio sync verb began helm poke sync twit
begin into reload talk ye begin hi pope talk twitter-auth
cat label reset terminal cat into reboot tease twitter-feed
chat ls rm test code label reload terminal type
cp mv shell ticket cp ls reset test unsync
my-pier/talsur-todres/$ cat main/app/ls/core.hook 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 ~] |_ [hid=hide ~]
++ poke-ls-args ++ peer ,_`.
|= [ost=bone you=ship arg=path ~] ++ poke--args
=+ lon=((hard arch) .^(%cy arg)) %+ args-into-gate .
:_ +>.$ |= [arg=(list path)]
:* [ost %pass / %g %cide %$] =- tang/(zing -)
[ost %give %nice ~] %+ turn arg
%+ turn (~(tap by sup.hid)) |= pax=path
|= [ost=bone *] ^- tang
:^ ost %give %rush =+ ark=;;(arch .^(%cy pax))
:- %tang ?^ q.ark
:_ ~ :- leaf/(spud pax)
:+ %rose [" " ~ ~] %+ turn (lore ;;(@t .^(%cx pax)))
(turn (~(tap by r.lon) ~) |=([a=@ta b=*] leaf/(trip a))) |=(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 are stored, and the contents of the `:ls` app. urbit applications are of
course written in hoon, our naitive programming language. Don't worry 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 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 ++ cdnj

View File

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