about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorFilesLines
2020-11-12 Mark additional movies as watchedWilliam Carroll1-0/+0
Making progress...
2020-11-12 Style habit screen to accommodate footerWilliam Carroll1-3/+3
Add spacing to the bottom to make space for the footer.
2020-10-11 Tweak stylesWilliam Carroll1-2/+2
Add spacing to help the app breathe.
2020-10-11 Support multiple HabitTypesWilliam Carroll2-73/+196
I could have and should have broken this change into smaller pieces, but when I came up for air, I had changed too much, and most of the changes are intermingled. Oh well... this is an exciting change! Include habits for: - Morning - Evening - Payday (the 25th) - First of the Month - First of the Year Since the Morning and Evening routines might be a bit noisy, I'm excluding them from the output using a flag, `include{Morning,Evening}`, which I support in the UI to toggle their visibility. I made *much* more progress on this app that I expected to today, and I *think* -- short of supporting a database and a server -- I'm close to being *completely* finished. Wahoo!
2020-10-11 Support Msg to clear all completed tasksWilliam Carroll2-5/+45
Add a simple button to clear all completed tasks.
2020-10-11 Render time remaining in UIWilliam Carroll1-2/+38
Show the number of minutes remaining before completing all of the tasks.
2020-10-11 Move tailwind function into Utils moduleWilliam Carroll2-17/+63
Instead of accepting `List (String, Int)`, accept `List Strategy` where `Strategy` defines whether or not the string of selectors should be applied to the element. I'm also renaming it `class` so I can just use `Utils.class`; `tailwind` has little to do with the function itself.
2020-10-11 Expand Habit typeWilliam Carroll2-48/+127
Include: - habitType: Daily, Weekly, Yearly... what's the trigger? - minutesDuration: Estimation of how long it'll take to complete
2020-10-11 Watch a few moviesWilliam Carroll1-0/+0
Here's what I watched: - Ran - Children of Heaven - Lawrence of Arabia Only 78/250 movies to go!
2020-10-11 Tweak stylesWilliam Carroll1-3/+6
- Change header to blue - Change habit to gray when completed - Prefer app font for footer instead of monospaced font
2020-10-11 Create UI module for common componentsWilliam Carroll2-17/+27
Create UI.elm to house components like `button`, which is a simple HTML button with `focus:outline-none` applied as a `class`, which is an accessibility feature that I don't need for this touch-screen application. I like this pattern more than my more opinionated patterns for UI modules in Elm where I'd define all of the arguments as a record type (i.e. kwargs).
2020-10-11 Prefer handwritten fontWilliam Carroll2-2/+8
Use the Google Fonts API to fetch a handwritten font, which gives the app a modicum of personality. There are more "best practices" ways to do this, such as: - Download the font once, and include it in the bundle - Extend the Tailwind configure to recognize the font - Ditch the inline <style> block But I don't need the performance benefits that the first bullet provides. And the second two bullets are more relevant for a larger application with more than one font. So I think in this case, the easiest solution is best. Also: - Use `container` and `mx-auto` to constrain content for wide screens
2020-10-10 Support viewing different daysWilliam Carroll2-12/+124
Allow users to browse the habits of the other days of the week.
2020-10-10 Ensure weekday is updatedWilliam Carroll2-2/+8
This ensures us that our view is consistent within ~1 minute of reality.
2020-10-10 Tweak stylesWilliam Carroll1-3/+3
- Increase font size for header - Prefer a bulleted list - Reduce horizontal padding
2020-10-10 Add a footerWilliam Carroll1-0/+4
With personal information and information about the project's stack.
2020-10-10 Remove Nap from Saturday; prefer Yin YogaWilliam Carroll1-1/+1
Since Warm Yin Yoga is at 15:00, it's difficult to attend that *and* nap.
2020-10-10 Begin working on Habit Screens projectWilliam Carroll12-0/+414
Created a small MVP for digitizing my weekly habits. Much more to come. Lots of things happening: - Copied the boilerplate to get started - Added a brief project-level README - Outlined my ambitions in design.md See README and design.md for more context on this project.
2020-10-10 Add elm-format-on-save-mode to elm-mode-hookWilliam Carroll1-1/+3
Instead of calling this manually.
2020-10-04 Remove evil dependency from window-manager.elWilliam Carroll1-2/+0
When `keybindings` requires `window-manager`, the `evil-want-integration` warning emerges. If I remove the `evil` dependency from `window-manager`, it resolves the issue.
2020-10-04 Enable spell-checking during magit commitWilliam Carroll1-1/+4
This is another (overdue) change about which I'm quite excited. Add spell-checking to my Git commit buffers. :)
2020-10-04 Extend "l" -> "L" KBD remapping for magit-{log,revision}-mode-mapWilliam Carroll1-1/+3
Thankfully `general` made this change super easy and maintainable to support.
2020-10-04 Support display-arrangement macroWilliam Carroll1-36/+66
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".
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-03 Ignore comments in output for grocery exportWilliam Carroll1-3/+14
TL;DR: - Ignore lines starting with "#" - Tidy up the code
2020-10-03 Mark a few movies as watchedWilliam Carroll1-0/+0
- Spirited Away - Modern Times
2020-10-03 Update my grocery list for Bermondsey LondonWilliam Carroll1-44/+40
I haven't updated this list since I was living in Dargow, Germany over the summer. Now that I've settled down, and I'm situated in the London Bridge area, I'm updating the list.
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 Add step to my finances playbookWilliam Carroll1-0/+1
This is a helpful reminder to ensure that the exchange rate is always fresh. Ideally I could use Google Sheets formulae to take a snapshot of the GBP:USD exchange rate *at a point in time*, but I haven't set that up yet. Maybe it'd look something like: ```pseudocode =GOOGLEFINANCE("GBP:USD", "September 1, 2020") ``` I'll have to look into this.
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-09 Delete .profileWilliam Carroll1-22/+0
I'm managing this in a separate, work-specific repository.
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.