about summary refs log tree commit diff
path: root/emacs/.emacs.d/wpc
AgeCommit message (Collapse)AuthorFilesLines
2020-10-04 Disable company-mode during git commitsWilliam Carroll1-0/+1
Why didn't I configure this earlier? For years, my workflow involved checking a buffer's major mode and then extending that major-mode's hook. Confusingly (to me), the `major-mode` for `COMMIT_EDITMSG` is `text-mode`, and I didn't want to disable `company-mode` for *all* `text-mode` buffers, which is what the following would have done: ```elisp (add-hook 'text-mode-hook (lambda () (company-mode -1)) ``` Thankfully I recently invested some time into learning more about Emacs's offline help system, `Info-mode`, so -- putting that knowledge to work -- I ran `info-apropos` and searched "magit commit". After ~5 minutes of reading I knew the recommended way of configuring this was to modify `git-commit-setup-hook`. How validating!
2020-10-04 Move KBDs from window-manager.el to keybindings.elWilliam Carroll2-55/+37
Assuming (hoping) that this doesn't break anything.
2020-10-04 Debug Emacs initializationWilliam Carroll1-1/+1
Since "Briefcase" doesn't exist, `window-manager--switch` fails and so does `exwm-init-hook`. It'd be nice to catch these errors earlier...
2020-10-03 Bind "g SPC" to #'Info-scroll-upWilliam Carroll1-0/+1
I'm using the "g <char>" pattern that evil-collection uses, which I think is okay.
2020-10-03 Alter doom-acario-dark's font for commentsWilliam Carroll1-1/+6
Thanks to my newly acquired `Info-mode` navigation skills, I quickly learned how to alter fonts in Emacs!
2020-10-03 Define KBDs for ibufferWilliam Carroll1-0/+9
I'd like to start using ibuffer more, so I'm making it a more hospitable place by defining useful KBDs.
2020-10-03 Define KBDs for Info-modeWilliam Carroll1-1/+16
I took the Info-mode tutorial (finally) and I found some things from evil-collection that I liked, other things that I didn't like.
2020-10-03 Set ibuffer's default sort to major-modeWilliam Carroll1-0/+3
I find this a more intuitive default.
2020-10-03 Define window-manager-swap-workspacesWilliam Carroll1-0/+16
This is a wrapper around the existing `exwm-workspace-swap` except it's aware of my `window-manager-workspace` struct.
2020-10-03 Define fn for outputting the current workspace's labelWilliam Carroll1-0/+6
This is a useful helper fn, and hopefully something I'll support in my mode line soon.
2020-10-03 Rename workspacesWilliam Carroll1-2/+2
Prefer "Web Browsing" and "Coding".
2020-10-03 Ensure "RET" follows links in Info-modeWilliam Carroll1-0/+5
Shouldn't this be handled by evil-collection?
2020-10-02 Prefer doom-acario-dark themeWilliam Carroll1-1/+1
I recently looked at the updated Doom themes, and the screenshot for this one looked appealing. I'm going to give it a try.
2020-09-29 Create a workspace for logsWilliam Carroll1-0/+4
Now that I have a vertical monitor, I'd like to use it for terminals and logs.
2020-09-29 Extend named-workspace struct to include display informationWilliam Carroll1-15/+14
I want to couple my EXWM workspaces with monitors. E.g. - I'd like my "Chatter" workspace to prefer my `4k-vertical`. This change supports that. I also did a small amount of formatting, which I don't think belongs in a separate commit.
2020-09-29 Debug failed Emacs initializationWilliam Carroll2-4/+9
My newly minted macro for defining monitors introduced two bugs: 1. Laptop defined its position in terms of 4k-horizontal and 4k-horizontal defined its position in terms of laptop, I introduced a circular dependency. 2. The identifier, `laptop-monitor`, which `window-manager.el` depends on, is now defined as `laptop`. A friendly reminder to myself to always test new Emacs builds to make sure that everything can initialize properly. This is something that my CI should be automating, but ever since I moved flats, I lost my CI and need to restore it. This is another reminder to drop into a TTY when Emacs fails to initialize, run `nix-env --rollback`, then attempt to restart X. But this time, debugging this entirely from a TTY wasn't so disappointing.
2020-09-28 Support display-4k-vertical in exwm-randr-workspace-monitor-plistWilliam Carroll1-2/+3
EXWM needs to know about my newly defined monitor.
2020-09-28 Define display-4k-verticalWilliam Carroll2-71/+78
I recently acquired a new monitor, which I'm orienting vertically for logs, chats, etc. As such I needed to add more functions, KBDs to wrangle the setup. To DRY up my code, I define a macro, `display-register`, as a DSL for supporting new monitors. This: - defines two functions for enabling and disabling the displays - defines a constant, `display-<name>` It's basically just a wrapper around `xrandr`, and that's good enough for now.
2020-09-28 Debug dottime in modelineWilliam Carroll1-4/+5
My modeline was displaying the local time (not UTC time) and appending the UTC timezone offset, which was confusing me. When it was `00:03` in London, my modeline would read `00:03+01`. One way of interpreting this is that it's `00:03` in London and the `+01` is a reminder that I'm one hour ahead of UTC. However, I was reading it as though it was `00:03` UTC and thus `01:03` in London. I had to set `display-time-string-forms` instead of `display-time-string` to pass the `t` argument to the `ZONE` parameter to indicate that I'd prefer to use UTC time and not local time when expanding the variables.
2020-09-27 Reuse helpful-mode buffers when traversing documentationWilliam Carroll1-0/+8
Instead of scattering helpful-mode buffers, reuse existing buffers when traversing documentation. See this blog post for more information: https://d12frosted.io/posts/2019-06-26-emacs-helpful.html
2020-09-08 Define KBD gu to browse-url-at-pointWilliam Carroll1-0/+1
This is handy!
2020-09-08 Prefer .ssh/config instead of Tramp's defaultsWilliam Carroll1-0/+5
Instruct Tramp to use my SSH settings in .ssh/config.
2020-09-07 Install additional KBDs for bookmark.elWilliam Carroll1-1/+3
Generate KBDs to call `find-file` on the bookmark.
2020-09-07 Define KBDs for quickly visiting BRIEFCASE magit-statusWilliam Carroll1-1/+5
I'd rather be able to jump straight here instead of visiting a file or directory first.
2020-09-07 Drop support for Nix home-managerWilliam Carroll1-10/+0
On my work machines, I'm finding home-manager to be more bothersome than helpful. I'm preferring a simpler workflow for the time being.
2020-09-07 defgroup for timestring.elWilliam Carroll1-2/+7
Trying to be more idiomatic.
2020-09-07 Increase the default size of my workstation fontWilliam Carroll1-1/+1
Consider moving some of this logic into my work-specific configuration.
2020-09-07 Debug defensive call to (server-start)William Carroll1-1/+1
I was previously relying on the variable `server-process` being set, but this only resulted in false-negatives and broken initializations. This should make my Emacs initialization more stable.
2020-09-07 Conditionally load-themeWilliam Carroll1-3/+6
When the `window-system` is set, use `solarized-light`. When it's not, use `wombat`.
2020-09-07 Conditionally start Emacs serverWilliam Carroll1-1/+2
Only attempt to start the Emacs server if there isn't already one running.
2020-09-07 Vertically align search results conditionallyWilliam Carroll1-10/+13
Only when `window-system` is set.
2020-09-07 Install keybindings for bookmark.elWilliam Carroll1-0/+4
I would like to restore these KBDs.
2020-09-07 Drop support for building emacs.glinuxWilliam Carroll1-3/+2
I'm defining a fork of this function in my work configuration, so I longer want this here.
2020-09-07 Debug project-find-file for briefcaseWilliam Carroll1-1/+1
As the name suggests, `f-parent-of?` only returns true when A is a *parent* of B. What I want instead if `f-ancestor-of?`.
2020-09-06 Prefer 'vc as the project-find-file type when at briefcase's rootWilliam Carroll1-4/+10
See the explanatory comment that I left in the code.
2020-09-06 Add defgroup vterm-mgt for vterm-mgtWilliam Carroll1-4/+9
In the past I used `defconst` in many of my Elisp libraries where I should've used something like: ```elisp ;; some/path/to/some-lib.el (defgroup some-lib nil) (defcustom some-lib-setting nil :group 'some-lib) ``` When I encounter code that I should've structured this way, I'm cleaning it up to prefer this more idiomatic pattern.
2020-09-04 Call make-process instead of call-process in scrot.elWilliam Carroll1-15/+7
While attempting to debug why pressing `C-s-s` from an X-window screenshots my entire screen, I switched from `call-process` to `make-process`, which is async. I still haven't debugged the original issue, but I think this is an improvement regardless.
2020-09-04 Restore KBDs for changing my font sizeWilliam Carroll1-0/+4
When I removed the KBD logic from fonts.el, I should have moved it here, but I did not.
2020-09-04 Debug broken pulse-audio KBDsWilliam Carroll1-4/+5
Looks like when I linted my Emacs I forgot to change the prefix from `pulse-audio/` to `pulse-audio-`.
2020-09-04 Enable font ligatures for Emacs 27!William Carroll2-0/+32
Now that Emacs is capable a rendering font ligatures, I defined a function to enable them in fonts.el. Everything works, and it's beautiful.
2020-09-02 Prevent warning during Emacs initializationWilliam Carroll1-1/+2
Now that my `script.el` is behaving as expected (wahoo!), start linting away anything that shows up in the `*Warnings*` and `*Errors*` buffers.
2020-09-02 Linting ElispWilliam Carroll11-21/+23
TL;DR: - Prefer cl-lib - Prefer spaces to tabs - Resolve various checkdoc complaints
2020-09-02 Remove KBD installations from more Elisp modulesWilliam Carroll2-33/+0
I originally liked this pattern, but now I'd prefer to put everything in keybindings.el.
2020-09-02 Require general.el for packages that depend on itWilliam Carroll12-0/+32
Since I'm calling `(require 'general)` in `wpc-package.el`, which gets called at the beginning of my `init.el` file, all sub-modules have `general`. I originally wanted this, but I'm beginning to rethink that preference. After `script.el` broke my CI because of a missing `general` dependency, I'm fixing it for `buffer.el` and all other modules that consume `general`.
2020-09-02 Add missing ts.el dependency to buffer.elWilliam Carroll1-0/+1
Since script.el depends on buffer.el now, buffer.el fails to evaluate because of a missing dependency on ts.el. Blindspots like this make me want to eventually support testing individual loads of each of the libraries in my .emacs.d/wpc directory.
2020-09-02 Debug undefined add-hook-before-saveWilliam Carroll4-5/+36
`use-package` complains that `add-hook-before-save` doesn't exist. This is because it's now named `macros-add-hook-before-save`. This fixes that.
2020-09-02 Add missing Elisp dependenciesWilliam Carroll10-0/+16
TL;DR: - Require cl-macs.el for modules using CL-style macros like `cl-defun` - Require struct.el for call to `struct-set!`
2020-09-02 General Elisp lintingWilliam Carroll5-38/+8
TL;DR: - Remove `require` statements from init.el - Remove unused, auto-install KBDs for bookmark.el - Remove unused `require` statements from clipboard - Remove unused, commented-out code I would like for an Elisp linting stage to test for unused `require` statements, but I'm unsure how practical that is to support.
2020-09-02 Remove circular Elisp dependencyWilliam Carroll1-27/+0
maybe.el -> prelude.el -> maybe.el I should test for circular-dependencies in CI...
2020-09-02 Pull Emacs 27 from @tazjin's depotWilliam Carroll1-7/+0
Here's what happened: My `emacs.glinux` derivation relies on gLinux `/usr/bin/emacs`, and Google recently published version 27, so all corporate machines (i.e. this laptop) switched from Emacs 26 to Emacs 27 overnight. However, my Nix derivation was building all of the packages for Emacs 26, so some packages were compatible while others weren't. The Elisp package, `emr`, doesn't build for version 27, so I dropped it altogether.