this post was submitted on 09 Apr 2025
30 points (87.5% liked)

Linux

53032 readers
372 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I did some searching and many users recommend Rofi but looking at man rofi-script it seems to just be a list picker. You pick something from the a list and only one thing runs. On Alfred and Raycast you can have interactive extensions which are essentially keyboard navigable UIs.

  • One example looking at the Alfred workflow gallery is Reddit Browser, where you select a subreddit from a list and then it shows of lists of posts, you can press cmd enter to go back & select another subreddit.
  • Another one lets you ask questions for chatgpt and shows answers right in the launcher (I'm not necessarily looking for AI extensions).
  • This Raycast extension lets you search and create Notion pages.
top 9 comments
sorted by: hot top controversial new old
[–] [email protected] 11 points 4 days ago (1 children)

This almost certainly doesn't help you, but I do this kind of interactive-computing-in-a-consistent-interface with Emacs.

Emacs has modes (think, extensions) to do all those things and more.

It can also be a global application (/arbitrary function) launcher as demonstrated in this post.

The only problem is you have to give Emacs your heart, or it won't work.

[–] [email protected] 2 points 3 days ago* (last edited 3 days ago) (2 children)

I've done lots of searching and Reddit comments about what makes Emacs so appealing. I think Emacs users like the specific ecosystem and things it offers and they put in the work to tailor it for them. Consistently is one thing I hear. Tell me ur thoughts.

I don't find anything appealing about it over Neovim + TUIs and keyboard navigation in GUI apps, including hints: https://github.com/AlfredoSequeida/hints.

[–] [email protected] 7 points 3 days ago* (last edited 3 days ago) (1 children)

Well, I started using Emacs because I was feeling limited by my Vim+Tmux-based workflow. Like you've heard from others, what convinced me was the consistency in interface, and the composability that enables.

Everything is a text buffer. When the text is drawn to screen, it might be resized, colored, hidden, replaced with images, etc, but it's all still just text. Because of that consistency of medium, all your interactions boil down to manipulations of that text.

What's important isn't the verbatim text, but what the text represents. It could be code (symbol, function, library, in any language, literately), prose (word, sentence, paragraph, or whole book), a file or directory, a button, a list, a foldable outline, a process, a container, a game tile, a typo, a secret, a git object, a pull request, the string you're looking for, a definition, a chat message, an RSS feed/item, a web page, etc...

Each of those has a mode (or modes) that makes interacting with those objects in a semantically meaningful way both efficient and composable (to varying degrees).

That's why Emacs devotees try to do everything in Emacs. Leaving Emacs means leaving that consistency and semantic expressiveness behind. In a CLI shell, yes everything is text, but it's comparatively raw. The best you can do is define variables and color it. TUIs bridge the semantic-meaning gap, but aren't composable with each other. (Same with GUIs, but because of administering remote systems I avoided them when possible.) You can't add functionality to htop without recompiling the whole thing. You can't pipe ncdu's results to rsync. Emacs is a live Lisp machine. You can redefine (or advise) any function on a whim, without restarting.

That's not even getting into how everything you do to improve interacting with text improves your experience with all those text-encoded objects. Completions can be filtered and ranked by different algorithms, lines can be "narrowed" to, it has an interactive regex builder, you can autofill with simple, intelligent predictions (like, what's under your cursor, or a prefix-matching word up-buffer), you can deeply integrate LLMs, reflow and pretty print, follow externally-edited files, transparently access remote resources...

I don't know. Obviously it's not for everyone, but using Emacs makes me feel liberated; in control of my software. I love it.

Thanks for giving me a soapbox and the opportunity to put my thoughts together.

[–] [email protected] 2 points 2 days ago

This has gotta be the best explanation of Emacs' appeal I've seen yet, out of many.

[–] [email protected] 3 points 3 days ago

emacs is truly magical. it's also one of those things that you don't know until you know. there is no equivalent

[–] [email protected] 7 points 4 days ago

KRunner perhaps. It doesn’t have such an extensive UI (it’s more like Spotlight) but it’s extensible with search plugins like unit conversions and whatnot.

[–] [email protected] 3 points 3 days ago* (last edited 3 days ago)

The most complete launcher with a ton of extensions probably is Ulauncher on desktop linux. I prefer to use Albert launcher for the time being, because the filesearch plugin uses its own index. On Ulauncher it's too slow. It might change with the upcoming ulauncher v6 (in beta right now).

In any case Ulauncher has many many extensions. It doesn't have a reddit extension but it has a "save to notion" and AI extensions in stable V5 branch right now.

[–] [email protected] 0 points 2 days ago (1 children)

Annoyingly Raycast is what's keeps me from moving to Linux fully. As a developer and productivity enthusiast, Raycast really became the center of everything I do.

Would be very interesting to write some kind of port that can also use these extensions, since they're all open source and based on web technology (React).

[–] [email protected] 1 points 2 days ago

Have u considered writing them?

Anyway, ULauncher looks very good to me as a Raycast alternative.