diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-09-14 12:09:58 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-09-14 12:09:58 +0200 |
| commit | e1f6d429191416e35aea131dcab4c39b94fce3aa (patch) | |
| tree | e81c9dfd92f071611e7b8ef6c31683f3831d6158 | |
| parent | e25ea7404caa25148d8b9084daf98c098102fe14 (diff) | |
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Documentation.mdown | 40 | ||||
| -rw-r--r-- | Info.plist | 218 |
3 files changed, 150 insertions, 109 deletions
@@ -3,6 +3,7 @@ ._.* *.o build +builds Makefile autom4te.cache *~ diff --git a/Documentation.mdown b/Documentation.mdown new file mode 100644 index 0000000..2aad042 --- /dev/null +++ b/Documentation.mdown @@ -0,0 +1,40 @@ +## Things Plugin + +A plugin that lets you interact with the Things 3 database. + +### Features + +* Browse app sections: Inbox, Today, Upcoming, Someday, and Anytime +* Browse areas, projects, tags, and tasks. +* Drill down to navigate and find related items. +* Mark tasks and projects as completed. +* Create new tasks. + +### Enabling edit and create + +The task includes an action called "Set Things Authentication Key" that takes +in text. This is required to use the Things 3 URL API to create or edit tasks +and projects. + +To do this, go to your Things Settings > General, then turn on "Enable Things +URLs" and click on Manage to view the auth key. Copy it, then open quicksilver, +press `.` to enter text mode, paste the key and search for "Set Things +Authentication Key." + +Your key is stored in the keychain. + +### Syntax to create tasks + +The first line is interpreted as title. If you want to add notes, type `>>`. All +the text after that, including newlines will be interpreted as markdown notes +until it finds a "special line". + +Special lines are: + +* If the line starts with `#`, everything after that will be interpreted as a + comma-separated list of tags until end of line. +* If the line starts with `@`, everything after that will be interpreted as a + date until end of line. It supports natural language like "today", + "tomorrow", "in 3 days" or "next tuesday" and dates in the format yyyy-mm-dd. +* If the line starts with `!`, everything after that will be interpreted as a + deadline. Same rules as the date above. @@ -15,35 +15,32 @@ <key>CFBundlePackageType</key> <string>BNDL</string> <key>CFBundleShortVersionString</key> - <string>1.0.0</string> + <string>1.0.1</string> <key>CFBundleVersion</key> - <string>152</string> + <string>155</string> <key>NSPrincipalClass</key> <string>QSThingsPluginSource</string> <key>QSActions</key> <dict> - <key>CreateProjectInAction</key> + <key>CompleteTaskAction</key> <dict> <key>actionClass</key> - <string>CreateProjectAction</string> + <string>CompleteTaskAction</string> <key>actionSelector</key> - <string>createProject:in:</string> + <string>completeTask:</string> <key>directTypes</key> <array> - <string>*</string> - </array> - <key>indirectTypes</key> - <array> - <string>things.area</string> + <string>things.project</string> + <string>things.task</string> </array> - <key>enabled</key> - <true/> <key>displaysResult</key> <false/> - <key>name</key> - <string>Create project in...</string> + <key>enabled</key> + <true/> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Mark as Complete</string> </dict> <key>CreateProjectAction</key> <dict> @@ -55,38 +52,37 @@ <array> <string>*</string> </array> - <key>enabled</key> - <true/> <key>displaysResult</key> <false/> - <key>name</key> - <string>Create project</string> + <key>enabled</key> + <true/> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Create project</string> </dict> - <key>CreateTaskInAction</key> + <key>CreateProjectInAction</key> <dict> <key>actionClass</key> - <string>CreateTaskAction</string> + <string>CreateProjectAction</string> <key>actionSelector</key> - <string>createTask:in:</string> + <string>createProject:in:</string> <key>directTypes</key> <array> <string>*</string> </array> + <key>displaysResult</key> + <false/> + <key>enabled</key> + <true/> + <key>icon</key> + <string>com.culturedcode.ThingsMac</string> <key>indirectTypes</key> <array> - <string>things.project</string> <string>things.area</string> </array> - <key>enabled</key> - <true/> - <key>displaysResult</key> - <false/> <key>name</key> - <string>Create task in...</string> - <key>icon</key> - <string>com.culturedcode.ThingsMac</string> + <string>Create project in...</string> </dict> <key>CreateTaskAction</key> <dict> @@ -98,72 +94,76 @@ <array> <string>*</string> </array> - <key>enabled</key> - <true/> <key>displaysResult</key> <false/> - <key>name</key> - <string>Create task</string> + <key>enabled</key> + <true/> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Create task</string> </dict> - <key>CompleteTaskAction</key> + <key>CreateTaskInAction</key> <dict> <key>actionClass</key> - <string>CompleteTaskAction</string> + <string>CreateTaskAction</string> <key>actionSelector</key> - <string>completeTask:</string> + <string>createTask:in:</string> <key>directTypes</key> <array> - <string>things.project</string> - <string>things.task</string> + <string>*</string> </array> - <key>enabled</key> - <true/> <key>displaysResult</key> <false/> - <key>name</key> - <string>Mark as Complete</string> + <key>enabled</key> + <true/> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>indirectTypes</key> + <array> + <string>things.project</string> + <string>things.area</string> + </array> + <key>name</key> + <string>Create task in...</string> </dict> - <key>SetThingsAuthenticationKeyAction</key> + <key>SearchThingsAction</key> <dict> <key>actionClass</key> - <string>SetThingsAuthenticationKeyAction</string> + <string>SearchThingsAction</string> <key>actionSelector</key> - <string>setAuthenticationKey:</string> + <string>searchFor:</string> <key>directTypes</key> <array> - <string>NSStringPboardType</string> + <string>*</string> </array> - <key>enabled</key> - <true/> <key>displaysResult</key> <false/> - <key>name</key> - <string>Set Things Authentication Key</string> + <key>enabled</key> + <true/> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Search Things for...</string> </dict> - <key>SearchThingsAction</key> + <key>SetThingsAuthenticationKeyAction</key> <dict> <key>actionClass</key> - <string>SearchThingsAction</string> + <string>SetThingsAuthenticationKeyAction</string> <key>actionSelector</key> - <string>searchFor:</string> + <string>setAuthenticationKey:</string> <key>directTypes</key> <array> - <string>*</string> + <string>NSStringPboardType</string> </array> - <key>enabled</key> - <true/> <key>displaysResult</key> <false/> - <key>name</key> - <string>Search Things for...</string> + <key>enabled</key> + <true/> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Set Things Authentication Key</string> </dict> <key>ShowInThingsAction</key> <dict> @@ -179,14 +179,14 @@ <string>things.tag</string> <string>things.task</string> </array> - <key>enabled</key> - <true/> <key>displaysResult</key> <false/> - <key>name</key> - <string>Show in Things</string> + <key>enabled</key> + <true/> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Show in Things</string> </dict> </dict> <key>QSPlugIn</key> @@ -202,43 +202,6 @@ <key>icon</key> <string>com.culturedcode.ThingsMac</string> </dict> - <key>QSRegistration</key> - <dict> - <key>QSFSParsers</key> - <dict> - <key>QSThingsAreasParser</key> - <string>QSThingsAreasParser</string> - <key>QSThingsProjectsParser</key> - <string>QSThingsProjectsParser</string> - <key>QSThingsTasksParser</key> - <string>QSThingsTasksParser</string> - </dict> - <key>QSActionProviders</key> - <dict> - <key>QSThingsPluginAction</key> - <string>QSThingsPluginAction</string> - </dict> - <key>QSObjectHandlers</key> - <dict> - <key>things.area</key> - <string>ThingsAreaHandler</string> - <key>things.project</key> - <string>ThingsTaskHandler</string> - <key>things.app-section</key> - <string>ThingsAppSectionHandler</string> - <key>things.tag</key> - <string>ThingsTagHandler</string> - <key>things.task</key> - <string>ThingsTaskHandler</string> - </dict> - </dict> - <key>QSRequirements</key> - <dict> - <key>version</key> - <string>4023</string> - </dict> - <key>QSResourceAdditions</key> - <dict/> <key>QSPresetAdditions</key> <array> <dict> @@ -251,10 +214,10 @@ <string>QSPresetThingsAppSections</string> <key>enabled</key> <true/> - <key>name</key> - <string>Things 3 (App Sections)</string> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Things 3 (App Sections)</string> <key>requiresBundle</key> <string>com.culturedcode.ThingsMac</string> <key>requiresSettingsPath</key> @@ -278,10 +241,10 @@ <string>QSPresetThingsTags</string> <key>enabled</key> <true/> - <key>name</key> - <string>Things 3 (Tags)</string> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Things 3 (Tags)</string> <key>requiresBundle</key> <string>com.culturedcode.ThingsMac</string> <key>requiresSettingsPath</key> @@ -305,10 +268,10 @@ <string>QSPresetThingsAreas</string> <key>enabled</key> <true/> - <key>name</key> - <string>Things 3 (Areas)</string> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Things 3 (Areas)</string> <key>requiresBundle</key> <string>com.culturedcode.ThingsMac</string> <key>requiresSettingsPath</key> @@ -332,10 +295,10 @@ <string>QSPresetThingsProjects</string> <key>enabled</key> <true/> - <key>name</key> - <string>Things 3 (Projects)</string> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Things 3 (Projects)</string> <key>requiresBundle</key> <string>com.culturedcode.ThingsMac</string> <key>requiresSettingsPath</key> @@ -359,10 +322,10 @@ <string>QSPresetThingsTasks</string> <key>enabled</key> <true/> - <key>name</key> - <string>Things 3 (Tasks)</string> <key>icon</key> <string>com.culturedcode.ThingsMac</string> + <key>name</key> + <string>Things 3 (Tasks)</string> <key>requiresBundle</key> <string>com.culturedcode.ThingsMac</string> <key>requiresSettingsPath</key> @@ -390,5 +353,42 @@ <string>QSGroupObjectSource</string> </dict> </array> + <key>QSRegistration</key> + <dict> + <key>QSActionProviders</key> + <dict> + <key>QSThingsPluginAction</key> + <string>QSThingsPluginAction</string> + </dict> + <key>QSFSParsers</key> + <dict> + <key>QSThingsAreasParser</key> + <string>QSThingsAreasParser</string> + <key>QSThingsProjectsParser</key> + <string>QSThingsProjectsParser</string> + <key>QSThingsTasksParser</key> + <string>QSThingsTasksParser</string> + </dict> + <key>QSObjectHandlers</key> + <dict> + <key>things.app-section</key> + <string>ThingsAppSectionHandler</string> + <key>things.area</key> + <string>ThingsAreaHandler</string> + <key>things.project</key> + <string>ThingsTaskHandler</string> + <key>things.tag</key> + <string>ThingsTagHandler</string> + <key>things.task</key> + <string>ThingsTaskHandler</string> + </dict> + </dict> + <key>QSRequirements</key> + <dict> + <key>version</key> + <string>4023</string> + </dict> + <key>QSResourceAdditions</key> + <dict/> </dict> </plist> |