Couldn't find a program to do what I wanted, so I built my own. Currently very hacky.
wayd is a python script that uses launchd to pop up every 15 minutes to ask what you're doing with a text input box. Fill in your current activity and it creates/appends a markdown file named with today's date with the current time and your activity.
If this is the first time wayd has run today, it creates a new file named dd-mm-yyyy.md that looks like this:
==thrive (
or your own goal)==
- time: activity
If wayd has already run or there's already a file named dd-mm-yyyy.md in the directory, then it just appends * time: activity to the end of the file.
You can keep the file open and add your own content to it as well, giving you a daily file with a mix of thoughts and timestamped activities.
- PySimpleGUI
- download
wayd.pyandcom.kailanathaniel.wayd.plist - download dependencies with
pip3 install PySimpleGUI
- open
wayd.pyin your text editor and setfolder_pathto where you want your files saved - open
com.kailanathaniel.wayd.plistin your text editor and set the first string underProgramArgumentsto where your python executable is stored and the second string to where you've storedwayd.py - use terminal to navigate to the folder with
com.kailanathaniel.wayd.plistand move it to yourLaunchAgentsfolder with
mv com.kailanathaniel.wayd.plist ~/Library/LaunchAgents/
- load (start) the agent with
launchctl bootstrap gui/<user id> ~/Library/LaunchAgents/com.kailanathaniel.wayd.plist
- find your user ID by running
id -uin terminal - find where your python executable is stored by running
which python3in terminal - stop the agent with
launchctl bootout gui/<user id> ~/Library/LaunchAgents/com.kailanathaniel.wayd.plist
- if you want to be able to stop and start the agent with a single command, add these two lines to your
.bash_profile
alias wayd_start="launchctl bootstrap gui/<user id> ~/Library/LaunchAgents/com.kailanathaniel.wayd.plist"
alias wayd_pause="launchctl bootout gui/<user id> ~/Library/LaunchAgents/com.kailanathaniel.wayd.plist"
* start/stop the agent by running `wayd_start` and `wayd_pause` in your terminal
- customize how often wayd runs by changing the number under
StartIntervalincom.kailanathaniel.wayd.plist(it's in seconds) - customize the new file template by changing the string under
#if file doesn't existline inwayd.py - if you don't want to run this with
launchd, you can usecron, too. You don't need the.plistfile, just opencronwithcrontab -efrom any location and put in this line:
*/15 * * * * /path/to/your/python/executable /path/to/wayd.py
- add ability to save settings
- package as standalone app
- make it prettier
