‘The half minute which we daily devote to the winding-up of our watches is an exertion of labour almost insensible; yet, by the aid of a few wheels, its effect is spread over the whole twenty-four hours.’
Benjamin Slade

Posts categorized in ‘emacs’ (14)

Free keybinding with Tridactyl in Firefox, and in-Emacs editing

Since the effective demise of the Conkeror web browser, I’ve mainly been using Firefox (with some experimentation with Nyxt browser). I’ve missed the ability to quickly browse with the keyboard and customise keybindings. I’ve played with the Tridactyl extension for a few years, but Firefox limitations in part have kept me from using it more extensively. But I stumbled across a relatively easy way of “unreserving” reserved Firefox keys (like <C-p>, <C-f> etc.

Automatically adding information to Org-roam file properties

This expands on a feature I included in the setup for using Org-roam on Android/LineageOS in the last post, specifically automatically adding properties to newly created Org-roam files. Since Org-roam v2 creates a top properties drawer (with an :ID: tag) anyway, it is nice to stick other information there as well. Specifically, information that could be useful in some situation, but which usually we don’t want to see, like :AUTHOR: (it’s probably you, and you know who you are), :CREATION_TIME: (and why not use Unix epoch time?

Org-roam on Android

I’ve been using the note-taking Zettelkasten-ish Org-roam system for a few months and it’s been very useful to me, just as a low-friction way of making more notes and easily finding and/or (re)discovering notes that I’ve made. It’s pretty useful to be able to have access to these notes, and be able to quickly add notes, on mobile as well. I thought it might be useful to include here some notes on how to do, since (especially since v2 of Org-roam) there are some hurdles.

Dynamically set pdf-tools annotation colours

In Emacs, pdf-tools can be used to add annotations to a PDF document. It can be useful to have multiple annotation colours though, and be able to set these on the fly. Here’s an example of how to do it with four colours: ;; annotation colours (defun bms/pdf-annot-colour-blue () (interactive) (setq pdf-annot-default-markup-annotation-properties '((label . "") (color . "blue") (popup-is-open))) (message "%s" (propertize "Annotation colour set to blue." 'face '(:foreground "blue")))) (defun bms/pdf-annot-colour-yellow () (interactive) (setq pdf-annot-default-markup-annotation-properties '((label .

Twiddler config for Emacs

The Twiddler [here’s archive.org’s link, as the site seems to be down as I write this], a one-handed chording keyboard, has a longish history of being associated with Emacs. Here’s 1990s Alan Alda interviewing Thad Starner, who’s using a wearable-computing device foreshadowing Google Glass, using a Twiddler mk 1 to interact with Emacs (using the Remembrance Agent): I’ve long been intrigued by this one-hand, non-tethered input method and finally got a Twiddler 3.

Beautiful and Free Unicode Typefaces, for editor and printer (including a comparison of Latin Modern and Computer Modern Unicode)

For my academic papers, I often need a typeface with a wide range of characters and diacritic combinations. Basic diacritics are supported by a wide range of fonts, but more specialised diacritics and particularly combinations of diacritics only work well in a handful of typefaces. I write my papers in TeX, which has two components: the typeface used to set the paper in (La)TeX and the typeface/font used inside Emacs, where I write the papers.

Top 50 IF list 2019

Emily Short wrote a blog post a fortnight ago or so discussing her nominees for Victor Gijsbers’ Top 50 Interactive Fiction Games of All Time list, 2019 edition. The contest closes on the 31st of July 2019 (i.e. in 2 days, as of the day I write this), and I was thinking about what games would be on my list. This has also resulted, perhaps more importantly, with me having a list of games I still need to play.

Auto-generate “creator” PDF metadata in AUCTeX using yasnippet

After struggling with some poorly-handled, apparently “reset” proofs introducing heaps of errors (despite my providing a .tex source) for the past few days,1 I thought about providing automated pdf-tags indicating creation tools used for my TeX-produced documents. Real, professionally-typeset documents deserve to have the tools used to produce them properly recognised in their metadata. So here’s a yasnippet which generates auto-populated hyperref options to generate a pdf-creator tag indicating the version of Emacs, AUCTeX, and distro used:

Equake(!) Quake-style overlay console in StumpWM

I’ve been alternatively using both KDE Plasma 5 and StumpWM on various machines and have got a working model for using the Equake drop-down in StumpWM. The StumpWM #'invoke-equake command hides (using StumpWM native hide-window, rather than Emacs’s make-frame-invisible as the latter creates various issues in finding and fetching the Equake window) the Equake frame if it’s the currently active window; it searches through all windows in all groups on the current screen/monitor, and calls emacsclient -n -e '(equake-invoke)' to create an Equake frame if no extant Equake window is found; and if an Equake window does already exist for the current screen, it is yanked into the current group, pulled into the current frame, and unhidden (if necessary).

Equake: A drop-down console written in Emacs Lisp

Over the holiday break I’ve been working on developing a Quake-style drop-down console, dubbed Equake / equake. It is not yet on Melpa, but is accessible at https://gitlab.com/emacsomancer/equake.1 equake, written fully in Emacs Lisp, is designed as a ‘classic’ drop-down console interface like Yakuake, inspired by ‘cheat’ consoles in games like Quake. It provides access to various ‘shells’ implemented in Emacs, including shell (an Emacs wrapper around the current system shell), term and ansi-term, (both terminal emulators, emulating VT100-style ANSI escape codes, like xterm does), and eshell (a shell written entirely in Emacs Lisp).

Grab word etymologies in Emacs

On Xah Lee’s blog I noticed an entry on linking to word etymologies from Emacs (2018-08-16: “emacs, create link of word etymology”). What his function does is create a html link to the Etymonline.com page on the currently selected word. But I thought: it would be great to have a quick way of pulling up etymological information within Emacs itself. So, with a little help from Links (i.e. you’ll need to have Links installed), here is a first attempt at such a function:

Managing emacsclient windows in StumpWM

I’m still working on getting my GuixSD machine configured, including working on getting familiar with StumpWM – a windows manager written in Common Lisp – which is the desktop paradigm I’ve decided upon for this Lisp-centric machine. I’m somewhat habituated to (my) AwesomeWM keybindings, which involve the Super key in combination with various other keys, including say s-1 for tag/workspace 1, s-3 for tag/workspace 3, &c., and s-E (i.e. hold Super and Shift and press e) to launch an emacsclient (see below on the Emacs client/daemon configuration).

Guix: You are in a maze of lispy little passages, (map equal? ′(′all ′alike) ′(′all ′alike))

So I finally made a serious go of running GuixSD, a GNU Linux distro which is largely built on GNU Guile Scheme (a dialect of Lisp) on one of my machines (one I had actually put together with GuixSD in mind: an X200 Thinkpad, which I Libreboot‘ed and put a Atheros Wi-Fi card in), and, to increase both the quantity and variety of Lisps involved, am trying to use with StumpWM (which is written in Common Lisp).

New blog using Emacs, Org mode & Hugo

I’ve been wanting to have an Emacs-powered blog for some time. Finally, thanks largely to the yeoman’s work put in by Kaushal Modi on ox-hugo, an exporter from native Org mode format to Hugo-ready markdown files, as well his theme/configuration for Hugo, hugo-refined (which the theme used here is largely based on), I finally have an ideal Emacs-centric blogging environment, though I’m sure I’ll continue to tweak things a bit.