Age | Commit message (Collapse) | Author | Files | Lines |
|
Ch-ch-ch-changes
|
|
Instead of dottime...
|
|
I forgot to remove references to the vertical display that I remove in a
previous commit.
|
|
Today is my first day back in the office at Google (this time at MP2 in
Sunnyvale)! As such, I have a new desk, new monitors, so expect some changes to
my configuration until I stabilize everything.
|
|
`sudo systemctl suspend` wasn't working because it required a secure password
prompt to read the user's password for `sudo`. The recommended way to call
`shell-command` with a `sudo` command (from what I read online) is to set
`default-directory` to `/sudo::` before calling `shell-command`. This works just
fine, so I refactored the function, `window-manager-logout`.
|
|
Instead of calling this manually.
|
|
When `keybindings` requires `window-manager`, the `evil-want-integration`
warning emerges. If I remove the `evil` dependency from `window-manager`, it
resolves the issue.
|
|
This is another (overdue) change about which I'm quite excited. Add
spell-checking to my Git commit buffers. :)
|
|
Thankfully `general` made this change super easy and maintainable to support.
|
|
I was tired of using `arandr` to manually configure my monitor positions, so I
encoded the settings in Elisp in the `display.el` module.
TL;DR:
- Drop support for `position` kwarg in `display-register` macro
- Support `coords` kwarg in `display-register`.
- `defconst` the `xrandr` arguments and command in `display-register`.
- Define `display-arrangement` macro that consumes the `xrandr` arguments that
`display-register` defines to create an interactive function,
`display-arrange-<NAME>`, which -- when invoked -- runs one xrandr command to
configure a display "arrangement".
|
|
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!
|
|
Assuming (hoping) that this doesn't break anything.
|
|
Since "Briefcase" doesn't exist, `window-manager--switch` fails and so does
`exwm-init-hook`. It'd be nice to catch these errors earlier...
|
|
I'm using the "g <char>" pattern that evil-collection uses, which I think is
okay.
|
|
Thanks to my newly acquired `Info-mode` navigation skills, I quickly learned how
to alter fonts in Emacs!
|
|
I'd like to start using ibuffer more, so I'm making it a more hospitable place
by defining useful KBDs.
|
|
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.
|
|
I find this a more intuitive default.
|
|
This is a wrapper around the existing `exwm-workspace-swap` except it's aware of
my `window-manager-workspace` struct.
|
|
This is a useful helper fn, and hopefully something I'll support in my mode line
soon.
|
|
Prefer "Web Browsing" and "Coding".
|
|
Shouldn't this be handled by evil-collection?
|
|
I recently looked at the updated Doom themes, and the screenshot for this one
looked appealing. I'm going to give it a try.
|
|
Now that I have a vertical monitor, I'd like to use it for terminals and logs.
|
|
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.
|
|
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.
|
|
EXWM needs to know about my newly defined monitor.
|
|
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.
|
|
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.
|
|
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
|
|
This is handy!
|
|
Instruct Tramp to use my SSH settings in .ssh/config.
|
|
Generate KBDs to call `find-file` on the bookmark.
|
|
I'd rather be able to jump straight here instead of visiting a file or directory
first.
|
|
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.
|
|
Trying to be more idiomatic.
|
|
Consider moving some of this logic into my work-specific configuration.
|
|
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.
|
|
When the `window-system` is set, use `solarized-light`. When it's not,
use `wombat`.
|
|
Only attempt to start the Emacs server if there isn't already one
running.
|
|
Only when `window-system` is set.
|
|
I would like to restore these KBDs.
|
|
I'm defining a fork of this function in my work configuration, so I longer want
this here.
|
|
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?`.
|
|
See the explanatory comment that I left in the code.
|
|
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.
|
|
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.
|
|
When I removed the KBD logic from fonts.el, I should have moved it here, but I
did not.
|
|
Looks like when I linted my Emacs I forgot to change the prefix from
`pulse-audio/` to `pulse-audio-`.
|
|
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.
|