mission

command module
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 3, 2025 License: Apache-2.0 Imports: 1 Imported by: 0

README

README

Track your mission (with sketchybar)

  • Displays and counts today's tasks
  • Displays macOS focus
  • Emits sketchybar event if today's journal entry changes
  • Emits sketchybar event if macOS focus changes
  • Support json

Configuration

System
  • mission tasks might require access to iCloud drive (depending on the location of your Vault or markdown files). macOS should prompt you
  • mission focus and mission watch require Full Disk Access so that it can access the user's system file for focus at $HOME/Library/DoNotDisturb/DB/Assertions.json. You can do so by going to "System Settings" > "Privacy & Security" > "Full Disk Access". mission should be listed if you already executed it once.

If you do use the app with SketchyBar, SketchyBar would need "Full Disk Access" since it would orchestrate the calls.

This needs to be done every time you update mission

Application

mission looks for the first configuration file in

  • $XDG_CONFIG_HOME/mission/config.toml
  • $HOME/.config/mission/config.toml

You need to configure the path containing your journal entries

One journal MUST be named default

[[journals.default]]
path = "$HOME/Library/Mobile Documents/iCloud~md~obsidian/Documents/personal"
extension = "md"

[[journals.work]]
path = "$HOME/Library/Mobile Documents/iCloud~md~obsidian/Documents/work/"
extension = "md"

You can configure sketchybar (defaults below)

[sketchybar]
path = "/opt/homebrew/bin/sketchybar"
event_task = "mission_task"
event_focus = "mission_focus"

Usage

mission tasks

Print today's tasks

mission tasks
󰄴 Unpack luggage
󰝦 Grocery shopping
  󰝦 Cheese
1/2 tasks

Print today's tasks from "work" journal

mission tasks --journal=work
󰄴 Finish ticket 123
󰝦 Do ticket 456
1/2 tasks

Print today's tasks from "work" journal as json

mission tasks --journal=work --json
{
  "tasks": [
    {
      "state": "done",
      "text": "Finish ticket 123"
    },
    {
      "state": "open",
      "text": "Do ticket 456"
    },
  ],
  "summary": {
    "done": 1
    "total": 2
  }
}
mission fcous

Return current macOS focus

mission focus
com.apple.focus.work

Possible return values (for built in focus)

  • com.apple.donotdisturb.mode.default
  • com.apple.focus.personal-time
  • com.apple.focus.work
  • com.apple.sleep.sleep-mode
mission watch

Watches the default journal for changes in today's notes and for changes in macOS' builtin focus mode

mission watch will log file changes to stdout and emit sketchybar events

Installation

Via Github

  • installs to $GOBIN/mission
git clone git@github.com:oschrenk/mission.git
cd mission
task install

Via homebrew

brew tap oschrenk/made git@github.com:oschrenk/homebrew-made
brew install oschrenk/made/mission

Documentation

Overview

Copyright © 2024 Oliver Schrenk

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL