mastodon.world is one of the many independent Mastodon servers you can use to participate in the fediverse.
Generic Mastodon server for anyone to use.

Server stats:

8.1K
active users

#textual

3 posts3 participants0 posts today
matt wilkie<p>Today's <a href="https://vmst.io/tags/1p4floss" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>1p4floss</span></a> raindrop is for <span class="h-card" translate="no"><a href="https://mastodon.social/@willmcgugan" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>willmcgugan</span></a></span> . Rich (and click) have made my kludgy cli scripts bearable to me, sometimes pleasurable. <a href="https://vmst.io/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a> inspires greatly even if I haven't finished anything with it yet. I expect Toad 🐸 will be similarly rejuvenating when it grows out of the tadpole pond.</p>
Will McGugan<p>I've been working on a process output widget for Toad. It can now handle color and other ANSI escape sequences.</p><p>The goal is to be able to embed process output that can handle progress bars and other fancier output from terminals.</p><p>Made good progress today. It can handle a colorful mandlebrot set! Once I talked the LLM in to it.</p><p>WDYT?</p><p><a href="https://mastodon.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://mastodon.social/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a></p>
🅺🅸🅼 🆂🅲🅷🆄🅻🆉:~$ ▓Tester ny app
Joseph Nuthalapati :fbx:<p>Guess who discovered Python "textual" TUI framework today! :blobaww: <br><a href="https://textual.textualize.io/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">textual.textualize.io/</span><span class="invisible"></span></a></p><p>I tried creating an interactive mode for freedom-maker.</p><p>$ python3 -m freedom-maker --interactive</p><p>is the command to trigger it.</p><p>There's even a Select All feature. One trigger to do all the new stable builds once Debian 13 is out this month!</p><p>Note: This is not in the package yet, it's just an experiment.</p><p>More details in each screenshot below.</p><p><a href="https://social.masto.host/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a> <a href="https://social.masto.host/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://social.masto.host/tags/TUI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>TUI</span></a> <a href="https://social.masto.host/tags/FreedomBox" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>FreedomBox</span></a></p>
mr_daemon<p>I think I finally coerced Textual into making this dashboard grid reactive.</p><p>It resizes itself, changes the number of columns, is scrollable...</p><p>It sounds easy but it isn't? Textual Grids are really meant to just fill the entire space as layout elements, and TCSS doesn't have many reactive things, so I just kind of have an `on_resize` hook in the python code that dynamically changes the values, but hey it works!</p><p><a href="https://untrusted.website/tags/textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>textual</span></a> <a href="https://untrusted.website/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://untrusted.website/tags/exosphere" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>exosphere</span></a></p>
Ian Rogers<p>My daughter has been working on flame graph visualizations in the terminal using <a href="https://fosstodon.org/tags/textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>textual</span></a> for perf. Picture below and link to the patch series:<br><a href="https://lore.kernel.org/lkml/20250725082425.20999-1-irogers@google.com/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">lore.kernel.org/lkml/202507250</span><span class="invisible">82425.20999-1-irogers@google.com/</span></a></p>
Jason Weatherly<p>Got the initial dice rolling implementation in the <a href="https://social.linux.pizza/tags/Pathfinder2E" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Pathfinder2E</span></a> character sheet. Not the prettiest, but it works pretty damned well. `[Ctrl] + [D]` to open the dialog window, `[Esc]` to close, and `[Enter]` rolls the dice.</p><p><a href="https://social.linux.pizza/tags/programming" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>programming</span></a> <a href="https://social.linux.pizza/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://social.linux.pizza/tags/textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>textual</span></a> <a href="https://social.linux.pizza/tags/ttrpg" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ttrpg</span></a></p>
Nichlas<p>Just got Mchael Driscoll's (<span class="h-card" translate="no"><a href="https://mastodon.social/@driscollis" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>driscollis</span></a></span>) new book "Creating TUI applications with Textual and Python".</p><p>Excited to get started. I think I'm going to try to make some fake interfaces, like the ones seen in John Wick or Fantastic 4.</p><p><a href="https://fosstodon.org/tags/tui" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>tui</span></a> <a href="https://fosstodon.org/tags/textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>textual</span></a> <a href="https://fosstodon.org/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://fosstodon.org/tags/RetroFuture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>RetroFuture</span></a></p>
pvergain (kolektiva)<p>- <a href="https://willmcgugan.github.io/announcing-toad/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">willmcgugan.github.io/announci</span><span class="invisible">ng-toad/</span></a> (2025-07-23, Announcing Toad - a universal UI for agentic coding in the terminal, by <a href="https://willmcgugan.github.io/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">willmcgugan.github.io/</span><span class="invisible"></span></a>, <span class="h-card" translate="no"><a href="https://mastodon.social/@willmcgugan" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>willmcgugan</span></a></span>)</p><p>--&lt;--<br>I’m a little salty that neither Anthropic nor Google reached out to me before they released their terminal-based AI coding agents.</p><p>You see until recently I was the CEO of Textualize, a startup promoting rich applications for the terminal. Textualize didn’t make it as a company, but I take heart that we built something amazing. There is now a thriving community of folk building TUIs that I am still a part of.</p><p>So you will understand why when I finally got round to checking out Claude code and Gemini CLI, I was more interested in the terminal interface than the AI magic it was performing. And I was not impressed. Both projects suffer from jank and other glitches inherent to terminals that Textualize solved years ago.</p><p>....</p><p>I’m currently taking a year’s sabbatical. When Textualize wrapped up I genuinely thought I was sick of coding, and I would never gain be able to find joy in building things. I’m happy to be wrong about that. I still enjoy coding, and Toad feels like the perfect hobby project for my very particular set of skills. Something I can build while continuing to focus on my physical and mental health (running a startup is taxing).</p><p>So I am going to build it.</p><p>I am building it.</p><p>Here’s a quick video of Toad in its current state: <a href="https://www.youtube.com/watch?v=EKsCS54xduo" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=EKsCS54xdu</span><span class="invisible">o</span></a></p><p>What I have in mind is a universal front-end for AI in the terminal. This includes both AI chat-bots and agentic coding. The architecture I alluded to earlier is that the front-end built with Python and Textual connects to a back-end subprocess. The back-end handles the interactions with the LLM and performs any agentic coding, while the front-end provides the user interface. The two sides communicate with each other by sending and receiving JSON over stdout and stdin.</p><p>...</p><p>Toad isn’t quite ready for a public release. It remains a tadpole for now, incubating in a private repository. But you know I’m all about FOSS, and when its ready for a public beta I will release Toad under an Open Source license.</p><p>With a bit of luck, this sabbatical needn’t eat in to my retirement fund too much. If it goes well, it may even become my full-time gig.</p><p>I will shortly invite a few tech friends and collaborators to the project. These things can’t be the work of a single individual and I am going to need feedback as I work. If you would like to be a part of that, then feel free to reach out. But please note, I would like to prioritize folk in the Open Source community who have potentially related projects.</p><p>For everyone else, I will be posting updates regularly here and on my socials (link at the bottom of the page). Expect screenshots, videos, and long form articles. Please be patient—you will be agentic toading before too long.</p><p>Looking for markdown streaming? : <a href="https://willmcgugan.github.io/streaming-markdown/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">willmcgugan.github.io/streamin</span><span class="invisible">g-markdown/</span></a> (Efficient streaming of Markdown in the terminal) <br>--&gt;--</p><p><a href="https://kolektiva.social/tags/CLI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>CLI</span></a> <a href="https://kolektiva.social/tags/Terminal" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Terminal</span></a> <a href="https://kolektiva.social/tags/python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>python</span></a> <a href="https://kolektiva.social/tags/textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>textual</span></a> <a href="https://kolektiva.social/tags/WillMcGugan" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>WillMcGugan</span></a> <a href="https://kolektiva.social/tags/Toad" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Toad</span></a> <a href="https://kolektiva.social/tags/markdown" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>markdown</span></a></p>
mr_daemon<p>The "joy" of implementing a feature in your modal TUI program that flags inactive screens for refresh on resume depending on data changes, and not being sure if you made this because you don't understand the events API or if it was truly needed.</p><p>The world shall never know</p><p><a href="https://untrusted.website/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://untrusted.website/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a></p>
LLMsTextual v4.0.0: The Streaming Release Textual v4.0.0: The Streaming Release Will McGugan may no longer be running a commercial company around Textual, but that hasn't stopped his progress on th...<br><br><a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/async" target="_blank">#async</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/python" target="_blank">#python</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/markdown" target="_blank">#markdown</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/ai" target="_blank">#ai</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/will-mcgugan" target="_blank">#will-mcgugan</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/generative-ai" target="_blank">#generative-ai</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/llms" target="_blank">#llms</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/textual" target="_blank">#textual</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/llm" target="_blank">#llm</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/uv" target="_blank">#uv</a><br><br><a href="https://simonwillison.net/2025/Jul/22/textual-v4/#atom-everything" rel="nofollow noopener" target="_blank">Origin</a> | <a href="https://awakari.com/sub-details.html?id=LLMs" rel="nofollow noopener" target="_blank">Interest</a> | <a href="https://awakari.com/pub-msg.html?id=EU9NSbD0qLgoRAQN4XpAIK62T0y&amp;interestId=LLMs" rel="nofollow noopener" target="_blank">Match</a>
LLMsTextual v4.0.0: The Streaming Release Textual v4.0.0: The Streaming Release Will McGugan may no longer be running a commercial company around Textual, but that hasn't stopped his progress on th...<br><br><a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/async" target="_blank">#async</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/python" target="_blank">#python</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/markdown" target="_blank">#markdown</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/ai" target="_blank">#ai</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/will-mcgugan" target="_blank">#will-mcgugan</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/generative-ai" target="_blank">#generative-ai</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/llms" target="_blank">#llms</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/textual" target="_blank">#textual</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/llm" target="_blank">#llm</a> <a rel="nofollow noopener" class="mention hashtag" href="https://mastodon.social/tags/uv" target="_blank">#uv</a><br><br><a href="https://simonwillison.net/2025/Jul/22/textual-v4/#atom-everything" rel="nofollow noopener" target="_blank">Origin</a> | <a href="https://awakari.com/sub-details.html?id=LLMs" rel="nofollow noopener" target="_blank">Interest</a> | <a href="https://awakari.com/pub-msg.html?id=0FciKKGSdvZFiXnnDtZHUxeQkb2&amp;interestId=LLMs" rel="nofollow noopener" target="_blank">Match</a>
Will McGugan<p>I've been working on streaming Markdown documents in <a href="https://mastodon.social/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a>, which is a challenge to be sure!</p><p>It's working remarkably well now, and very performant. Even zooming out to a ridiculous extent as you can see in the video.</p><p>Also made the tables prettier, and in the process enabled text selection within the tables.</p>
Will McGugan<p>Added a little more polish...</p><p><a href="https://mastodon.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://mastodon.social/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a> <a href="https://mastodon.social/tags/AI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AI</span></a></p>
Will McGugan<p>The day before treason day (jk) is a terrible time to announce anything, so consider this a teaser.</p><p>I've spend the last two afternoons hacking on an experimental terminal UI for a AI coding agent called Toad 🐸</p><p>Will be posting more soon. Follow me if you aren't already!</p><p>Here's a video of it in action:</p><p>Note that this is a real app, but the AI interaction are mocked. WDYT? Should I make this real?</p><p><a href="https://www.youtube.com/watch?v=cuVRs7e1BqM&amp;ab_channel=WillMcGugan" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=cuVRs7e1Bq</span><span class="invisible">M&amp;ab_channel=WillMcGugan</span></a></p><p><a href="https://mastodon.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://mastodon.social/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a> <a href="https://mastodon.social/tags/AI" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>AI</span></a></p>
Will McGugan<p>The day before treason day (jk) is a terrible time to announce anything, so consider this a teaser. I've spend the last two afternoons hacking on an experimental terminal UI for a AI coding agent called Toad 🐸 Will be posting more soon. Follow me if you aren't already! <a class="hashtag" rel="nofollow noopener" href="https://bsky.app/search?q=%23Python" target="_blank">#Python</a> <a class="hashtag" rel="nofollow noopener" href="https://bsky.app/search?q=%23Textual" target="_blank">#Textual</a> <a class="hashtag" rel="nofollow noopener" href="https://bsky.app/search?q=%23AI" target="_blank">#AI</a><br><br><a href="https://www.youtube.com/watch?v=cuVRs7e1BqM&amp;ab_channel=WillMcGugan" rel="nofollow noopener" target="_blank">Toad</a></p>
mr_daemon<p>I think my little patch reporting and dashboard tool for unix systems is Feature Complete at this point. It has both a rich CLI with its own REPL, and a pretty TUI, and both can be used at the same time.</p><p>All that remains is some cleanup in regard to authentication for scenarios that aren't "everything uses the same account on every system in sudoers with nopasswd and ssh agents everywhere", and writing a shitton of documentation for everything.</p><p>Hopefully I can Not Procrastinate for Six Weeks(tm) and release it soon.</p><p><a href="https://untrusted.website/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://untrusted.website/tags/exosphere" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>exosphere</span></a> <a href="https://untrusted.website/tags/HomeLab" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HomeLab</span></a> <a href="https://untrusted.website/tags/linux" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>linux</span></a> <a href="https://untrusted.website/tags/freebsd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>freebsd</span></a> <a href="https://untrusted.website/tags/textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>textual</span></a></p>
mr_daemon<p>Oh no my bullshit is getting slicker by the minute, this is terrifying and I can't stop.</p><p><a href="https://untrusted.website/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://untrusted.website/tags/HomeLab" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HomeLab</span></a> <a href="https://untrusted.website/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a></p>
Will McGugan<p>Today's keeping busy task... *drum roll please*</p><p>Save time with <a href="https://mastodon.social/tags/Textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Textual</span></a> containers.</p><p><a href="https://textual.textualize.io/how-to/work-with-containers/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">textual.textualize.io/how-to/w</span><span class="invisible">ork-with-containers/</span></a></p><p><a href="https://mastodon.social/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a></p>
mr_daemon<p>Oh no, for some reason I started making a stupid modal TUI for my nice little tool that does reporting on updates, and now I can't stop.</p><p>DO I EVEN NEED THIS AT THIS POINT? I have a super nice interactive prompt that does pretty tables and data display, but I can't stop.</p><p><a href="https://untrusted.website/tags/Python" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Python</span></a> <a href="https://untrusted.website/tags/HomeLab" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>HomeLab</span></a> <a href="https://untrusted.website/tags/textual" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>textual</span></a></p>