Eisenhower Matrix With Default Queries

I’m starting to play around with the Eisenhower Matrix theory for productivity and limiting procrastination. Since everything I do from TODOs to notes is inside Logseq I wanted a native way to achieve this.

I did see the plugin that was made to have a proper Eisenhower Matrix placed within Logseq but for me that was a bit too much for my flow. So, I set up a system to use the default-queries section of the config.edn file to achieve a more native approach.

First a bit of code then I’ll explain it for anyone that is not farmiliar with advanced queries in Logseq:

{
 :title [:b "Do Now"]
 :query [:find (pull ?block [*])
         :where
         [?block :block/marker ?marker]
         [(contains? #{"NOW" "DOING" "TODO"} ?marker)]
         [?block :block/content ?blockcontent]
         [?block :block/page ?page]
         [?page :block/name ?pagename]
         (page-ref ?block "urgent")
         (page-ref ?block "important")
        ]
  :collapsed? false
  :breadcrumb-show? false
  :table-view? false
}
...

The above code is to represent the Do Now block in the Eisenhower Matrix. Any TODO, NOW, or DOING that has tags #urgent and #important will automatically show up in this section (which I have at the top of my default queries list).

Example:

For the next two all that changes from the code above are the two (page-ref ?block ...) lines.

So for tasks that fall under the schedule section of the Eisenhower Matrix the tags would be something like #not-urgent and #important. And for the Delegate section I’m using #urgent and #not-important.

The final section of the Eisenhower Matrix is the Don't Do section and would be given the tags #not-urgent and #not-important. Though I’m leaving this out of my default-queries because they are useless tasks that distract from the important ones anyway.

Here’s an example of the end result in on the journal page of Logseq:

Hope this helps those of you looking for a more native way to implement this useful productivity framework.

Let me know if you have questions. :wave:

5 Likes

I use priority A for important/urgent, B for important/not urgent and C for not important/urgent since they’re easy to update on the fly as needed. Do you use priority A, B, and C to compliment your Eisenhower tagging or in lieu of?

I use priority A for important/urgent, B for important/not urgent and C for not important/urgent since they’re easy to update on the fly as needed.

This is fabulous approach and I may switch to having the default-queries use priority to place the into buckets. As I agree with you that they are very easy to update quickly. They will also allow me to type less to achieve the same result.

Do you use priority A, B, and C to compliment your Eisenhower tagging or in lieu of?

I have not used them with the approach I explained in my original post. Before I started to use the Eisenhower Matrix I would use priority to rank my tasks. But this fell short for me since I don’t think I should have multiple of the same priority.

Here’s and updated advanced query to use :block/priority instead of custom tags:

{
 :title [:b "Do Now"]
 :query [:find (pull ?block [*])
         :where
         [?block :block/marker ?marker]
         [(contains? #{"TODO"} ?marker)]
         [?block :block/priority "A"]
         [?block :block/content ?blockcontent]
         [?block :block/page ?page]
         [?page :block/name ?pagename]
        ]
  :collapsed? false
  :breadcrumb-show? false
  :table-view? false
}
2 Likes

One little remark. You don’t need these three lines in your query.

[?block :block/content ?blockcontent]
[?block :block/page ?page]
[?page :block/name ?pagename]

They don’t do anything :wink:

3 Likes

Thanks for the heads up :sweat_smile::pray:t2:

1 Like