r/emacs • • 1h ago

Ghostel 0.58 released

Thumbnail gallery
• Upvotes

Ghostel is a terminal emulator for Emacs powered by libghostty.

First released over half a year ago and since our latest Reddit post 3 months ago a lot has changed.

179 commits from 14 contributors added lots of new features and bugfixes.

To highlight a few new features that got added in the last 3 months:

  • OSC 7501 program status support. This is a new protocol proposed by Mitchell Hashimoto (Ghostty author) so programs can report their status with a message. Ghostel shows it in the mode line and notifies you when you are not looking and the app finishes or needs user input. This blog post describes best what it is.
  • Android/Termux support
  • Foreground-process detection without shell integration. A new hook fires when the foreground process changes so you could e.g. start an mcp server automatically whenever you start an agent CLI like claude-code. "Query before killing" now also covers ssh and nested shells.
  • Support for desktop-save-mode restore
  • Support bookmarks and org-links that reattach to a live shell
  • Pasting images and PDFs with yank-media
  • Menu-bar menu entries (for discoverability and the few people that have not disabled menu-bar ;)
  • New consult-ghostel extension (also available on MELPA already) Gives you a consult-ghostel(-project) terminal picker with live preview, lets you narrow your consult-buffer view to only Ghostel buffers and consult-ghostel-history to pick from your shell history.

Have a look at the documentation for all the features.

u/baokaola and I are happy to answer any questions.


r/emacs • • 4h ago

Introducing ical-buddy.el

Thumbnail adithya.cc
3 Upvotes

r/emacs • • 4h ago

Announcement Omarchy Org Agenda Plugin: Your Org Agenda schedule at a glance, directly on the top bar

Thumbnail plugins.omarchy.org
0 Upvotes

I created this plugin for Omarchy where you can see your org agenda at a glance, go directly to the task using emacsclient, start timers and use org-pomodoro. To set it up, your emacs needs to run in server-mode

Hope it is useful for you!


r/emacs • • 4h ago

New refactor.el: code actions, rename and quickfixes, out of Eglot

Thumbnail lists.gnu.org
24 Upvotes

An interesting package, that seems to be coming in emacs 32.1 (for those who are not subscribed to emacs-devel list).


r/emacs • • 6h ago

Question Strange problem with nov.el. It writes expansion output buffer to other files in consult buffer list.

4 Upvotes

I noticed that when I use the consult buffer and scroll down getting previews, if I get a preview of an epub, nov.el in creating the preview seems to write the output to other files in the consult buffer list, even files not in any open buffer just in the "recent" files section of the consult buffer . So I will end up with say an org file in that recent list that has all the epub expansion output in it. Or it does this to my bookmark file.

Can anyone explain to me what is happening here. I would greatly appreciate any help.


r/emacs • • 19h ago

Question Which Emacs build do you use on macOS?

17 Upvotes

Hi everyone.

I use Emacs on macOS Tahoe.
I'm currently using the build from Emacs for Mac OS X (https://emacsformacosx.com).
But there are many other builds out there, like emacs-plus from Homebrew and emacs-mac (Mitsuharu's port), so I was curious which one everyone else is using.

Also, if you don't mind, I'd love to hear which build you think works best on macOS.


r/emacs • • 20h ago

Announcement [Package] org-slideboard: An improved interactive presentation tool for Org mode

15 Upvotes

I’ve been working on a new package called org-slideboard, which has developed out of org-show by John Kitchin, part of scimax, which in turn was based on Sacha Chua’s presentation code.  I’m planning to submit it to MELPA in a few weeks. I wanted to share it here to get some early feedback, bug reports, and suggestions from fellow Org-mode users.

What is it?

org-slideboard shows an Org file as interactive slides directly inside Emacs. It is purpose-built for files written for Beamer export: Beamer columns, equations, tables, macros, and code blocks render properly while the content remains completely live and editable during the presentation.

(Tip: If you clone the repo, you can open demo.org and run M-x org-slideboard-start-slideshow to see a built-in presentation where each slide demonstrates the feature it describes!)

Key Features:

  • Beamer Column Support & Fitted Images: Frames with children tagged as Beamer columns are shown with a title strip above one window per column. Plots and images are automatically drawn and scaled to fit the width and height of their window.
  • Live Code Execution & REPL Integration: Source blocks can show code, results, or both using flexible split layouts (lr, rl, tb, bt). You can execute code live via C-c C-c or open code blocks right next to a running REPL (like ESS R or Python) to tweak and run code on the fly.
  • Dynamic Table Alignment & Merged Cells: Tables automatically align to what is actually displayed on screen (accounting for proportional fonts, expanded macros, and equation images). It also introduces clean custom markers (<< and ^^) for cell-merging that exports cleanly to Beamer.
  • LaTeX Equations Sized to Text: Math is previewed at a size relative to your text font, grows/shrinks dynamically with text scaling, and filters out incompatible Beamer preamble headers automatically.
  • Step-by-Step Animations: Full support for Beamer overlays, list increments (<+->), and faded/highlighted steps (\setbeamercovered{transparent}).
  • Clutter-Free Aesthetics: Automatically hides property drawers, keywords (#+NAME:, #+RESULTS:), non-exported blocks, and raw LaTeX lines during the show, while integrating cleanly with org-modern and variable-pitch-mode.
  • Vector PDF Export: Apart from exporting as a beamer presentation, you could also easily save your presentation as an org-slideboard PDF (M-ESC p) page-by-page, matching your exact layout and steps. This way, you can have a pdf that looks similar to the org-slideboard presentation, and can be shared with participants who do not use emacs.

Installation:

Since it's not on MELPA yet, you can try it via use-package with :vc, straight.el, or manual installation:

Code snippet

;; With Emacs 30+ using package-vc via use-package:
(use-package org-slideboard
  :vc (:url "https://github.com/vikasrawal/org-slideboard")
  :commands org-slideboard-start-slideshow)

;; Or with straight.el:
(use-package org-slideboard
  :straight (:host github :repo "vikasrawal/org-slideboard")
  :commands org-slideboard-start-slideshow)

Links:

I hope emacs/org-mode users would find it useful. Feel free to open issues on GitHub or leave feedback in the comments!


r/emacs • • 1d ago

Question Why is point not updating?

6 Upvotes

Can anyone help me understand why point seems to not be being updated?

(defun mpvmacs--socket-filter (proc msg)
  (when (buffer-live-p (process-buffer proc))
         (with-current-buffer (process-buffer proc)
           (save-excursion
               ;; Insert the text, advancing the process marker.
               (goto-char (process-mark proc))
               (insert msg)
               (set-marker (process-mark proc) (point)))
           (while (ignore-errors (mpvmacs--parse-json (json-read)) t))
           (goto-char (process-mark proc)))))

Both json-read and goto-char should be changing point but every time the function is called it parses the whole buffer.


r/emacs • • 1d ago

Introducing Portal

Thumbnail unclex.net
46 Upvotes

I made this package to truely live in emacs, without sacrificing quality and speed. So far it's pretty awesome.


r/emacs • • 1d ago

Question What are the recommended org-capture tools for Firefox and Chrome and how is org-protocol configured for EXWM

9 Upvotes

I also want to setup org-protocol, but with EXWM.

According to the docs, from Emacs 29 onwards the Emacs installation configures org-protocol automatically, but does this hold for source builds?

I am going to switch to Gnome or XFCE temporarily to see what I can find.


r/emacs • • 1d ago

Minimal builtins-first config: Gruber Darker, Iosevka Term, Eglot + Vertico/Corfu, pdf-tools tuned for 500+ page PDFs

0 Upvotes

2-file config (early-init.el + init.el), no frameworks. Vertico/Consult/Embark, Corfu/Cape, Eglot + Flymake, Tree-sitter auto-install, Dirvish/Magit, AUCTeX/latexmk, XLSX via python/openpyxl, large-PDF perf toggles. M-x my/config-health verifies the setup. Feedback welcome: link


r/emacs • • 1d ago

Question With ido-vertical-mode installed will any of the regular emacs commands that require completion automatically use it if they are not done through vertico, ivy, helm etc?

0 Upvotes

I added ido-vertical-mode to my configuration years ago because why not, but installed helm and ivy which seemed to take over most of my completion, because a lot of keys were bound to them and helm-mode was set automatically in my configuration.

If a key which calls some emacs function say C-x k is not present in the key maps of ivy, helm etc, will they automatically default to using ido-vertical-mode?

My mode settings are:

vertico-mode t
ido-vertical-mode t
helm-mode nil (after switching to Emacs 29+)
ivy-mode nil

I guess the question I want to ask is if a key is not bound to a completion system's version of the command, eg helm-descbinds or ivy-descbinds, will that completion system automatically takeover the completion for that command if its mode is active, or will Emacs use whatever it considers the default?

I realize that some of my completion screens look odd, with options displayed both vertically and horizontally, which can be confusing.

E.g the command C-h k for killing a buffer looks odd compared to the Helm dialogs.


r/emacs • • 1d ago

meow-mode user ?

11 Upvotes

Here are the things that I read about meow-mode

  1. M-x meow-tutor
  2. meow-edit/meow: Yet another modal editing on Emacs / 猫态编辑

but I'm still hungry, and don't have enough resources to be comfortable with meow-mode powers and tricks.

Am I missing anything? any websites or blog posts or articles?


r/emacs • • 1d ago

Error with dired in insert-directory in Emacs 31.1

6 Upvotes

I get this error when trying to use dired in Emacs 31.1:

insert-directory: Wrong type argument: number-or-marker-p, //DIRED-OPTIONS//

I tried stepping through it in both 31.1 and 30.2 and the arguments look the same, so it wasn't something in my config that was passing garbage. To try to eliminate possible causes, I tried evaling the 30.2 version of insert-directory, but it depends on other functions in files.el, so I just loaded that and dired works. Since I haven't heard anyone else complaining about it, I'm guessing it's something unusual about my configuration, but I was wondering whether anyone else has seen this.


r/emacs • • 1d ago

Emacs Reader submitted to ELPA

Thumbnail lists.gnu.org
102 Upvotes

Looks like it's finally happening!


r/emacs • • 2d ago

Header-modeline: move your modeline to header-line (top of your window)

Post image
13 Upvotes

This is a super simple package that just moves your mode-line to the top of your window, copying it to header-line. Pictured using moody and spacious-padding-mode.

https://github.com/bradmont/header-modeline/blob/main/README.md


r/emacs • • 2d ago

emacs random character background color artifact

3 Upvotes

I use emacs on boox eink reader, the randowm colored character background makes the char unrecognizable on an eink display. I have tried compile emacs with lucid kit, but problem remains:

system-configuration-features value is

"ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XIM XINERAMA XINPUT2 XPM XRANDR LUCID ZLIB"

A screenshot:

Sorry english is not my native language. I have to be more verbose here. In the above screenshot, the colored space is not the cursor, it is not syntax related, it is just one random char that has a background, the char does not need to be a space, it can be any character, it can appear randomly anywhere in the buffer. I have been using emacs for years, it seems always happens, until I tried the eink display, the colored char is invisible.

I tried to compile emacs without cairo and harfbuzz, system-configuration-features is

"ACL DBUS FREETYPE GIF GLIB GMP GNUTLS JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XFT XIM XINERAMA XINPUT2 XPM XRANDR LUCID ZLIB"

Still have this problem.

redraw-display does not clear the artifact.


r/emacs • • 2d ago

Finally, I made an video to Supertag

Thumbnail youtube.com
63 Upvotes

Abt 9 mins. And if you interested at new feature - Summary, please jump to 7:23.

Supertag turns Org headings into notes you can tag, link, query and read back as a stream. You write first; organizing happens later, on demand.

This walkthrough goes from the simplest thing (one tagged note) to themore involved ones (streams, query blocks, a generated panel). Everything on screen is real input in a plain Emacs, with the keys and commands shown in the mode line.

Chapters
0:00 Intro
0:51 Nest a tag
1:46 Connect notes with links
2:20 Promote a word to its own note
2:56 Unlinked mentions
3:38 Similar notes
4:12 Properties, with hints and completion
4:52 Streams and substreams
6:18 Query blocks
7:23 A summary panel for a tag
8:41 Why a stream
8:54 Install


r/emacs • • 2d ago

I created a dark modus theme centered around teletype green

Thumbnail gallery
49 Upvotes

This was mostly whimsical but over the weekend I was looking at the matrix text waterfall screensavers and thought it was a fun palette. I'm all in with modus based themes at the moment and I couldn't find one that matched what I was looking for so I put together my own. (Part of what I like about modus is that its relatively easy to do so and make it just work) The theme is mostly restrained with a few emphasis tones in the blue/indigo range but I've found it surprisingly legible so I might use it after the novelty wears off. Link to it is at: https://github.com/benleis1/emacs-init/blob/main/lisp/modus-vivendi-matrix-theme.el


r/emacs • • 2d ago

[consult] questions and tips (custom file picker, counsel-org-goto-all)

0 Upvotes

Disclaimer: not a programmer.

  • How to bind a key to select from a list of emacs config files to fuzzy search and open from? That exact list is the result of the fd command fd --max-depth 1 .el$ ~/.config/emacs ~/.config/emacs/elisp. I believe consult-fd and consult-fd-args are relevant here but I have not been able to get anything working nor can I find straightforward examples of pre-defined searches for consult-fd as examples to tweak from. I'm sure find-file can be used to load files to the buffer list for my purposes but I'd still prefer to interface with the familiar CLI tool fd that I already use in the command line and I don't want to load the buffers in advance. This is a basic example--I'd like this working solution to be able to tweak for more complex pre-defined searches.
  • EDIT: Looking for something like consult-org-refile.There's consult-org-agenda as mentioned by fuzzbomb23. How to get the equivalent of counsel-org-goto-all, which searches for headlines across all org files? There's consult-org-heading as well as custom function my-consult-outline-path but they only include the headlines on the current org file.

Any other tips for general useful custom consult functions is much appreciated, especially for org-mode (I use Emacs exclusively for org-mode).


r/emacs • • 2d ago

Machine Learning & AI Best agent combination?

0 Upvotes

I just got agent-shell working with omp, and it’s fine except omp won’t do auth flows through acp (lame).

Leaving that aside, it seems like a perfectly fine interface to chat, but it’s not obviously highly integrated - I’d love to be able to invoke a command (maybe from a right click) to get my agent expanding text, or doing things described in a comment.

Does anyone have any tips/packages they suggest before I start building my own stuff?

I’m also open to the answer that I should be using a different agent


r/emacs • • 2d ago

Can the :mode command take multiple extensions to trigger a mode?

6 Upvotes

Take this set of extensions to trigger yaml-mode

:mode ("\\.yml\\'"  . yaml-mode)
:mode ("\\.yaml\\'" . yaml-mode)

Is something like this possible

 :mode ('("\\.yml\\'" "\\.yaml\\'") . yaml-mode)

i.e pass a list of extensions, rather than a single extension?

Would that require some kind of macro?


r/emacs • • 2d ago

Announcement agent-shell 0.87 updates

Thumbnail gallery
68 Upvotes

A new post outlining the latest highlights https://xenodium.com/agent-shell-0-87-updates


r/emacs • • 2d ago

Question How can you design your init.el and use-package clauses so that features which are UI based are never triggered in non UI batch operations?

4 Upvotes

Quite simply I need to run certain batch operations using the same profile, but quickly, so the features necessary for interactive usage shouldn't be triggered.

From the emacs docs windows-setup-hook is run after the Emacs window is setup, so in an nutshell how do you configure your init.el in such a way that none of the features required for interactive usage are triggered until it is certain that a frame will be created?

This would imply packages like vertico, flycheck, smartparens, which-key etc would not be loaded.

Does the Emacs load sequence have a mode which is able to note these things and defer them, or does that require some judicious use of the settings in use-package?


r/emacs • • 3d ago

My org-attach config, only place files go (paste / drag / download), with names I can actually read

11 Upvotes

My notes had two image piles: org-download threw everything into one folder, and org-attach had files called WechatIMG7604.jpg or some 64-char hash. Every time I added a file I had to think about where it should go. Got tired of it.

Now anything that enters an Org buffer becomes an attachment of the current heading and gets a link inserted. The nice part is how little it took, because everything already ends up in org-attach-attach:

(setq org-yank-dnd-method 'attach
      org-yank-image-save-method 'attach
      org-download-method 'attach)

Then one :around advice on org-attach-attach does the rest:

  • junk names (hashes, IMG_1234, Screenshot…) become 20261010-083713-heading-title.png; names that already mean something are left alone
  • files are moved instead of copied, so ~/Downloads doesn't fill up with leftovers

s-v pastes an image as an attachment if the clipboard has one, otherwise it's a normal yank. This was the annoying bit. "Clipboard has an image" isn't enough: browsers put the URL next to the image, and spreadsheets put a rendered picture next to the cells you copied. I ended up with "image + a single line that looks like a URL or image filename = image, anything else = text". Works for the apps I use, probably not for all of them.

There's also a transient on C-c C-a (attach newest download, rename and fix the links, Quick Look, reveal in Finder).

Full file: https://gist.github.com/yibie/9bd280522c24eec41ce0b32b327967cd

Caveats: the clipboard part is macOS only (needs pngpaste), and since it moves files, don't point it at a folder you want to keep intact.

How do you all tell "image" from "text" on paste? Curious if there's a better rule.