frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

The Emacs Widget Toolkit

https://appetrosyan.github.io/posts/emacs-widget.html
48•signa11•7mo ago

Comments

spit2wind•7mo ago
There's also the Emacs Widget Library[1] (which I hoped this posted would be about). It's a plain text widget library that's quite powerful. Unfortunately (and surprisingly for Emacs), the documentation for it could use some love.

My understanding of the Widget Library is that it attaches various keywords and plists to a symbol which is considered the "widget". The library otherwise consists of functions that expect certain keywords on the "widget" symbol in order to perform actions or to be drawn on the screen.

The challenge is, the documentation doesn't clearly lay out what the keyword API is. This makes it hard to compose widgets in ways beyond what's shown in the docs.

[1] https://www.gnu.org/software/emacs/manual/html_mono/widget.h...

appetrosyan•7mo ago
The idea is that we extend that and give it direct access to SDL. Such that we can e.g. run a shader in the buffer background, or allow you to have floating windows (frames) interacting with each other.

I am very aware of the advantages conferred by TUI and I seek to expand those to the GUI; not dumb-down to the level of modern GUI toolkits (that to be fair are dealing with a completely different problem). Hopefully, this can lead to some ideas being easier to implement from within Emacs.

_mlbt•7mo ago
Somewhat off topic, but I love all the references to Led Zeppelin’s incredible song, Stairway to Heaven.
gudzpoz•7mo ago
Personally, and contrary to the article, I do prefer Emacs's plain text widgets over more "GUI-like" ones. Plain text widgets minimize the differences between TUI and GUI Emacs and also inherently offer text selection, searching, copying, and pasting, which nicely integrates with Emacs. I mean, not many GUI frameworks let you place a cursor within a button and select its text, do they? I believe this is a unique advantage of text-based widgets: while other GUI applications require a dedicated mechanism for searching through their settings, text-based widgets allow you to use any text-searching packages to perform these actions.

Reading through the article, the author seems to be hoping for a pure GUI approach with Emacs-like navigation mechanisms, but I am not convinced that this can be as flexible as text-based widgets. However, for packages used exclusively within a GUI environment (like el-easydraw [1], which relies quite heavily on SVG-based widgets), it would be nice to have a dedicated GUI widget library.

(There was a discussion on Reddit about this a week ago [2], and I saw some comments defending GTK and PGTK that might be worth reading.)

[1] https://github.com/misohena/el-easydraw/

[2] https://www.reddit.com/r/emacs/comments/1kcgwme/the_emacs_wi...

appetrosyan•7mo ago
Author of the article.

This is what I was referring to when I talked about "rich verbs".

Many people feel that way. The idea here is not to tell you that you're wrong, but understand what you want and do it better on the GUI side. TUIs can do a lot and we should recognise their benefits. GUIs can do that too, and can sometimes do better things.

The text-based widgets done graphically do the trick. We can add stuff that can't be done in a TUI and see if they give you anything useful. If it can be done with text widgets means that it can be done in principle. GTK can't do it, and that's why I'm leaving it behind.

> (There was a discussion on Reddit about this a week ago [2], and I saw some comments defending GTK and PGTK that might be worth reading.)

The author of those comments abused their power on reddit. I will not get into the weeds, just say that I'd be happy to respond to the critique presented here in good faith.

robobro•7mo ago
Why did you delete the page?
appetrosyan•7mo ago
Didn't. I migrated to `hugo` and it trims off the `.html` at the end. The permalink is the same.
matt-attack•7mo ago
I agree and only use emacs in the console and love it. With the advent of lsp modes and real time typescript and linting it’s fantastic. But one thing I don’t like about the console is when LSP mode is giving you an in-line error on the right side of the terminal it’s wrapped and beautifully interspersed amongst your code, but it’s impossible to select multi line errors in order to paste into tools like ChatGPT. Since selecting the error, also selects your code on the left side.

Anyone have a good solution to this ?

LargoLasskhyfv•7mo ago
PSA: Use The Lucid Toolkit https://irreal.org/blog/?p=12672

https://old.reddit.com/r/emacs/comments/1hlj04t/emacs_using_...

appetrosyan•7mo ago
That's the best thing to do for the moment.
robobro•7mo ago
404

Page Not Found

Sorry, this page does not exist.

You can head back to the homepage.

appetrosyan•7mo ago
Hi. I just migrated my blog to Hugo yesterday. The correct link is:

https://appetrosyan.github.io/posts/emacs-widget/

Show HN: Here Be Shovels – a calm supply depot for indie makers and AI builders

https://www.herebeshovels.com/
1•anticlickwise•31s ago•0 comments

MongoBleed: MongoDB Unauthenticated Memory Leak Exploit

https://github.com/joe-desimone/mongobleed
1•nailer•1m ago•1 comments

Everyone at the company should be using Claude Code and GitHub

https://twitter.com/obie/status/2005689332976271459
1•obiefernandez•1m ago•0 comments

Can we make Security Empirical, and why might we want to?

https://www.fightforthehuman.com/empirical-security/
1•adrianhoward•3m ago•0 comments

Unstract: Open-source platform to ship document extraction APIs/MCPs in minutes

https://github.com/Zipstack/unstract
1•naren87•6m ago•0 comments

Five Years of Tinygrad

https://geohot.github.io//blog/jekyll/update/2025/12/29/five-years-of-tinygrad.html
2•iyaja•7m ago•0 comments

Minnesota Daycare Fraud Tied to Waltz

https://www.foxnews.com/politics/misspelled-learning-center-no-children-inside-emmer-presses-walz...
2•Geonode•12m ago•0 comments

Building a Storage Engine That Outperforms RocksDB

https://tidesdb.com/articles/what-i-learned-building-a-storage-engine-that-outperforms-rocksdb/
1•mau•13m ago•0 comments

4dev.com Unveils Funding Hub, Simplifying Cross-Border Investment in Startups

2•darius88•14m ago•0 comments

CD Projekt and GOG Co-Founder Michał Kiciński Acquires GOG from CD Projekt

https://www.gamingonlinux.com/2025/12/cd-projekt-and-gog-co-founder-micha-kicinski-acquires-gog-f...
1•embedding-shape•14m ago•0 comments

26 Useful Concepts for 2026

https://www.gurwinder.blog/p/26-useful-concepts-for-2026
1•paulpauper•15m ago•0 comments

PhDs Can't Find Work as Boston's Biotech Engine Sputters

https://www.wsj.com/tech/biotech/ph-d-s-cant-find-work-as-bostons-biotech-engine-sputters-729f0036
2•nradov•15m ago•0 comments

Not 1% better every day

https://jaylol.com/2025/10/09/one-percent-every-day/
1•marifjeren•16m ago•0 comments

Vajont Dam

https://en.wikipedia.org/wiki/Vajont_Dam
1•vinnyglennon•17m ago•0 comments

When to Graduate from College?

https://arnoldkling.substack.com/p/when-to-graduate-from-college
1•paulpauper•18m ago•0 comments

Ten things that are going right in America

https://www.noahpinion.blog/p/ten-things-that-are-going-right-in
2•paulpauper•18m ago•0 comments

The Year of the 3D Printed Miniature (and Other Lies We Tell Ourselves)

https://matduggan.com/the-year-of-the-3d-printed-miniature-and-other-lies-we-tell-ourselves/
1•sagacity•22m ago•0 comments

You spin me right round (like a Wi-Fi identifier)

https://sixcolors.com/post/2025/12/you-spin-me-right-round-like-a-wi-fi-identifier/
2•xngbuilds•23m ago•0 comments

Spacetime as a Neural Network

https://benr.build/blog/autodidactic-universe
1•bisonbear•24m ago•0 comments

Neuroscientists used Hollywood films to map out the human experience

https://nin.nl/news/how-neuroscientists-used-hollywood-films-to-map-out-the-human-experience/
1•giuliomagnifico•25m ago•0 comments

Feasibility of Using Mealworms as an Alternative Protein Source

https://www.mdpi.com/2304-8158/14/23/4068
1•PaulHoule•29m ago•0 comments

OnlyFans is no longer accessible in China

https://www.cnn.com/2024/12/05/tech/china-onlyfans-accessible-hnk-intl
4•A4ET8a8uTh0_v2•30m ago•0 comments

Show HN: Object – A universal file storage system

https://github.com/metorial/object-storage
2•tobihrbr•31m ago•0 comments

Third Parties and Single Points of Failure

https://calendar.perfplanet.com/2025/third-parties-and-single-points-of-failure/
1•zdw•32m ago•0 comments

I Fixed My Coworker's Alignment Problem

https://hallofdreams.org/posts/i-fixed-my-coworkers-alignment-problem/
2•TheCog•34m ago•0 comments

Survey State of Angel Investing in AI 2026

https://docs.google.com/forms/d/e/1FAIpQLSd-ZWu5aLr6BuJELfXVI9q0QmH-Nr1f4SZ3e8DCc3haMCGoWw/viewform
1•Patrick_Mebus•34m ago•0 comments

Show HN: Splat, an Affinity Diagramming Tool in a Single HTML File

https://github.com/ianarawjo/splat
1•fatso784•34m ago•0 comments

PostTrainBench: Measuring how well AI agents can post-train language models

https://posttrainbench.com/
1•frozenseven•34m ago•0 comments

Categorizing Package Registries

https://nesbitt.io/2025/12/29/categorizing-package-registries.html
1•zdw•35m ago•0 comments

Share Your Best Use Cases for Termux (2024)

https://old.reddit.com/r/termux/comments/1h3xfd7/share_your_best_use_cases_for_termux/
2•sipofwater•35m ago•1 comments