about summary refs log tree commit diff
path: root/configs/shared/.emacs.d
AgeCommit message (Collapse)AuthorFilesLines
2020-01-17 Prefer fullscreen for magit-statusWilliam Carroll1-1/+4
Magit as a fullscreen buffer helps me focus by removing the noise of additional buffers.
2020-01-17 Debug colorscheme.elWilliam Carroll1-1/+1
`colorscheme/prev` was calling `colorscheme/load`, which has been changed to `colorscheme/set`.
2020-01-17 Only whitelist doom- prefixed themesWilliam Carroll1-1/+4
I find that I continually reach for the Doom themes rather than any of the base16 or others.
2020-01-17 Suppress load-theme from confirming changesWilliam Carroll1-1/+1
I don't feel like the confirmation dialog adds much value.
2020-01-17 Drop support for window-manager/screenshotWilliam Carroll1-8/+0
After defining the scrot.el module, I don't have much use for this function. In fairness, I never used this function too much; I wrote it early on when I first switched from i3 to EXWM. As such, it's a bit sloppy. Happy whenever I get a change to do some spring cleaning.
2020-01-17 Consume Mononoki and JetBrainsMono in themes.elWilliam Carroll1-2/+2
I'm liking both of these fonts enough to prefer them over "Input Mono"... at least for the time being.
2020-01-17 Support package-lintWilliam Carroll1-0/+3
This library exposes a function called `package-lint-current-buffer` that I needed to call when attempting to publish `ivy-clipmenu` to MELPA.
2020-01-17 Whitelist Mononoki and JetBrainsMono in fonts.elWilliam Carroll1-1/+3
What's the point of adding them if I'm not going to use them?
2020-01-17 Allow message overrides in clipboard/{copy,paste}William Carroll1-4/+4
In case libraries consuming this would like a way to control the message that's output.
2020-01-17 Support scrot.elWilliam Carroll1-0/+66
Write some Elisp to work with `scrot`, Linux's CLI utility for taking screenshots. It's been too long this that was working as expected! As a bonus, I learned that it's possible to copy images to Linux's clipboard and not just their file paths. This makes for a really nice UX!
2020-01-17 Consume ivy-clipmenuWilliam Carroll1-0/+13
Move keybindings from ivy-clipmenu.el into my clipboard.el. I didn't want to presume users' preferences for the keybindings in ivy-clipmenu.
2020-01-17 Rename clipmenu.el to ivy-clipmenu.elWilliam Carroll2-149/+134
TL;DR: Preparing ivy-clipmenu for publishing. Also: - Removes lingering TODO items. - Clarifies module and function documentation. - Defines groups for custom variables. - Supports history variable for ivy-read.
2020-01-17 Add headers to fs.el fileWilliam Carroll1-2/+8
These are missing and as a code janitor that's just plain unacceptable.
2020-01-17 Begin support for terminator.elWilliam Carroll2-0/+1888
TL;DR: Attempting to use Elisp to manage my Terminator themes. Read the terminal.el module docs for more context about this endeavor.
2020-01-17 Ensure clipmenu/list-clips output matches clipmenuWilliam Carroll1-42/+33
clipmenu/list-clips previously didn't sort or deduplicate entries in the same way that the existing clipmenu list_clips function did. After running some tests, clipmenu/list-clips matches the output except I'm unsure my duplicate algorithm is identical.
2020-01-17 Support functions to toggling the display of the laptopWilliam Carroll1-0/+29
Since I already support toggling for the 4k monitor, I might as well support it for my laptop too.
2020-01-17 Support list/dedupe-adjacentWilliam Carroll1-0/+14
Support a function to deduplicate adjacent elements in a list. Also tracks additional work with TODOs.
2020-01-17 Support call-process-to-stringWilliam Carroll1-0/+6
Writes an Elisp macro to use `call-process` (because it's fast) but capture the output to a string.
2020-01-17 Add parsec.elWilliam Carroll1-0/+3
Ensures parsec.el is installed in Emacs.
2020-01-17 Track TODO for investigating 4k monitor scalingWilliam Carroll1-0/+2
It seems like something when I run `display/enable-4k` my resolution isn't at 4k fully. However, when I call the same command on the command line it does scale properly. This doesn't sound likely, and frankly I haven't had too much time to try and reproduce this. Hence - the TODO!
2020-01-17 Prefer direnv to manage ORG_DIRECTORYWilliam Carroll1-0/+15
Instead of keeping this in my ~/.profile, I'm going to define it in .envrc. What I still don't know is how functions like `getenv` are supposed to interact with direnv. I suppose maybe they aren't? Right now, when I call `(getenv "DOTFILES")` from Emacs, it's `nil`, which I understand. Hopefully the more I use direnv, the more reasonable expectations I'll have.
2020-01-17 Support missing Emacs dependenciesWilliam Carroll2-0/+6
Since I moved this repository away from Dropbox, my elpa, melpa, quelpa packages weren't automatically syncing. This crutch, once removed, cause my Emacs initialization to fall-over. This commit patches some of those missing dependencies.
2020-01-17 Begin supporting Emacs client for clipmenuWilliam Carroll1-0/+158
After a few weeks of having this idea in the back of my mind, I began supporting an ivy interface to clipmenu. I tried clipmon.el for awhile, but it wasn't as good as clipmenu in my experience. To get the best of both worlds, I'm attempting to write an Emacs client for clipmenu! Stay tuned for more updates. If I open source this, which I'd like to, I'll need to answer a few questions: - How should I handle libraries like my prelude.el? - How can I eject this from my mono-repo and dotfiles? See the TODOs scattered throughout the module for an idea of the remaining work. I'd estimate that there's about one to three more hours of work.
2020-01-17 Support prelude/timeWilliam Carroll1-0/+4
Write macro that wraps Elisp's builtin `benchmark` function. I'm doing this because `prelude/time` more closely resembles the API that I would expect.
2020-01-17 Drop support for clipmon.elWilliam Carroll1-44/+0
I prefer cdown/clipmenu. Forthcoming is an ivy/counsel (I never know which word to use) client for clipmenud!
2020-01-17 Support region.elWilliam Carroll1-0/+20
Create a module for working with Emacs's regions.
2020-01-17 Support finance.elWilliam Carroll1-0/+119
Create a finance module to help me cheaply calculate things like the future value of a Spotify subscription or Dropbox subscription or Jiu Jitsu membership.
2020-01-17 Prefer simpler window layout for Org workspaceWilliam Carroll1-3/+1
Prefer only seeing today.org in my Org workspace.
2020-01-17 Support direnvWilliam Carroll2-3/+3
DRY up environment variable definition by using direnv and an .envrc file.
2020-01-17 Support Solarized Light themeWilliam Carroll2-1/+7
I'm also making this my default theme for now. I'm growing a bit tired of randomly assigning themes, since my `terminator` theme is not coupled to my Emacs theme.
2020-01-17 Support keybindings for using 4k monitorWilliam Carroll1-0/+10
I'm not sure I'm sold on the "D{0,1}" keybindings. The thought was that 0 would indicate off and 1 would indicate on. This seems sensible to me. I'm hesitant because I don't think I have precedent for this idiom in any of my existing keybindings. I'm also not sure I like these being leader-prefixed keybindings.
2020-01-17 Debug xrandr integration to support 4k monitorWilliam Carroll2-9/+13
Two things: 1. I'm unsure if what I previously committed ever worked because the arguments to `string/format` were flipped. 2. I'm unsure why my screen devices are sometimes eDP-1 and eDP1. Perhaps expect more commits as this becomes more clear to me.
2020-01-17 Ensure isearch and evil-searches center vertically on the screenWilliam Carroll1-0/+13
I may revert this one day. Checking this in so that one day I can revert it.
2020-01-17 Define light themeWilliam Carroll1-0/+6
Well, we have a lot of dark themes, so in the interest of diversity I now support light themes.
2020-01-17 Reset the custom-file path for EmacsWilliam Carroll1-1/+1
I temporarily set it to /tmp/custom.el while I was in the midst of Nixifying my Emacs setup. Since I'm not Nixified at the moment, I'm reverting this, so that Emacs doesn't ask me the same questions about loading themes every day.
2020-01-17 Configure deadgrepWilliam Carroll1-0/+13
Configuring deadgrep to do a number of things: 1. Set `deadgrep--context` to see more context "after" in the output. 2. Define `deadgrep/dwim` to use a region if one is present; otherwise just behave as `deadgrep`. Warning: This commit relies on a patch I made to deadgrep: supporting the `deadgrep--additional-flags`.
2020-01-17 Blacklist org-mode and fundamental-modeWilliam Carroll1-1/+3
More blacklisted modes in my crusade to define what a "source code buffer" is.
2020-01-17 Define KBD for killing buffersWilliam Carroll1-3/+4
I'm tired of `C-x k`. That's right... my fingers hurt.
2020-01-17 Support additional magit modes in buffer/source-code-blacklistWilliam Carroll1-1/+5
I'm sure I'll discover more modes that I'd like to blacklist; I just haven't encountered them yet.
2020-01-17 Refactor MRU EXWM workspace using cycle/focus-previous!William Carroll2-22/+35
Instead of consuming `cycle/previous-focus`, define a function `cycle/focus-previous!` that "focuses" the element at `previous-index` and returns that element. This function greatly simplified the code in window-manager.el and eliminated the unnecessary `exwm/previous-workspace` variable that was managing the state.
2020-01-17 Cover struct.elWilliam Carroll1-3/+20
Add some basic test coverage to struct.el.
2020-01-17 Support cycle/previous-focusWilliam Carroll1-20/+56
Define a `cycle/previous-focus` function that returns the item that was previously "focused" in the cycle. This is helpful for toggling back-and-forth between buffers and EXWM workspaces for example without needing to define ad-hoc variables to support it. Also: Adds tests to cycle.el. Also: Prefers `struct/set!` instead of `setf`. See the previous commit's message for more information about that preference.
2020-01-17 Prefer struct/set! to setfWilliam Carroll1-4/+9
I originally tried using `struct/set` instead of `setf`, which I had forgotten was the *immutable* version of `struct/set!`. When this didn't work, I reverted to `setf`. After a good night's sleep and with a fresh set of eyes, I dug into the issue and discovered that `struct/set!` was what I wanted the whole. I am curious now about `struct/update` versus `struct/update!`; shouldn't the former be immutable and the latter be mutable? I'll save that investigation for a later date.
2020-01-17 Add missing dependency to set.elWilliam Carroll1-0/+1
I had startup problems without the struct.el module being required since set.el consumes `struct/update`.
2020-01-17 Support functions for navigating buffer cachesWilliam Carroll2-4/+138
I've wanted an MRU/LRU sort of my "source code buffers" in Emacs. This commit support three ways for working with a cache of source code buffers. So first, what's a source code buffer? Well it isn't a buffer like *Messages*; we can call these "Emacs-generated" buffers for convenience. Other problematic buffers are buffers like `magit-status` and `dired-mode` and `erc` buffers. I added some predicates for querying buffers for their major modes. Supporting three KBDs for quickly accessing these functions: 1. <SPC><SPC> Toggle previous buffer 2. <SPC>b Use ivy to fuzzily search source code buffers 3. C-{f,b} Cycle {forwards,backwards} through the source code buffer cache.
2020-01-17 Support KBDs for quickly editing common dotfilesWilliam Carroll1-1/+4
I had forgotten that I defined <SPC>J. Maybe I should switch to using Hydras or transient mode to improve the discoverability of my own setup... well in the spirit of support things that I will likely forget, here's a new KBD for editing config files in the `~/.config` directory.
2020-01-17 Support utils for finding Emacs dotfiles and Org filesWilliam Carroll3-11/+53
Defined `dotfiles/find-emacs-file` and `org-helpers/find-file`, to clean up some of the `find-file` calls I have with long path names. This DRYs things up as well so that the path can be changed without breaking many other things.
2020-01-17 Support xsessionrc and config.fish in dotfiles.elWilliam Carroll1-0/+2
Add entries for xsessionrc and config for the `dotfiles/edit` function.
2020-01-17 Install ts.el for timestamp functions in ElispWilliam Carroll1-0/+5
I've been looking for this! Thank you, @alphapapa.
2020-01-17 Install prism for scope-highlighting > syntax highlightingWilliam Carroll3-0/+19
I've wanted a library like this ever since I saw Douglas Crockford's JS talk about scope highlighting as a more useful alternative to syntax highlighting.