Git Product home page Git Product logo

alfred-things's Introduction

Things for Alfred

Interact with Things using Alfred.

Usage

Show your Things lists via the todo keyword.

demo-1

↩︎: Show list items.
↩︎: Open in Things.
↩︎: Open Quick Entry window.
↩︎: Show tags in list.
fn↩︎: Empty Trash.

When displaying the contents of a list, new actions become available.

demo-2

↩︎: Open in Things.
↩︎: Mark completed.
↩︎: Mark canceled.
↩︎: Delete.
fn↩︎: Empty Trash.
↩︎: Show to-dos in project.

Contribute

To report a bug or request a feature, please create an issue or submit a pull request.

Credits

The to-do icon is created by Jason Zigrino and released under the Creative Commons BY-NC-ND 3.0 license.

alfred-things's People

Contributors

xilopaint avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

alfred-things's Issues

No longer working [well]

In Alfred 4.3, macOS 11.1, not all views are loading: Inbox, Anytime, Upcoming, Someday, Logbook, Trash don't load items. Areas seems to load but there can be quite a delay.

Sometimes the "todo" keyword doesn't even load the workflow.

This is unusable in its current state. :-( Is this project still maintained?

Not working for Big Sur

Hi, thanks for sharing.

Unfortunately, after type "todo", there is nothing prompt in Alfred. Is there ant settings for Big Sur?

Thanks.

Would be great to have a dedicated keyword for a new task

Thanks for the workflow.
Would be great if it included a keyword for a quick adding a new todo.
EG: "newtodo Pick up laundry"
This would be a little more efficient and faster as one string () than the current method ()

I know that Things itself has its own shortcut but I do nearly everything with Alfred so I don't remember any shortcuts for anything else.

Thanks

Support for projects?

Hi, I noticed the workflow supports new list -> area but not the projects. Everything else works great though. Will that be implemented at all? Thanks and great job!

[Feature Request] Creating tasks with sequential numbers?

When using Things, we always need to create tasks with a shared name plus sequential numbers.

Example 1: chapter 1, chapter 2, chapter 3, chapter 4

Example 2: ML assn 09, ML assn 10, ML assn 11

Is it possible to create a script that generates them at once? For example, in example 1, we may just type: chapter {1-4}

It would be better to provide an option to choose creating tasks with sequential numbers or a task with multiple sequential checklists

Search for todos

Hi, good plugin, thx :-)

Would it be possible to extend the workflow to search for todos in Things?

I'm using an Alfred workflow for Apple Notes which has a similar capability but also provides the ability to search for notes.

That would be a great extension for your workflow.

Support for Things 3 Beta?

Hi! Thanks for this plugin. I was toying around with supporting the beta of Things 3, but wasn't sure the best method for adding this. Is this something you've considered and would be open to a PR if I figure something out, or did you already have an idea here? Or would you rather not add that complexity? 😄

Add new notes

I would like to have an ability to add a new note using +Buy milk [shopping] today 9:00 syntax or similar, the initial + is the important feature.

Add Todo Issue

⌥ + ↩ to add a to-do to the selected list;

This keyboard shortcut does not work for me. Has been tested in Inbox, Today, Selected Project, Selected Area, Selected Area > Selected Project.

Thanks.

Alfred Version: Version 1.7.1
MacOS: 10.15.5

Filter by tags

Thanks for putting together this amazing workflow!

Would it be possible to query a tag (either globally) or even within a project or the Inbox?

An example: I tag very short tasks (able to achieve in a break) with short. It would be fantastic if I could see all these tasks by typing todo "short" or similar.

Cannot parse json

Hi, i am spearkkk
First of all, I appreciate your share and nice workflow.
I like this workflow and use much.

I find there is issue in parsing data if there is double quote in data.

Could you fix this issue using another replacement char?

The followings is full error message:

[22:27:56.721] ERROR: Things[Script Filter] JSON error: Badly formed object around character 3282. in JSON: {"items": [{"title": "Back to Lists", "subtitle": "", "arg": "back", "valid": true, "icon": {"path": "icons/back.png"}, "mods": "" }, {"title": "wrjlewis/notion-search-alfred-workflow: An Alfred workflow to search Notion with instant results", "subtitle": "", "arg": "2316D5B1-DAA8-41F6-8128-392C45494847", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "kevinjalbert/notion-toolbox: This is a collection of Notion tools that work in tandem together.", "subtitle": "", "arg": "6ABD70CB-221F-457F-BDEB-11D691E285E8", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "fniephaus/alfred-pocket: Manage your Pocket list with Alfred", "subtitle": "", "arg": "02A0730B-7F5F-414A-9CC9-4EBC6FBE76B3", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "xilopaint/alfred-things: Interact with Things 3 using Alfred.", "subtitle": "", "arg": "3BDB927C-28B6-4929-909B-3734F90D23BF", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "willfarrell/alfred-encode-decode-workflow: Encoding and decoding a sting into multiple variations.", "subtitle": "", "arg": "2891D8A8-7193-42BB-9405-7676B1CDB883", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "jsumners/alfred-emoji: Alfred workflow for searching and copying emoji", "subtitle": "", "arg": "03D64809-AADA-434B-AF65-0935B57B1E37", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "tilmanginzel/alfred-bluetooth-workflow: Yet another Alfred workflow to connect / disconnect Bluetooth devices", "subtitle": "", "arg": "D6DFD1C7-5629-4CCB-A677-99D2845DDF16", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "vitorgalvao/custom-iterm-scripts-for-alfred: Custom iTerm Scripts for Alfred", "subtitle": "", "arg": "F20D4DC0-8AED-4C4C-A584-57AB7C5F9CEB", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "bchatard/alfred-jetbrains: Alfred3 workflow to easily open your projects with your favorite JetBrains product.", "subtitle": "", "arg": "6113E516-429C-45BA-A1E6-AF03BA0D0A1A", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "small-workflows/local-host at master · nikitavoloboev/small-workflows", "subtitle": "", "arg": "E9309711-6789-4A44-B479-F94D29C908A5", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "small-workflows/folder-search at master · nikitavoloboev/small-workflows", "subtitle": "", "arg": "4A14B42B-41D6-4D85-9E14-672864E3A318", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "small-workflows/search-content at master · nikitavoloboev/small-workflows", "subtitle": "", "arg": "86FAAB20-D8E1-42C6-96D6-1B5D81C19BFD", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "small-workflows/file-actions at master · nikitavoloboev/small-workflows", "subtitle": "", "arg": "D62929F7-8D88-4D16-B9C8-8E3C19EC75DB", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "small-workflows/wifi-tools at master · nikitavoloboev/small-workflows", "subtitle": "", "arg": "990DA9F3-1628-449D-81ED-4F940743C056", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }, {"title": "Understanding "Query Then Fetch" vs "DFS Query Then Fetch" | Elastic Blog", "subtitle": "", "arg": "5C9156AD-0DE6-4907-84B7-A090021E00CF", "valid": true, "icon": {"path": "icons/todo.png"}, "mods": "" }]}

Feature request: search todos

The workflow is amazing, and i'd like to know if it would be possible to implement searching for the to-dos by the query that comes after "todo".
All the best

Request Sub-text for Area

I appreciate for your good workflow.
I want to see area field in to-do for sub-text.
Could you enable to this feature?

Thank you!!!

Problems with levels

The workflow doesn't find projects at the top-level (i.e. not in an area), nor todos in projects (i.e. Area > Project > Todo).

Would you consider also including these items?

To Dos not shown within Alfred itself?

Hi, I just installed your workflow, and it looks great, but there's some issue and I can't figure out what is going on (assuming it is supposed to).

Versions:

  • MacOS 11.5.1
  • Things 3.14
  • Alfred 4.5.1 (and confirmed that Alfred is able to control Things from the Privacy pref pane)
  • alfred-things workflow 1.7.1 (tried both the 1.7.1 tag and master branch, all results below are with master)

when I enter "todo" in Alfred, I get the initial list, including my custom Areas, but for all of them, if I hit return on one, nothing happens (as in, Alfred goes away).

Here's the Alfred workflow debugging output (I've included everything from when I invoke it):

[22:35:46.512] Things[Script Filter] Queuing argument '(null)'
[22:35:47.413] Things[Script Filter] Script with argv '(null)' finished
[22:35:47.425] Things[Script Filter] {"items": [{"title": "Inbox", "subtitle": "", "arg": "TMInboxListSource", "valid": true, "icon": {"path": "icons/inbox.png"}, "mods": "" }, {"title": "Today", "subtitle": "", "arg": "TMTodayListSource", "valid": true, "icon": {"path": "icons/today.png"}, "mods": "" }, {"title": "Anytime", "subtitle": "", "arg": "TMNextListSource", "valid": true, "icon": {"path": "icons/anytime.png"}, "mods": "" }, {"title": "Upcoming", "subtitle": "", "arg": "TMCalendarListSource", "valid": true, "icon": {"path": "icons/upcoming.png"}, "mods": "" }, {"title": "Someday", "subtitle": "", "arg": "TMSomedayListSource", "valid": true, "icon": {"path": "icons/someday.png"}, "mods": "" }, {"title": "Logbook", "subtitle": "", "arg": "TMLogbookListSource", "valid": true, "icon": {"path": "icons/logbook.png"}, "mods": "" }, {"title": "Trash", "subtitle": "", "arg": "TMTrashListSource", "valid": true, "icon": {"path": "icons/trash.png"}, "mods": "" }, {"title": "Sherwin-Williams", "subtitle": "", "arg": "THMAreaParentSource/PgicspDTcCobZf9Aag2muJ", "valid": true, "icon": {"path": "icons/area.png"}, "mods": "" }, {"title": "Home", "subtitle": "", "arg": "THMAreaParentSource/URKDLLFXPYvddfcRLszGGz", "valid": true, "icon": {"path": "icons/area.png"}, "mods": "" }, {"title": "Photography", "subtitle": "", "arg": "THMAreaParentSource/VcotsmpBSS9FX7rtD3SLc2", "valid": true, "icon": {"path": "icons/area.png"}, "mods": "" }, {"title": "Templates", "subtitle": "", "arg": "THMAreaParentSource/217K7yvrkS9MreuwUQ4mfA", "valid": true, "icon": {"path": "icons/area.png"}, "mods": "" }]}

<return is pressed here>

[22:35:51.279] Things[Script Filter] Processing complete
[22:35:51.279] Things[Script Filter] Passing output 'TMInboxListSource' to Arg and Vars
[22:35:51.280] Things[Arg and Vars] Processing complete
[22:35:51.281] Things[Arg and Vars] Passing output 'TMInboxListSource' to Call External Trigger
[22:35:51.281] Things[External] Processing complete
[22:35:51.282] Things[External] Passing output '' to Script Filter
[22:35:51.322] Things[Script Filter] Passing output 'TMInboxListSource' to Run Script
[22:35:51.336] Things[Script Filter] Queuing argument '(null)'

At first I thought this seemed similar to #19, even though I'm not seeing any parsing errors. I still went through and removed/replaced all " and ' quotes in everything in Things, and it shows that none exist anywhere if I search for either.

I also tried adding some simple debugging/alert statements in the AppleScript, and I confirmed that, for example, if I select Inbox, it retrieves all 10 items that exist there, and it was able to convert it to json successfully (from things.applescript, just before the return statement in the showToDos method). I validated that json and formatted it, and it is below:

{
    "items":
    [
        {
            "title": "Back to Lists",
            "subtitle": "",
            "arg": "back",
            "valid": true,
            "icon":
            {
                "path": "icons/back.png"
            },
            "mods": ""
        },
        {
            "title": "Archive email",
            "subtitle": "",
            "arg": "M5m6xJj5HgUB7odurdQQ5X",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "Send onboarding email to Joe",
            "subtitle": "",
            "arg": "5wsEGxqaxnidQzXjr29J61",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "Review “Using Automation Shortcuts for Location-Based Reminders” for Things 3",
            "subtitle": "",
            "arg": "5HqCQNoNcjrnGEg91g2DG8",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "Respond to Mike Kurtz email from 8/12 @ 9:35 AM",
            "subtitle": "",
            "arg": "NtRUKJYrcEqQikULRGEZ3a",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "Work with Manuel for Github user in AD",
            "subtitle": "",
            "arg": "4e8jtHjN3oLXS5rkzoTDFj",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "Schedule Meeting with team for ORCA overview",
            "subtitle": "",
            "arg": "Dh6Pxj9mjLS4PzKQxRC8Lp",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "Determine organic growth rate of apps ",
            "subtitle": "",
            "arg": "BgRwnwU7BqhqVMXbKMLrqf",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "Fix album art",
            "subtitle": "",
            "arg": "5CeUPRQWRYYgDuHdeR4hFj",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "Onboarding new agency dev",
            "subtitle": "",
            "arg": "KRxGVayJM1ddrjJSwh3Y9U",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        },
        {
            "title": "2020 IT Policy Attestation",
            "subtitle": "",
            "arg": "LZjBKeTMuLxtEQJxBT9ZGW",
            "valid": true,
            "icon":
            {
                "path": "icons/todo.png"
            },
            "mods": ""
        }
    ]
}

I'd try to debug it further, but I'm kind of at a loss as how all the pieces of the workflow chain together. I think that json should go straight into the Alfred script filter? I did try running the "Sample Code" AppleScript that is present in the workflow, but no matter what combination of argument (or lack or argument given), no results are show. For example, running this code in Script Editor (I have 2 results with email in the title, also tried "", and removing with argument "email" completely):

tell application id "com.runningwithcrayons.Alfred" to run trigger "showToDosInProject" in workflow "com.xilopaint.alfredapp.things" with argument "email"

generates this result in the workflow console:

[23:10:26.055] Things[External] Processing complete
[23:10:26.068] Things[External] Passing output 'email' to Script Filter
[23:10:26.213] Things[Script Filter] Queuing argument '(null)'
[23:10:26.714] Things[Script Filter] Script with argv '(null)' finished
[23:10:26.718] ERROR: Things[Script Filter] Code 1: 0:74: execution error: Things3 got an error: Can’t get project id "" of application "Things3". (-1728)

In all attempts, the console logs have the same error, referencing ...Can’t get project id ""....

Anything else I can try to figure out what's going on? Am I just using it incorrectly?

Thanks!

The workflow is not working

After installing this workflow, I get an error

debug

[11:40:59.808] Things[Script Filter] Queuing argument '(null)'
[11:41:00.185] Things[Script Filter] Script with argv '(null)' finished
[11:41:00.191] ERROR: Things[Script Filter] Code 1: ./things.js: execution error: Error: Error: Application can't be found. (-2700)

How can I fix this?

Not working?

The todo trigger pulls up the available lists but when I choose one and type out a todo and hit enter nothing happens. Keep in mind I'm new to using these workflows in Alfred but it's the only one out of dozens I can't seem to get working. Using Alfred v3.6 on High Sierra v10.13.3

Error -1743

Hi, thnx for the workflow!

I got an error, this is from the debugger, any chance how to fix this?

[23:14:13.766] Things[Script Filter] Queuing argument '(null)'
[23:14:13.981] Things[Script Filter] Script with argv '(null)' finished
[23:14:13.987] ERROR: Things[Script Filter] Code 1: ./things.js: execution error: Error: Error: An error occured. (-1743)

Ventura 13.3.1
Alfred 5.1

Support for non-English localizations

Hello,
right now the icon for the default lists (Today, Someday, Trash …) are hard-coded into the script as the array "stdLists".
The array items call the respectively named icon-png.

Upon the first run the AppleScript could query the system localization and save it as a parameter. Depending on the system's localization the list names could be matched with the respecitve icons.

The German list names are:
{"Eingang", "Heute", "Geplant", "Jederzeit", "Irgendwann", "Logbuch", "Papierkorb"}

Let me know if I can help 👌
Best regards

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.