1
0
Fork 0
Commit graph

185 commits

Author SHA1 Message Date
49d2ef7443 [oni-org] Sort hooks 2023-05-30 17:40:17 -07:00
00e010b41d [oni-org] Enable ‘yas-minor-mode’ in Org Mode 2023-05-30 17:39:46 -07:00
0a0460e907 [oni-org] Automatically load ‘ob-dot’ 2023-05-30 17:38:38 -07:00
d919a0ab6a [oni-org] Fix typo 2023-05-26 23:52:05 -07:00
dd2bbeb47b [oni-org] Change the way file links are displayed in org-mode
If a file link points to a file that doesn't exist, display it similarly to an
error.
2023-05-26 23:45:57 -07:00
817060db2c [oni-org] Add function that I want to save and have no place for yet 2023-05-25 00:14:32 -07:00
83a70abae3 [oni-org] Remove use of deprecated functions 2023-05-25 00:14:06 -07:00
966af9fb99 [oni-org] Remove dependency on deprecated package 2023-05-25 00:13:53 -07:00
e8ac8c4687 Replace all Cask files with Eldev files
I'm working on moving my build setup to my own laminar[1] instance. To do this I
need to be able to package files up. It appears that I couldn't quite get Cask
to work, and Eldev exists in the Guix[2] package repository.

[1]: https://laminar.ryuslash.org/
[2]: https://guix.gnu.org/
2023-05-25 00:03:46 -07:00
348f71e570 [oni-org] Experiment with using more contexts to filter tasks
Instead of adding a lot of tags and adding a lot of agendas filtering on them
I'm experimenting with using org-edna to make certain contexts a dependency of a
task to filter them out of my todo list.

Current contexts I'm experimenting with are:

- ‘day-of-week?’ to filter out tasks that I can only do on certain days.

- ‘night-time?’ to filter out anything that I can't do in the evening. Usually
  having to do with contacting others.

- ‘business-hours?’ to filter out anything that is outside of a certain
  timezone's “business hours”, defined by me as anywhere between 9am and 6pm.
2023-04-11 20:23:23 -07:00
1de5e3892c [oni-org] Simplify org element property access 2023-04-11 20:20:28 -07:00
7b24216fe1 [oni-org] Add ‘org-pretty-table’ 2023-04-09 21:50:48 -07:00
50ea147510 [oni-org] Disable padding of date for comparison
Comparing “3” to “03”, for example, won't ever succeed.
2023-04-03 00:55:11 -07:00
92173e5ef2 [oni-org] Fix keybinding 2023-03-30 22:28:02 -07:00
94a7eeef18 [oni-org] Add keybinding to refile items to the top of a heading 2023-03-25 21:39:56 -07:00
b468287aa7 [oni-org] Don't truncate the text in the pomodoro overview
Instead specify a width for the column and shrink the table. This way it still
gets truncated, but it can be expanded and the whole text is in the column.
2023-03-20 22:57:50 -07:00
aec7aa6267 [oni-org] Fix ‘oni-org-pomodoro-times’ for when no logbook exists 2023-03-20 22:57:16 -07:00
fb767b3994 [oni-org] Add new commands to manage my GTD inbox and tickler
These function help me make sure that I'm properly going through both files. The
command ‘oni-org-run-through-inbox’ will first dump any items in the tickler
file that are relevant for today and then it goes through each item in my inbox
and asks me to take an action on them.

This helps me both go through my inbox more easily, but also helps me keep track
of the items in my tickler file, which has been something I keep forgetting to
look at.

The ‘oni-org-dump-tickler’ command should be idempotent, so calling it multiple
times per day shouldn't mess with the different dates in the file. If it
discovers that the current day isn't the same as today it keeps going through
the tickler file, dumping any tasks it finds into the inbox, until it finds the
right day number. It's not aware of any of the months, so it'll happily move to
the next month if your tickler file is in the wrong state. Also if your tickler
file hasn't been updated in more than a month it also doesn't understand that it
needs to keep going and will keep presenting you with old tasks.
2023-03-14 01:41:07 -07:00
b5b09921e3 feat(oni-org): Use the LCh color space to generate colors
Automatically generated colors for todo keywords and tags using an MD5 hash will
produce a completely random color, frequently not fitting well at all within my
chosen color theme. Using the LCh color space and keeping the L(uminance) and
C(hroma) constant will produce colors that fit together much metter, and the
values have been picked to work well with ‘yoshi-theme’.

This change was inspired by “Arbitrary Beautiful Colors”[1].

[1]: https://khanlou.com/2023/02/arbitrary-beautiful-colors/
2023-02-24 23:28:28 -08:00
d1ca3d7874 [oni-org] Add planned pomodoro note 2023-01-24 10:08:11 -08:00
37fe64b4d8 [oni-org] Add some Pomodoro[1] helper functions
- ‘oni-org-increment-property’: A generic command that increments a numeric org
  property

- ‘oni-org-pomodoro-add-note’: A command that adds a note to the org item
  logbook that states a pomodoro was completed.

- ‘oni-org-pomodoro-times’: A function that parses an org item logbook to figure
  out at what times a pomodoro had been completed for that particular task.

- ‘oni-org-pomodoro-times-for-date’: A function that finds the times a pomodoro
  has been marked as completed for a specified date.

- ‘oni-org-archive-old-tasks’: Unrelated to the other functions, just a command
  that archives all of the tasks that have been closed in the previous month.

[1]: https://francescocirillo.com/products/book-the-pomodoro-technique
2022-12-13 07:29:08 -08:00
5f7a6b8ddd Give some keybindings (hopefully) more descriptive names
This style of keybinding helps ‘which-key’[1] to display a better name for the
command.

[1]: https://github.com/justbur/emacs-which-key
2022-12-13 07:11:36 -08:00
0401e08e65 [oni-org] Don't display blocked tasks in the agenda at all
I'm trying as much as I can to just only display what I can actually work on,
and by definition anything that is blocked I cannot.
2022-11-13 17:00:43 -08:00
aac81cc7a8 [oni-org] Enable Special C-k
See the documentation of ‘org-special-ctrl-k’ for what it does
2022-11-13 17:00:05 -08:00
601935c856 [oni-org] Fix exclusion of ‘journal.org’ 2022-10-26 23:35:48 -07:00
7342368178 [oni-org] Add functions to create and update a Pomodoro overview
This is meant to be used as a daily overview of the Pomodoro's that I've gone
through during the day. Should be put in my journal. For that reason, and
because I haven't figured out how to make it idempotent on days that aren't
today, I've added an exclusion of ‘journal.org’ to the
‘oni-org-update-all-dblocks-live’ function.
2022-10-25 23:18:55 -07:00
875e63d62a [oni-org] Allow project references to work with archived tasks
This commit fixes the issue that project tasks found in the archive of the org
file can't be accessed through the link that's been generated. This fixes that.
2022-10-19 22:52:45 -07:00
1c9b256f78 [oni-org] Add icon for “config” tasks 2022-09-28 00:49:13 -07:00
073f83e8f9 [oni-org] Reduce the distance of the tags column
This will make top-level headlines still place their tags before the line ends.
2022-09-27 23:46:04 -07:00
3c22cbb1e0 [oni-org] Update available agenda commands 2022-09-21 23:44:27 -07:00
c7e5178a36 [oni-org] Add ‘form-feed’ package to dependencies
This way I can use pretty looking horizontal rulers in my org files.
2022-08-24 20:41:36 -07:00
2fc7107969 [oni-org] Update default todo agenda command
I've removed the hierarchy from my tags, so now I need to see any for the tag of
the current host name, any computer, and any emacs tasks that have a state of
TODO.
2022-06-21 22:45:57 -07:00
cc3aa6f532 [oni-org] Use IDs for org-mode links if a heading has one
I don't want to set it up to always use an ID just yet because I'm not sure how
well that will work with programs like Orgzly and Orgro which don't support
using ID.
2022-06-20 09:16:34 -07:00
f0bf02d9ec [oni-org] Remove ‘mixed-pitch’
I tried it, and I just didn't like it. It looks alright, but alignment is
difficult, and even though faces are set up to be fixed-pitch they still end up
rendering as variable-pitch. During startup my org file also loads too early and
doesn't get the right font set. It just doesn't really add enough.
2022-06-20 09:11:58 -07:00
1c3b3abb39 [oni-org] Add “Waiting for” to my overview and add “Review” agenda 2022-06-13 16:16:47 -07:00
3a5ea16176 [oni-org] Update all dynamic blocks on save
Skip any that are in archived files.
2022-06-13 16:16:11 -07:00
df3396bd8f [oni-org] Search through the archive for project tasks
When I archive tasks I still want them to show up in the projects.
2022-06-05 14:14:56 -07:00
c63f5f0fec [oni-org] Add function to write oni-project-steps dblock
This allows me to run ‘org-dynamic-block-insert-dblock’ instead of having to
write it manually each time.
2022-05-26 23:13:28 -07:00
efb74f9440 [oni-org] Switch to the marker's buffer before getting ID 2022-05-26 01:32:06 -07:00
467914a556 [oni-org] Find projects in any of my agenda files 2022-05-26 01:31:24 -07:00
da68ca4f7d [oni-org] Fix using ‘oni-org-move-subtree’ multiple times in a row
Before, because of the use of ‘org-cut-subtree’, which in turn calls
‘kill-region’, which checks to see if ‘last-command’ equals ‘kill-region’ and
uses either ‘kill-append’ or ‘kill-new’ repeated uses of the
‘oni-org-move-subtree’ command would append cut subtrees together and repeatedly
paste the same subtrees over and over again.

Setting ‘this-command’ will make sure that when the ‘kill-region’ checks the
value of ‘last-command’ it won't find ‘kill-region’ there.
2022-05-13 11:15:01 -07:00
4b94f8403c [oni-org] Use ‘rx’ instead of ‘rx-to-string’
‘rx’ should expand to what is needed to make sure that the right thing is done.
I feel more comfortable using this than ‘rx-to-string’ while unquoting the
variables I use.
2022-05-11 20:37:11 -07:00
54e9c9c26f [oni-org] Combine ‘oni-move-subtree-*’ into ‘oni-org-move-subtree’
These two functions do essentially the same thing, but in different directions.
This can also be done with one single interactive function. This way there is
only one thing to call.
2022-05-11 20:21:53 -07:00
aaa5b89d0a [oni-org] Add commands to move subtrees relative to others 2022-04-24 02:53:43 -07:00
297df3579d [oni-org] Add agenda to overview command and show 10 items each 2022-04-24 02:53:18 -07:00
40919f0fe9 [oni-org] Remove references to ‘oni-backlinks’
I haven't actually been using them at all, and they're just clogging up the
‘org-update-all-dblocks’ command by doing a bunch of unnecessary work.
2022-04-22 17:27:15 -07:00
64fee97d35 [oni-org] Add support for id: backlinks in oni-backlinks dblock 2022-04-01 18:39:47 -07:00
641f736478 [oni-org] Add dynamic block for org for linking together projects
This is similar to my backlinks dynamic block, but it supports links by id and
will print them as a checkbox so that the project can track progress by using
the progress cookies.
2022-04-01 18:37:10 -07:00
2dd841ffc3 [oni-org] Add an agenda with tasks, articles, videos, and music 2022-04-01 18:35:55 -07:00
3ef86655f1 [oni-org] Show the agenda as the only window 2022-03-15 23:10:59 -07:00