r/emacs • • 11d ago

Fortnightly Tips, Tricks, and Questions — 2026-09-22 / week 38

19 Upvotes

This is a thread for smaller, miscellaneous items that might not warrant a full post on their own.

The default sort is new to ensure that new items get attention.

If something gets upvoted and discussed a lot, consider following up with a post!

Search for previous "Tips, Tricks" Threads.

Fortnightly means once every two weeks. We will continue to monitor the mass of confusion resulting from dark corners of English.


r/emacs • • 10h ago

News Github does not preview Org mode files anymore

42 Upvotes

No more README.org :(


r/emacs • • 8h ago

Anyone using emacs like CRM?

7 Upvotes

Title. If yes could you describe your setup?

Or is there some plain text CRM?


r/emacs • • 19h ago

A tiny, text-only, read-only, emoji-free Mastodon client for Emacs.

Thumbnail github.com
14 Upvotes

r/emacs • • 1d ago

Question Org mode stopped rendering on GitHub on Firefox and Chromium based browsers.

32 Upvotes

All my documentation and README.org files look like plaintext now. Is it happening with anyone else?


r/emacs • • 1d ago

Emacs is now my new rofi

Thumbnail video
107 Upvotes

After messing around with xdg launcher made a rofi like experience this was a bit of mixer of hyprland vertico and emacs client and xdg launcher to make this mess so far it’s great tho

emacsclient -cF '((visibility . nil) (name . "emacs-launcher") (minibuffer . only) (internal-border-width . 5) (tooltip-mode -1) (font . "JetBrains Mono-12"))' -e '(unwind-protect (progn (xdg-launcher-run-app) (delete-frame)) (delete-frame))'

vertico is needed or consult etc


r/emacs • • 1d ago

Org-roam-tree update: jit rendering, arbitrary search and more!

Thumbnail video
50 Upvotes

I've been picking away at my org-roam-tree package that displays org-roam backlinks in more orderly ways --- as expandable and collapsible trees grouping backlinks by their file of origin (or in other ways, you can build your own data structures if you want to).

The biggest update is jit rendering, making it much snappier, but I've also added some things like arbitrary search of your roam directory, different sorts and backlink buffer anchoring (toggles roam following point with a menu button).

Though for some reason github is refusing to render my README.org now --- anyone have any idea why? Of all the things I want to spend time debugging, github is the last one...


r/emacs • • 14h ago

Question How can I display some properties alongside the headline in org-mode listings?

3 Upvotes

I want to display some information from PROPERTIES on the headline together with the TODO state, namely the first 8 characters of the ID generated by org-id-get-create.

For the time being I am using the column-mode display as a way of getting around it, but I don't like the way it displays.

Does it involve some kind of overlays or font faces?


r/emacs • • 19h ago

Solved How to "*shell-command" and suppress output? All my searches yield the opposite question. (I'd rather not resort to >/dev/null 2>&1 cheap tricks.)

5 Upvotes

EDIT: The answer is:

(call-process-shell-command "bash /home/mpwilson/bin/hhc/run_wiki_sweep.sh" nil nil nil)
  • nil: no input to command
  • nil: Discard output buffer
  • nil: don't update the display

tl;dr: "(shell-command "foo")" but fully suppress stdout. I'd rather not "(shell-command "foo >/dev/null 2>&1")" but that's my least bad option today.

"What have you tried?" Scroll down.

I've got a little bash script the fires off when I save wiki pages. It does all kinds of insane nonsense.

But it keeps dumping stdout to the output window. I didn't mind when it was a one-liner. But it's...usually got some pretty loquacious output (needed for other executions.)

The script in question is just:

#!/bin/bash
curl http://127.0.0.1:1616/plugin/wss/run_sweep/

And the hooked function

(defun mpw-run-wiki-sweep ()
  "Sweep the wiki for changes and push."
  (interactive)
  ;; Dumps to an output window "live" 
  ;; (async-shell-command "bash /home/mpwilson/bin/hhc/run_wiki_sweep.sh")
  ;; Dumps to an output window "live" (evidently that nil doesn't /dev/null the output)
  ;; (async-shell-command "bash /home/mpwilson/bin/hhc/run_wiki_sweep.sh" nil)
  ;; dumps static output into "output buffer" splitting the window horizontally to give me all the details.
  ;; (shell-command "bash /home/mpwilson/bin/hhc/run_wiki_sweep.sh")
  ;; Least bad option.  
  (shell-command "bash /home/mpwilson/bin/hhc/run_wiki_sweep.sh >/dev/null 2>&1")
)

r/emacs • • 1d ago

Emacs Rejects AI Code, but Can It Stay That Way?

Thumbnail youtube.com
82 Upvotes

r/emacs • • 1d ago

Announcement canvas-browser: a Chromium page in an Emacs buffer, drawn on an Emacs 32 canvas image

Thumbnail raw.githubusercontent.com
94 Upvotes

This is canvas-browser, a web browser that lives in an Emacs buffer.

I usually run my Emacs on a remote machine, and I use X forwarding. Now I can open links there and have them open in a buffer in my Emacs, with my usual key navigation. This works for corporate javascript shenanigans as well (Teams, Outlook, Confluence etc).

Don't expect high FPS on video playback over X since Chromium sends pictures of the page, and Emacs paints them on a canvas image. And yes, this needs the new canvas image type in Emacs 32.

Repository: https://github.com/Daskeladden/canvas-browser

In the screenshot you see link hints, as in Vimium. Installation instructions are in the README.md.

(This was written and posted from canvas-browser in Emacs)


r/emacs • • 17h ago

Emacs bufferfile.el: Rename, Delete, or Copy Files and Associated Buffers (e.g., clones/indirect buffers) [Release 1.0.9]

Thumbnail github.com
1 Upvotes

r/emacs • • 23h ago

Question After upgrading to Debian 13 and bringing Emacs 28 up to date Company is causing Emacs to hang more often and using emacs in the form of EXWM makes it worse?

2 Upvotes

These are the suggestions offered by Google search.

(1) Disabling mouse selection in company-mode

I don't use the mouse for selecting company candidates unless having the mouse around the candidate list can cause problems.

 (with-eval-after-load 'company
 ;;Disable mouse election and scrolling within the company popup
   (define-key company-active-map [mouse-1] nil)
   (define-key company-active-map [down-mouse-1] nil)
   (define-key company-active-map [mouse-3] nil)
 )

(2) Forcing the completion frontend to use native tooltips rather than graphics overlays using the OS

(setq company-frontends '(company-pseudo-tootip-frontend
                          company-echo-metadata-frontend
                          company-preview-frontend))

(3) Checking for async/lsp interference

I don't use lsp, treesitter or eglot yet

Any experiences here?

I am leaning towards no 2, using native tooltips.

PS. I know the errors are from company because I used =pkill -SIGUSR2 emacs= to break out of it and the Backtrace window showed the errors, but forgot to copy it.


r/emacs • • 1d ago

persist-text-scale.el: Persist and Restore Emacs Text Scale [Release 1.0.8]

Thumbnail github.com
5 Upvotes

r/emacs • • 16h ago

How Spacemacs, which-key, Org-mode, and nano-emacs inspired my Typst editor

0 Upvotes

Hi r/emacs!

I'm building LeftBlank, a free, open-source native Typst writing app for macOS. I wanted to share it here because several of its design choices grew out of ideas from Emacs.

Spacemacs and which-key: making commands discoverable

What I took away from Spacemacs and which-key is how a leader key, grouped commands, and visible hints make a large command set something you can explore. In LeftBlank, ⌘J opens a panel showing the next available keys. For example, ⌘J → i → t opens table insertion, while / searches all commands. Frequent actions have direct shortcuts too. The aim is to let people learn commands as they use them, with a reminder available when memory fails.

The command discovery panel, with letter keys for each category.

Org-mode: writing in text, with structure close at hand

Org-mode influenced how I think about a writing environment: text can hold prose, structure, and technical material while remaining something you can read and edit directly. In LeftBlank, this shows up in the styled source editor, heading navigation, and the ability to work on prose alongside equations, tables, and code. The documents use Typst's .typ format; Org-mode is the inspiration for the writing approach.

nano-emacs: a quiet visual hierarchy

Nicolas Rougier's nano-emacs was a major influence on the light and dark themes. Its restrained use of color and consistent visual hierarchy helped shape the look of the editor: text carries most of the screen, while controls and secondary information take a quieter role.

The dark source editor beside the live typeset page.

LeftBlank is built with SwiftUI and AppKit, and typesetting runs locally. It's currently a development preview for macOS 14+ on Apple silicon.

Website: leftblank.app — downloads and source code are there.

I wanted to acknowledge the people behind these tools and the wider Emacs community. Your work has influenced how I think about writing tools beyond Emacs itself.

Which Emacs interaction or design idea do you wish more applications would adopt?


r/emacs • • 1d ago

Question Can't get undo-tree to work with evil

3 Upvotes

Disclaimer: complete noob and not really a programmer. Only use Emacs for org-mode.

I keep getting the following error in buffers including init.el and org files, any ideas?

evil--check-undo-system: Enable ‘global-undo-tree-mode’ to use undo-tree commands.
Add (add-hook ’evil-local-mode-hook ’turn-on-undo-tree-mode) to your init file for undo in non-file buffers.

init.el.

Any help is much appreciated, can't use org-mode without undo. Also, feel free to make any suggestions to this many years old config. I use Emacs exclusively for note-taking but want to make it as vim-like as possible to reduce cognitive overhead because I use Neovim for everything else.


r/emacs • • 1d ago

LLM packages in ELPA and SaaSS or: How to divide RMS from emacs maintainers (again)

13 Upvotes

I think it's worth making this known.

Lately I've noticed a thread on emacs-devel that's both long and exhausting to read.

Originally, it began as a request to include hermes.el (a client to hermes-agent) to NonGNU ELPA, but the thread seems to have gotten a little out of control: https://lists.gnu.org/archive/html/emacs-devel/2026-09/msg00208.html

And it generated more threads: https://lists.gnu.org/archive/html/emacs-devel/2026-09/msg00235.html https://lists.gnu.org/archive/html/emacs-devel/2026-09/msg00400.html

The threads seem to be going nowhere, but from what I could read, it seems this is dividing RMS from the maintainers (again).

Both threads are very long, and I wouldn't recommend reading them unless you have a lot of free time or you are bored.


r/emacs • • 1d ago

buffer-guardian.el - Automatically save Emacs buffers without manual intervention [Release 1.0.2]

Thumbnail github.com
6 Upvotes

r/emacs • • 1d ago

Announcement Emacs ATX meetup today, in a few hours

13 Upvotes

This is a monthly reminder. Every first Thursday of the month we meet without a specific agenda to blabber about Emacs stuff and anyone is welcome to join. This time is on October 1st.

I understand that it's not the most convenient time for many (6 PM CST - UTC−6; 01:00 CET; 4PM PST), please don't sacrifice your sleep and other important matters just to attend it - I reckon it's not worth it - these meetings are typically not big, nor important or riveting. But if you decide to join, we'd love to see and hear from you.

https://www.meetup.com/emacsatx/events/

DM me if you'd like to join without going through meetup.com curse and I'll send you a direct link to the meeting.


Previous meetings and notes:

https://www.reddit.com/r/emacs/comments/1w4jiiv/emacs_atx_meetup_this_thursday_september_3rd/

https://www.reddit.com/r/emacs/comments/1vfm014/emacs_atx_meetup_this_thursday_august_6th/

https://www.reddit.com/r/emacs/comments/1ukwx8l/emacs_atx_meetup_tomorrow_july_2nd/

https://www.reddit.com/r/emacs/comments/1tvcwd8/emacs_monthly_thursday_meetup/

https://www.reddit.com/r/emacs/comments/1t4mpn3/emacs_atx_meetup_this_thursday/

https://www.reddit.com/r/emacs/comments/1sa0jmd/emacs_atx_meetup_tomorrow_thursday/

https://www.reddit.com/r/emacs/comments/1rj8tik/emacs_atx_meetup_this_thursday/

https://www.reddit.com/r/emacs/comments/1qwrh0l/emacs_atx_meetup_today_in_few_hours/


r/emacs • • 1d ago

Launch Firefox from emacs

4 Upvotes

I one had a function (in .emacs) under Windows emacs which launched firefox when the emacs cursor was right on a http:// link. But I overwrote .emacs, and lost the trick.
Anyone knows howto do this?


r/emacs • • 1d ago

A package using rope to do python code refactoring in emacs

Thumbnail github.com
8 Upvotes

Should I need this?

Now a day lsp can do code refactor. But some python lsp not support refactoring. If you using pyrefly, you not need this package, it provide refactor features. For me, I using ty as lsp and ruff as lint right now. But ty not support refactoring (right now is 2026-10-01).

Hum, Wait for ty to support these featurs.

Commands

rope-extract-variable

Declare a new variable with the value of the selected expression. Need to select a region.

rope-extract-method

Declare a new method of the selected expression. Need to select a region.

rope-inline-method

Inline occurrences of a method at point.

rope-add-parameter

Need python-ts-mode Add parameter to the functin at point. If current point is a parameter signature, add after current parameter, otherwise add at the end. Or you can use the prefix valur (aka, C-u) to specify the position of new parameter (start with 0). Warning!: rope will remove all type hint

rope-remove-parameter

Need python-ts-mode Remove current parameter of function at point. Or you can use the prefix valur (aka, C-u) to specify the position of new parameter (start with 0). Warning!: rope will remove all type hint

rope-move

Move a python element in the project.

rope-move-module

Move a python moddule in the project.


r/emacs • • 2d ago

Announcement excali-mode: Excalidraw running natively inside Emacs

Thumbnail video
245 Upvotes

Emacs 32 adds a canvas image type whose pixels a dynamic module can write directly.

excali-mode uses it to run Excalidraw inside Emacs: the scene model and every editing command are Elisp, and a small C module draws the scene with Cairo and Pango (ports of rough.js and perfect-freehand) straight into the canvas. No browser, no webview.

What the video shows is a real Emacs session:

- Drawing with Excalidraw's tools, hand-drawn strokes and fonts included; labels are typed in the minibuffer with a live preview.

- Arrows that bind to shapes and follow them when you move things, including elbow arrows routed around obstacles.

- Flowcharts from the keyboard: ⌘ ↓ / ⌘ → grow linked nodes.

- Excalidraw's style panel as a transient, with a color picker that uses Excalidraw's palette and hotkeys.

- The official library collection (libraries.excalidraw.com), browsed, previewed and added from Emacs.

Also in there: .excalidraw files that round-trip with excalidraw.com, groups, frames, images, PNG/SVG export with the scene embedded, dark mode, one scene in several windows, and diagrams from text (the .edsl language of excalidraw-dsl). Large scenes stay responsive: only what changed is repainted, and on macOS a CoreAnimation layer shows the pixels.

Requirements: Emacs 32 built from master (the first Emacs with the canvas API), plus cairo and pango. Clone it and run make: that builds the module and byte-compiles the Lisp.

It's tested on macOS. Linux and Windows builds compile, but I haven't run them yet, so reports and fixes are very welcome.

Repo: https://github.com/yibie/excali-mode


r/emacs • • 1d ago

Question How can I change the colour of the highlight line in M-x for the light ef-themes?

8 Upvotes

On a number of the light ef-themes the completion lists for C-x b and M-x use a dark highlighting line over font colors that have to be dark and makes the unreadable.

How can I change it? Does it mean deriving a new theme from the selected theme or is there some setting to override it?

Does the colour for the highlight line have a name?

I am going through the list displayed by the ef-themes-list-colors command but can't find a likely symbol name.


r/emacs • • 1d ago

Collapse (badly/modern) cited mail thread in gnus?

6 Upvotes

When I get an email from someone using outlook or whatever, Fastmail shows their top-posted reply followed by a clickable (...) which expands to show the full cited mail thread with lots of details and unrelated derailings and arguments and passwords and stuff I'm generally not interested in.

Gnus, however, just shows it all, making it hard to see what was new in this email.

Has anyone got a solution for this already?

(I know about gnus-treat-hide-citation but it doesn't seem to work with most html mails.)


r/emacs • • 1d ago

consult-buffer and `post-command-select-window`

1 Upvotes

I've configured display-buffer-alist to control how compilation mode appears with the following actions

(display-buffer-reuse-mode-window display-buffer-in-side-window) (mode compilation-mode) (window-height . 0.25) (side . bottom))

I tried adding

(post-command-select-window . t)

but it seems to interact badly with consult-buffer and its preview feature. As soon as the *compilation* buffer is previewed it gets focus and getting back to the buffer selection requires navigating between the windows.

Is there some way to give the compilation window focus only after launching it?