This is normal text.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local hotkey = require "hs.hotkey" | |
local window = require "hs.window" | |
local hse, hsee, hst = hs.eventtap,hs.eventtap.event,hs.timer | |
local spaces = require "hs.spaces" | |
function flashScreen(screen) | |
local flash=hs.canvas.new(screen:fullFrame()):appendElements({ | |
action = "fill", | |
fillColor = { alpha = 0.35, red=1}, | |
type = "rectangle"}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; JD Smith 2024, based on https://www.emacswiki.org/emacs/BufferLocalKeys | |
(defvar-local custom-buffer-local-keys nil | |
"Key-bindings to be set up local to the current buffer. | |
A single (KEY . BINDING) cons or list of such conses, of the form | |
`bind-keys' accepts. Set this as a file-local variable to make | |
bindings local to that buffer only.") | |
;; Only include this if you trust the files you open | |
(put 'custom-buffer-local-keys 'safe-local-variable 'consp) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; org-refile-attach.el --- Move attachments on org refile -*- lexical-binding: t; -*- | |
;; Copyright (C) 2024 J.D. Smith | |
;;; Commentary: | |
;; org-refile-attach enables moving attachments associated with a | |
;; given heading and sub-headings upon refiling it. | |
;; XXX: This a proof of concept, and does not handle moving arbitrary | |
;; sub-trees or regions correctly | |
;;; Code: | |
(require 'org-attach) | |
(require 'org-element) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(defun my/org-toggle-emphasis (type) | |
"Toggle org emphasis TYPE (a character) at point." | |
(cl-labels ((in-emph (re) | |
"See if in org emphasis given by RE." | |
(and (org-in-regexp re 2) | |
(>= (point) (match-beginning 3)) | |
(<= (point) (match-end 4)))) | |
(de-emphasize () | |
"Remove most recently matched org emphasis markers." | |
(save-excursion |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; eglot-booster.el --- boost eglot using emacs-lsp-booster -*- lexical-binding: t; -*- | |
;; Copyright (C) 2024 J.D. Smith | |
;;; Commentary: | |
;; **UPDATE** This has been superseded by the following package: | |
;; https://github.com/jdtsmith/eglot-booster | |
;; | |
;; Boost eglot with emacs-lsp-booster. | |
;; 1. Download a recent emacs-lsp-booster from |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Simple test exhibiting motion errors with inline images. | |
;; See Bug#67604 | |
;; 1. Eval this buffer (M-x eval-buffer). | |
;; 2. A buffer with 3 colored SVG blocks will appear. | |
;; 3. Adjust your frame's width until the green image just wraps to | |
;; the 2nd screen line, then reduce width by one more char. | |
;; 4. In the buffer with the images, M-x my/find-skip-bug. If it | |
;; succeeds, it will report the pixel offset where the bug | |
;; occurred. NOTE: The Green image must appear at the start of a | |
;; line, or a "false positive" bug ID has occurred. Increase your |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;;; test-svg-wrapped --- test pixel position for SVG images -*- lexical-binding: t; -*- | |
;; This small code creates a buffer with a couple long lines with | |
;; several SVG images of varying height interspersed. It also | |
;; includes a tool to check if the pixel height information one pixel | |
;; above each character agrees with expectations. To use: | |
;; M-x my/test-svg-positions | |
;; (use a C-u prefix to create SVG overlays instead of text properties) | |
;; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; Maximize a window vertically or horizontally within its frame | |
(defun maximize-window-in-direction (&optional horizontally) | |
"Maximize window. | |
Default vertically, unless HORIZONTALLY is non-nil." | |
(interactive) | |
(unless (seq-every-p | |
(apply-partially #'window-at-side-p nil) | |
(if horizontally '(left right) '(top bottom))) | |
(let* ((buf (window-buffer)) | |
(top-size (window-size (frame-root-window) (not horizontally))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(let ((orig (default-value 'repeat-echo-function)) | |
rcol ccol in-repeat) | |
(setq | |
repeat-echo-function | |
(lambda (map) | |
(if orig (funcall orig map)) | |
(unless rcol (setq rcol (face-foreground 'error))) | |
(if map | |
(unless in-repeat ; new repeat sequence | |
(setq in-repeat t |
NewerOlder