This is the first in a series of commits for refactoring my
configuration to make use of jwiegley's use-package.
In the previous layout of the configuration there were some questions
around what settings go into which file, but in the end it is all just
related to which packages are being configured (besides settings
related to global Emacs behaviour).
This commit introduces use-package forms for all currently used
packages (which are still installed via Nix, not via package.el) but
does not yet clean up the rest of the configuration in a suitable way.
Note that this version introduces a bug in which the configuration of
telephone line is not correctly initialised after package setup.
Implements a periodically updated telephone-line segment that displays
the current unread count for the two most important inboxes in the
mode-line, if there are unread mails.
Telephone line has a slightly easier to configure segment system. This
commit also uses the commit introduced in the previous function to
conditionally display miscellaneous modeline information in the last
window of a frame.
More configuration for this will come over time.
Adds a function that can be used to check whether the current buffer
is displayed in the "last" window of the active frame.
The intention is to use this predicate to modify the modeline display
to only show miscellaneous information (time, battery percentage etc.)
on the last window instead of duplicating it.
Ivy's regex-based fuzzy matching can occasionally be slow, which was
getting on my nerves.
This switches the completion engine to prescient[1] which promises to
be faster. Experimental testing in large files like the
`configuration.nix` man page looks promissing.
[1]: https://github.com/raxod502/prescient.el
This is required in order to let password lookups work correctly when
shelling out to password-store from MSMTP, as it won't be calling
pinentry correctly otherwise.
The default `ivy-pass` function shells out to `pass` in such a way
that using pinentry with emacs doesn't work, causing EXWM to freeze
until `C-g` is hit, after which the password entry buffer pops up.
That was very inconvenient - however, the new auth-source integration
with pass works correctly and this commit introduces a new function
and bindings for using the same functionality as before but doing the
actual password-reading via auth-source.
Last attempt to at least work around
https://github.com/ch11ng/exwm/issues/425 on one of my machines before
reverting to an old EXWM version.
If the randr module is responsible for this issue it will probably
still occur on the laptop and I'll eventually downgrade, but it may be
a clue for debugging it at some point in the future.
I've been wanting to use in-emacs terminal buffers instead of
Alacritty as an EXWM window for a while.
In light of the recent EXWM bugs that cause overlapping X-windows
occasionally I've finally had it!
This commit introduces a new configuration file for multi-term related
settings. Primarily this does the following:
* Introduce a new `C-x t` keybinding which launches a terminal if none
is running, or prompts the user to select one of the existing ones.
* Remap key bindings in term-mode for quick access to features I want.
* Add a `C-c C-r` key binding in term-mode to quickly rename terminal
buffers into something sensible. Hopefully this will play nice with
the ivy-based selector from the first point mentioned here.
I'll see how it goes!
For most of my use-cases Helm seems to be overkill, and despite
overall seeming like a nice and featureful package it has stability
issues and bugs that annoy me.
I've heard that ivy is simpler to use and configure, so I'm giving it
a chance here.