| Age | Commit message (Collapse) | Author |
|
And finally get around to setting calendar-intermonth-text.
Re-implement the docstring's example using functions I actually
understand.
|
|
|
|
That package is unusual in that it requires… requiring it, in order
to activate its settings. So it's a good candidate for use-package's
:demand t.
It's also a good candidate because something changed in Emacs's Lisp
pretty-printing code, and now customizing anything changes how this
variable is serialized, generating a spurious diff. Can't wait to
have completely moved away from that auto-generated form.
|
|
* Remove provisions for Emacs<28.
* Move Magit command to my/magit-map.
|
|
|
|
Move Python settings to use-package. Tweak a couple of knobs while in
there.
|
|
* "Extra keys" are advertised for non-graphical configurations; as it
happens, they are also useful to provide substitutes for bindings
based on arrow keys.
* Speed commands are nice. Might tweak the predicate some day, but
the default is already useful.
|
|
Mostly to avoid icomplete jank (bug#40152).
Inspired by:
<https://www.scss.tcd.ie/~sulimanm/posts/default-emacs-completion.html>
Rationale for the customizations:
C-M- chord for navigation Because I found myself missing C-n/C-p in
a couple of situations.
auto-help 'visible The feedback is not as immediate as
icomplete, but it's good enough. Tried
'always, but there's a sit-for somewhere
that causes a weird pause if you happen to
RET before bringing up completions.
auto-select 'second-tab M-v? M-g M-c??
show-help nil "Click on a selection to select it" 😏
format 'one-column Where have you been all my life.
max-height 10 More often than not I'm typing something
inspired by the content from another
buffer, so limit how much
context *Completions* can hide.
auto-choose icomplete never clobbered the minibuffer
until I asked it to (with e.g. C-M-i).
Since C-u M-RET is a thing, keep
candidates off the minibuffer unless I
pull them in, in case I change my mind and
start typing something entirely different
from the currently highlighted candidate.
|
|
Puzzled by this problem I have with :hook. "(use-package) Hooks"
suggests that if package X defines function X-foo to be used by
package Y in Y-bar-hook, then the idiomatic thing to do is…
(use-package X
:hook ((Y-bar . X-foo)))
… but empirically, if Y.el contains…
(defcustom Y-bar-hook '(Y-quux Y-corge))
(add-hook 'Y-bar-hook #'Y-grault)
… then Y-bar-hook will be set to '(X-foo Y-grault): it will be missing
the functions added in the defcustom form.
Since add-hook does this:
(or (boundp hook) (set hook nil))
I am assuming that the problem happens when use-package runs X's :hook
additions before Y is loaded. No idea (a) if I can reproduce from -Q
(b) if this is a SNAFU from setting always-defer (c) if this could be
solved by sprinkling :after or :requires.
|
|
|
|
Recent ElDoc & Eglot developments have made the defaults much more
tolerable (the echo area height does not oscillate as much) &
useful (linter warnings are no longer preempted by symbol
documentation).
|
|
'cause why not.
|
|
|
|
* ponder magical "kill context so I can paste it into another app"
commands,
* remove obsolete Magit variables,
* make org-goto use the "path completion" UI,
* ponder better buffer names for some buffers.
|
|
Leave font-lock faces alone; just unset shell-font-lock-keywords.
|
|
|
|
|
|
show-paren-mode is not needed for Emacs≥28, but I still have stuff in
these dotfiles that purport to support older versions.
|
|
They've been sitting here unstaged for, like, ever.
|
|
|
|
😵💫
Trying to get back the sense of sharp contrast I had before.
Snippets from *scratch* in case I need to recompute some of these:
(defun my/color-hsl-to-rgbhex (h s l)
(apply
'color-rgb-to-hex
`(,@(color-hsl-to-rgb h s l) 2)))
(defun my/color-hs1-l2 (c1 c2)
(pcase-let ((`(,h1 ,s1 _) (apply 'color-rgb-to-hsl
(color-name-to-rgb c1)))
(`(_ _ ,l2) (apply 'color-rgb-to-hsl
(color-name-to-rgb c2))))
(message "hue %.3f with s %.3f l %.3f" h1 s1 l2)
(apply 'color-rgb-to-hex
`(,@(color-hsl-to-rgb h1 s1 l2) 2))))
(defun my/modus-rgb (key palette)
(let ((value (car (alist-get key palette))))
(if (stringp value)
value
(car (alist-get value palette)))))
(list-colors-display
(list (my/modus-rgb 'bg-completion modus-vivendi-palette)
(my/color-hs1-l2 (my/modus-rgb 'bg-completion modus-vivendi-palette)
"#303030")
(my/color-hs1-l2 (my/modus-rgb 'bg-completion modus-vivendi-palette)
"#202020")))
(pcase-dolist (`(,sym ,val)
modus-vivendi-palette)
(when-let ((color (and (string-match "bg-\\(.*\\)-subtle" (symbol-name sym))
(match-string 1 (symbol-name sym))))
(darker (color-darken-name val 40.0)))
(message "%s (%s): %.2f"
color
val
(modus-themes-contrast val (car (alist-get (intern color) modus-vivendi-palette))))
(message "%s (%s): %.2f"
color
darker
(modus-themes-contrast darker
(car (alist-get (intern color) modus-vivendi-palette))))))
(dolist (diffkind '(removed changed))
(dolist (suffix '("" "-faint" "-refine"))
(insert (format "(bg-%s%s \"%s\")\n"
))))
(list-colors-display
(seq-map (pcase-lambda (`(,h ,l))
(apply 'color-rgb-to-hex `(,@(color-hsl-to-rgb h 1.0 l) 2)))
'((0.00 0.04)
(0.00 0.08)
(0.00 0.16)
(0.59 0.04)
(0.59 0.08)
(0.59 0.16)
(0.12 0.04)
(0.12 0.08)
(0.12 0.16))))
|
|
FTR, things that I expect to need further tweaks and/or discussions
with Prot:
(a) no "version" command, so it's kind of hard to guess what we are
working with programmatically,
(b) preset palettes overrides are unavailable before loading the
themes, and we can't require 'modus-themes either; maybe the
manual should point out that users who want to use those presets
should (1) do that in :config (2) load the theme twice?
(c) lots of backgrounds look very light/saturated to me even in the
"faint preset": e.g. diff backgrounds, selected completion,
region, eldoc current argument.
|
|
|
|
Try as I might, I can't get my fingers to reach for underscores when
my brain is thinking of *equality signs.
|
|
I don't use any of the auto-deferring keywords; setting this shaves a
bit off my startup time (5s ↘ 3.2s).
|
|
This reverts commit d3e251ac8ac4ee953fe24234b4ff4755a185b494.
Will customize use-package-always-defer instead.
|
|
|
|
|
|
|
|
Also move it up, closer to Custom-related stuff.
|
|
Also update package list:
- account eglot and use-package being built-in
- add a couple of packages for Emacs development (elisp-benchmarks,
gnus-mock)
- remove paradox (most features now built into vanilla package.el)
|
|
Following the advice from (modus-themes) Sample configuration with and
without use-package.
|
|
That one was a doozy.
|
|
Undecided about C-c bindings. I like having them in "one neat pile",
rather than scattered across several use-package forms.
|
|
|
|
|
|
|
|
In order to copy/paste between word processors and Emacs markup modes.
This needs a bit more work (e.g. when copying Org snippets, we need to
siphon some #+ macros and copy any #+SETUPFILEs) but it's a start.
|
|
|
|
|
|
(window-buffer window-to-split) returns nil in that case, because
window-to-split is the root of the "window tree" rather than a "leaf"
or "live" window with an actual buffer attached to it.
|
|
Emacs seems to take margins into account when deciding whether a
window can be split horizontally. So with my current personal config,
a full-width Gnus article window would have huge margins, and could
not be split horizontally because a half-width window would not have
enough room for these margins.
|
|
Lots of commands in Gnus buffers try to reinstate the setup defined in
gnus-buffer-configuration, so when eg drafting a message with the
original article displayed on the side, and using P or N to move
around the thread, there ends up being some friction in window
management.
So stop using the Group buffer as a way to left-pad articles; it
doesn't even look good on half-width frames anyway.
|
|
Couple of mistakes there:
* buffer-local-value was called too late,
* the symbol wasn't quoted, so buffer-local-value ended up taking a
peek at fill-column directly, because that's what my/centered-width
defaults to.
Just wrap the whole thing in with-current-buffer. That'll make it
easier to introduce new buffer-local variables set via mode hooks.
|
|
|
|
|
|
|
|
|
|
|
|
|