Auto-join #nosterm on startup; add mission/roadmap; chat-window banner
ci / build (pull_request) Successful in 1m1s
ci / image (pull_request) Skipped

This commit is contained in:
Robert Goodall
2026-07-25 08:17:20 -04:00
parent cd2b900639
commit dd388061d1
8 changed files with 161 additions and 33 deletions
+77 -25
View File
@@ -1,8 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" width="820" height="240" viewBox="0 0 820 240" role="img" aria-label="Nosterm — a terminal-style Nostr chat application">
<title>Nosterm — a terminal-style Nostr chat application</title>
<svg xmlns="http://www.w3.org/2000/svg" width="820" height="320" viewBox="0 0 820 320" role="img" aria-label="Nosterm — a terminal-style Nostr chat window with user and relay lists">
<title>Nosterm — a terminal-style Nostr chat window with user and relay lists</title>
<!-- Nord palette: bg #2e3440, surface #3b4252, frame #434c5e,
cyan #88c0d0, snow #eceff4, comment #616e88, green #a3be8c -->
<!-- Nord palette: bg #2e3440, surface #3b4252, frame #434c5e, muted #4c566a,
comment #616e88, snow #d8dee9/#eceff4, frost #81a1c1/#88c0d0,
aurora red #bf616a, yellow #ebcb8b, green #a3be8c, purple #b48ead -->
<defs>
<linearGradient id="bg" x1="0" y1="0" x2="0" y2="1">
<stop offset="0" stop-color="#3b4252" />
@@ -11,34 +12,85 @@
</defs>
<!-- outer canvas -->
<rect width="820" height="240" rx="14" fill="#2e3440" />
<rect width="820" height="320" rx="14" fill="#2e3440" />
<!-- terminal window -->
<rect x="40" y="34" width="740" height="172" rx="10" fill="url(#bg)" stroke="#434c5e" stroke-width="1.5" />
<!-- chat window -->
<rect x="30" y="26" width="760" height="268" rx="10" fill="url(#bg)" stroke="#434c5e" stroke-width="1.5" />
<!-- title bar -->
<rect x="40" y="34" width="740" height="34" rx="10" fill="#434c5e" />
<rect x="40" y="58" width="740" height="10" fill="#434c5e" />
<circle cx="64" cy="51" r="5.5" fill="#bf616a" />
<circle cx="84" cy="51" r="5.5" fill="#ebcb8b" />
<circle cx="104" cy="51" r="5.5" fill="#a3be8c" />
<text x="410" y="55" text-anchor="middle" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" fill="#616e88">nosterm — /home/you</text>
<rect x="30" y="26" width="760" height="34" rx="10" fill="#434c5e" />
<rect x="30" y="50" width="760" height="10" fill="#434c5e" />
<circle cx="54" cy="43" r="5.5" fill="#bf616a" />
<circle cx="74" cy="43" r="5.5" fill="#ebcb8b" />
<circle cx="94" cy="43" r="5.5" fill="#a3be8c" />
<text x="410" y="47" text-anchor="middle" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" font-size="13" fill="#616e88">nosterm — #general</text>
<!-- sidebar divider -->
<line x1="598" y1="60" x2="598" y2="294" stroke="#434c5e" stroke-width="1.5" />
<!-- terminal body -->
<g font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace">
<!-- wordmark: prompt + name -->
<text x="70" y="126" font-size="46" font-weight="700" fill="#88c0d0">&gt;_</text>
<text x="152" y="126" font-size="46" font-weight="700" fill="#eceff4">nosterm</text>
<!-- ===== chat transcript ===== -->
<g font-size="13">
<!-- msg 1 -->
<text x="50" y="92" fill="#616e88">09:42</text>
<text x="104" y="92" fill="#88c0d0">@satoshi</text>
<text x="190" y="92" fill="#d8dee9">gm — anyone on a home relay?</text>
<!-- msg 2 -->
<text x="50" y="120" fill="#616e88">09:43</text>
<text x="104" y="120" fill="#a3be8c">@you</text>
<text x="190" y="120" fill="#d8dee9">yeah: ws://localhost/relay</text>
<!-- msg 3 -->
<text x="50" y="148" fill="#616e88">09:44</text>
<text x="104" y="148" fill="#ebcb8b">@nostrich</text>
<text x="190" y="148" fill="#d8dee9">clean. nostr, in a terminal.</text>
<!-- msg 4 -->
<text x="50" y="176" fill="#616e88">09:45</text>
<text x="104" y="176" fill="#b48ead">@hodl</text>
<text x="190" y="176" fill="#d8dee9">/theme nord</text>
<text x="286" y="176" fill="#a3be8c"></text>
<!-- msg 5 -->
<text x="50" y="204" fill="#616e88">09:46</text>
<text x="104" y="204" fill="#88c0d0">@satoshi</text>
<text x="190" y="204" fill="#d8dee9">🔥 no backend, just relays</text>
<!-- msg 6 -->
<text x="50" y="232" fill="#616e88">09:47</text>
<text x="104" y="232" fill="#a3be8c">@you</text>
<text x="190" y="232" fill="#d8dee9">signed &amp; broadcast. gg</text>
</g>
<!-- tagline as a shell comment -->
<text x="72" y="162" font-size="16" fill="#616e88"># a terminal-style Nostr chat client + home relay</text>
<!-- a sample command line -->
<text x="72" y="190" font-size="16" fill="#a3be8c">$</text>
<text x="92" y="190" font-size="16" fill="#d8dee9">/join</text>
<text x="150" y="190" font-size="16" fill="#88c0d0">#general</text>
<rect x="238" y="177" width="9" height="17" fill="#88c0d0">
<!-- input line -->
<line x1="46" y1="256" x2="566" y2="256" stroke="#434c5e" stroke-width="1" />
<text x="50" y="282" font-size="15" fill="#88c0d0">&gt;</text>
<text x="68" y="282" font-size="15" fill="#eceff4">/msg #general </text>
<rect x="200" y="270" width="8" height="16" fill="#88c0d0">
<animate attributeName="opacity" values="1;1;0;0" dur="1.1s" repeatCount="indefinite" />
</rect>
<!-- ===== sidebar: users ===== -->
<text x="618" y="88" font-size="11" letter-spacing="1.5" fill="#616e88">USERS · 4</text>
<g font-size="13">
<circle cx="624" cy="110" r="4" fill="#a3be8c" />
<text x="640" y="114" fill="#d8dee9">satoshi</text>
<circle cx="624" cy="134" r="4" fill="#a3be8c" />
<text x="640" y="138" fill="#d8dee9">nostrich</text>
<circle cx="624" cy="158" r="4" fill="#88c0d0" />
<text x="640" y="162" fill="#88c0d0">you</text>
<circle cx="624" cy="182" r="4" fill="#4c566a" />
<text x="640" y="186" fill="#616e88">hodl</text>
</g>
<!-- sidebar divider between sections -->
<line x1="614" y1="204" x2="774" y2="204" stroke="#434c5e" stroke-width="1" />
<!-- ===== sidebar: relays ===== -->
<text x="618" y="228" font-size="11" letter-spacing="1.5" fill="#616e88">RELAYS · 3</text>
<g font-size="12">
<circle cx="624" cy="250" r="4" fill="#a3be8c" />
<text x="640" y="254" fill="#d8dee9">relay.damus.io</text>
<circle cx="624" cy="272" r="4" fill="#a3be8c" />
<text x="640" y="276" fill="#d8dee9">nos.lol</text>
<circle cx="624" cy="290" r="4" fill="#bf616a" />
<text x="640" y="294" fill="#616e88">relay.snort.social</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB