Age | Commit message (Collapse) | Author | Files | Lines |
|
Making progress...
|
|
Add spacing to the bottom to make space for the footer.
|
|
Add spacing to help the app breathe.
|
|
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!
|
|
Add a simple button to clear all completed tasks.
|
|
Show the number of minutes remaining before completing all of the tasks.
|
|
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.
|
|
Include:
- habitType: Daily, Weekly, Yearly... what's the trigger?
- minutesDuration: Estimation of how long it'll take to complete
|
|
Here's what I watched:
- Ran
- Children of Heaven
- Lawrence of Arabia
Only 78/250 movies to go!
|
|
- Change header to blue
- Change habit to gray when completed
- Prefer app font for footer instead of monospaced font
|
|
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).
|
|
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
|
|
Allow users to browse the habits of the other days of the week.
|
|
This ensures us that our view is consistent within ~1 minute of reality.
|
|
- Increase font size for header
- Prefer a bulleted list
- Reduce horizontal padding
|
|
With personal information and information about the project's stack.
|
|
Since Warm Yin Yoga is at 15:00, it's difficult to attend that *and* nap.
|
|
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.
|
|
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?
|
|
TL;DR:
- Ignore lines starting with "#"
- Tidy up the code
|
|
- Spirited Away
- Modern Times
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
I'm managing this in a separate, work-specific repository.
|
|
This is handy!
|
|
Instruct Tramp to use my SSH settings in .ssh/config.
|