emacs

exwm as a recognized desktop manager (my KDE SDDM)

For the past years I have had a little script that shuffles my ~/.profile file back and forth so that rebooting starts in exwm or not, since starting in my GUI is occasionally exactly what I need. Reviewing the exwm page1, though, I found a way of adding exwm (actually, “emacs”) to the list of “Start Session In…” options that are shown on the login screen, which bypasses the ~/.

straight change repo?

I just had an issue in which I changed the repo of a package I had been using (use-package), to a fork of that package. Making that change in Straight proved that either there needs to be an easy way, or I need to know the easy way. Due to conflicting recipes I ended up changing the use-package statement (expected), editing the straight cache file (ugh), manually deleting folders in /repos and /builds, and restarting emacs.

pdftools cannot open libpoppler.so.108

Error Message File mode specification error: (error Error running ‘/home/me/epdfinfo’: /home/me/epdfinfo: error while loading shared libraries: libpoppler.so.108: cannot open shared object file: No such file or directory Fix My system recently upgraded libpoppler to 1.09 with no 1.08 in sight. By making a symlink so that 1.08 is actually pointing at 1.09, pdftools resumed operation. A risky maneauver since we can’t guarantee 1.09 isn’t breaking, but it seems to work here and could be easily undone if necessary.

why does exwm sometimes fail to connect to extra monitors?

I have a 3-monitor setup, using a USB3 dock. Plugging in to my windows machine just works; all monitors connect. However, plug in into my exwm machine sometimes fails, where the extra monitors will remain blank. Usually this is easily fixed when I see it; I press C-M- to open up a terminal outside exwm, and all monitors come alive; then C-M- back to exwm and it finds them, and all workspaces are where they should be.

a cautionary tale on modelines and on updating your emacs config

I recently began having major problems with emacs, including my emacs freezing for significant amounts of time and my exwm windows requiring a repeated command to share focus: one for emacs to think it was focusing there, and another for exwm to move its focus. It never occurred to me that they were related, and efforts to sort them out went to a recent juncture in which I’d both performed a rolling-system upgrade (3000+ packages and Linux kernel upgraded) and also some major upgrades to my emacs config.

selected for brilliant emacs selections

I just discovered1 selected.el2 and am impressed: it is a perfect example of a simple idea that is enormously powerful. This is the kind of idea that leaves you wondering, “why haven’t I thought of that before?” Part of the simplicity is that you define all your own keys for your own usage. Below is my invocation so far, for things I use often. I’m also trying out the move-text3 script, though it isn’t part of my workflow yet.

How to most accurately update my Window numbers?

I use EXWM and three monitors, so knowing my window numbers is crucial to my navigation. I used to use Ace Window to present a red digit at the corner of emacs screens with which number to press to get there. The two problems with this are that you can’t know your numbers until you invoke Ace Windows, and more damningly, you can’t get these numbers on exwm (non-emacs) windows, such as my ever-present browsers.

Best Emacs interfaces

Part of the power of emacs is the navigation and paradigm: cursors zipping around, sophisticated kill-ring and undo support, interactive searching, frames and windows, etc. And all of this within a keyboard-driven interface. So when done right there are some exceptional wrappers/interfaces. Let’s focus on things that are actually just an emacs interface over facilitiers provided by other programs/apis – not just emacs replacements. Below are some superb examples that I find superb:

Best features for text-editing in emacs

There has been recent discussion about emacs for text editing and it got me thinking; I use emacs for a lot of non-code text editing and here are some features I use all the time that lead me to consider emacs good at text-editing. I’ll separate them into built-in and external library categories. What would you add to this list for things that help with raw text-editing (not IDE-like programming features)?

Applying a replacement map to characters in emacs

The Problem I have text in Cyrillic and need to replace individual characters with their transliteration. I have a tiny json of the mappings: {"в": "v","а": "a","ф": "f","ё": "yo","д": "d","ж": "zh","ы": "y","э": "e","л": "l","щ": "shch","я": "ya","й": "j","у": "u","н": "n","г": "g","с": "s","п": "p","ч": "ch","б": "b","х": "kh","е": "ye","ъ": "\"","з": "z","ю": "yu","ь": "'","ш": "sh","о": "o","к": "k","и": "i","ц": "ts","м": "m","т": "t","р": "r"} And I have a number of files that contain lists with entries like