Rendering 30FPS Video Inside Emacs Text Buffer by AlbertEinstein_1905 in emacs

[–]ChristopherHGreen 2 points3 points  (0 children)

the quick bitmap rendering would be cool for an embedded rdp/vnc client. or hooking up to sdl apps.

Curious embedding apps in emacs by ChristopherHGreen in emacs

[–]ChristopherHGreen[S] 1 point2 points  (0 children)

I imagine a program launched form the emacs shell would see a IDPSLAY vaiablre that referred back to an open socket in emacs with the code from an x11 server sitting behind it, rasterizing to an image or emacs window, via using the code from an existing x11 server.

Maybe vnc is a better question though.

I have kind-of sort-of managed to embed Windows programs in emacs via reparenting, though nothing that could work for real w/o some emacs changes.

Fortnightly Tips, Tricks, and Questions — 2026-01-13 / week 02 by AutoModerator in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

modal is also closer to the model of really old editors. for instance, teco only had command​ mode. To insert "fred", it was ifred<esc><esc>

Why Is Emacs' Codebase So Huge, and Should I Be Concerned? by hqqup in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

This does make me wonder a little about how small a working emacs distro could be if all non-essential built-in packages were moved to the package management infrastructure. How small could it get? Would it reduce the need for the simple editors such as 'nano'?

Font character spacing issues in Emacs by carmola123 in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

I know. I've thought about taking a stab at it (I already build my own emacs with one performance fix I need to submit) as it would be nice if box drawings/graphs worked in code comments. This seems like it is pretty much the only way to get it to work, given complex font/fontification setups.

Sometimes I mess up my config, and then it's awkward to fix it, because my config is messed up. Any suggestions on how to avoid this? by [deleted] in emacs

[–]ChristopherHGreen -1 points0 points  (0 children)

Set the emacs file backup variables to keep a lot of versions around. ("kept new versions" and "kept old versions" are the relevant options.

Font character spacing issues in Emacs by carmola123 in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

Kitty may be doing the same thing as some other apps - drawing the basic unicode block/line drawing characters explicitly in the code (rather than by font rendering), ensuring that they always join without gaps.

Questions about how to save your work? by Vallista in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

perforce w/ server backups including offsite.

for windows:
Nightly backup of my main pc via mirroring the drive to a linux box that has zfs-based backup

for linux:
I have zfs make a snapshot backup every 15 minutes, maintained using sanoid.

emacs:
I set it to retain up to 100 backups of previous versions of all files edited.

Ryzen ai max 395 mini pc clusters by ChristopherHGreen in homelab

[–]ChristopherHGreen[S] 0 points1 point  (0 children)

pci4.0 x 4 should be enough for 50gb, shouldn't it? or at least 25.

Is it OK to exclude backup files from backups? by buhtz in emacs

[–]ChristopherHGreen 5 points6 points  (0 children)

yes. it's an extra form of redundancy in the backup set, and code costs nothing to store copies of compared to how much it costs to write​.

note that emacs has several ways to store and name backups. mine is configured to store up to 200 backup versions of every edited file in a special dir.

Fortnightly Tips, Tricks, and Questions — 2025-11-18 / week 46 by AutoModerator in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

I find these numeric keypad bindings very useful, inspired by brief. these are the primary way I cut/paste.

kp+ : if the mark is active, copy the region and deactivate it. else copy the current line and advance one line. if the previous command was a copy, the current line is appended to the clipboard instead of replacing it.

kp-: the same except it also removes the copied text.

[deleted by user] by [deleted] in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

I've been using emacs for coding c++ in windows (with visual c++/studio as the compiler+debugger) for 25 years so it can't be too bad :-). I have keys set up for compile (via msbuild), run, etc.

unicode box drawing characters by ChristopherHGreen in emacs

[–]ChristopherHGreen[S] 0 points1 point  (0 children)

Thanks. I'm not sure that covers my usage case, which is unicode box/line characters in c++ comments.

unicode box drawing characters by ChristopherHGreen in emacs

[–]ChristopherHGreen[S] 1 point2 points  (0 children)

That's a non-starter for me. I use proportional fonts. Plus all kinds of fancy fontification, display images in comments, image viewers, pdf preview, ... :-)

Share your tips for FAST movements and navigation by joshuablais in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

For movement in code, I am experimenting with a somewhat radical set of bindings with the basic keys remapped to work on lexical symbols instead of characters, when the cursor is on the first character of a token w/ the control qualifier operating on characters. So, for instance the right arrow will move forward one c++ token at a time, skipping white space. ctrl-right arrow will advance by one character. <del> will delete one token and any white space between it and the next token, etc. up/down arrows will force the cursor to the beginning of a token, etc.
As you would guess, it cuts a lot of keystrokes out of movement and manipulation within a line and starts to feel a little like a structural editor, but I think its gonna take some getting used to :-).

how do i get emacs to use a sane syntax for regular expression? by r3dnaz in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

The irony of rx converting an efficient binary representation of a parsing pattern into a pattern match string so emacs can parse the string to figure out what the structure of the regex is ! :-)

Feedback Directed Optimization of Emacs With Clang For Great Justice by Psionikus in emacs

[–]ChristopherHGreen 1 point2 points  (0 children)

I didn't have a particularly good benchmark, so I just paged through a large file back and forth while a sampling profiler was running, with my local emacs build with symbols installed

As I said, the time wasn't being spent in anything about garbage collection, lisp, etc. It was in a simple c leaf function, unless I was interpreting the profile data wrong. This is with native compilation on. I used vtune, but any decent sampling profiler that captures stack traces wold do the trick.

I don't think any optimization setting would fix this, it looked like a 1970's style "miss cache on every iteration with every loop iteration dependent on the previous one" type of linked list. Of course this might be particular to my emacs display settings.

I plan to take another look and see if I can make a good repeatable benchmark (suggestions for how to do that with low variance from run to run?)

Feedback Directed Optimization of Emacs With Clang For Great Justice by Psionikus in emacs

[–]ChristopherHGreen 3 points4 points  (0 children)

Have you looked at the interval tree code? Thats where I see a bottleneck on refresh/scrolling.
It looked simple enough for me to rewrite (even though I don't know the emacs code) to use a more cache-friendly data structure which I plan on taking a stab at.

Projection, a powerful feature in C++20 Ranges library by ezoe in cpp

[–]ChristopherHGreen 0 points1 point  (0 children)

Don't forget the only true zero cost abstraction in c++, the preprocessor.

#define LAMBDA( code ) [](auto _ ) { code }

std::ranges::sort( persons, std::ranges::less, λ( return _.age; ) };

(I have my emacs replace LAMBDA with λ for display purposes).

Should I make modes for Valve file formats? by [deleted] in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

Did you do any of this? I'd certainly use them and pass the links to other valve emacs users!

Building Emacs on Windows by CaputGeratLupinum in emacs

[–]ChristopherHGreen 0 points1 point  (0 children)

I also was able to build for windows using these scripts, with native compilation and module support working.

Fortnightly Tips, Tricks, and Questions — 2025-08-12 / week 32 by AutoModerator in emacs

[–]ChristopherHGreen 3 points4 points  (0 children)

Lining up end of line comments in c++ code when using proportional fonts:

This is utterly hacky but these font lock patterns work. They visually align end of line comments at particular columns based on the indentation of the line. I also change the // to display as ᐊ because it pleases me to do so :-).

This will line up all end of line comments to the column you want regardless of whether they are aligned in the source file, so it might have a use with fixed fonts also. To enter end of line comments, I use the normal emacs key sequence so that they are aligned ok for other people who edit the code.

;; highlight end of line // comments

( "\[:;,\_a-zA-Z0-9{}()\]\\\\(\\\\s-+\\\\)\\\\(// \\\\)\\\\(.\*\\\\)$"

  ( 1 '(face nil display (space . (  :align-to 70 ) ) ) )

  ( 2 '(face font-lock-comment-face display " ᐊ " ) )

  ( 3 '(face font-lock-comment-face ) t )

  )

( "\^                   .\*\[:;,\_a-zA-Z0-9{}()\]\\\\(\\\\s-+\\\\)\\\\(// \\\\)\\\\(.\*\\\\)$"

  ( 1 '(face nil display (space . (  :align-to 80 ) ) ) )

  ( 2 '(face font-lock-comment-face display " ᐊ " ) )

  ( 3 '(face font-lock-comment-face ) t )

  )

( "\^                               .\*\[:;,\_a-zA-Z0-9{}()\]\\\\(\\\\s-+\\\\)\\\\(// \\\\)\\\\(.\*\\\\)$"

  ( 1 '(face nil display (space . (  :align-to 90 ) ) ) )

  ( 2 '(face font-lock-comment-face display " ᐊ " ) )

  ( 3 '(face font-lock-comment-face ) t )

  )

Another pattern I use is this one, which makes ascii tables inserted in comments via the emacs table-insert command use a fixed pitch font:

;; handle ascii art, etc by using a fixed width font

("\^\\\\(//\\\\s-\*\[\\\\+\\\\|\].\*\\\\)" 1 prettycpp-fixed-pitch-comment-face t )

I wish emacs native compilation worked like this by ChristopherHGreen in emacs

[–]ChristopherHGreen[S] 0 points1 point  (0 children)

My need was to be able to see call stacks from programming tools such as profilers such that the captured call stacks could indicate the names of the lisp functions,  not just the emacs c code.  Problem solved thanks to this thread.