# ⌨️ System wide shortcuts for creating quick new notes

**URL:** <https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473>\
**Category:** Apps\
**Created:** [2 December 2022 15:22 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473 "2022-12-02T15:22:38Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![graphit0](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/graphit0/32/3435_2.png) [@graphit0](https://discourse.joplinapp.org/u/graphit0)\
**Post date:** [2 December 2022 15:22 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/1 "2022-12-02T15:22:38Z")

</div>

### Description

An Espanso package named Joplin Shortcuts (or Jops) allows creating quick notes without the need to focus on Joplin window. It helps to streamline note-taking process and avoid disruption of your workflow.

### Main features

- `:jop` initiate the plugin: authorization of the plugin + setting up default notebook via external link
- `:mn` make new note
- `:mt` make new todo
- `:ct` creating new todo from clipboard

## How to install

1. [Install espanso](https://espanso.org/install/)
2. in terminal run `espanso install jops`
3. Enable Joplin's Web Clipper service
4. Type`:jop` anywhere (not only in text fields) and press Grant authorization in Joplin. Optionally you can provide external link of the notebook of choice where your quick notes will land.

[https://user-images.githubusercontent.com/44114323/204137550-1bb7aa5f-dac4-468d-9d7e-8e85eb964b86.mp4](https://user-images.githubusercontent.com/44114323/204137550-1bb7aa5f-dac4-468d-9d7e-8e85eb964b86.mp4)

## Usage

1. Make sure Joplin and espanso are running
2. Type `:mn` to create your first quick note

[https://user-images.githubusercontent.com/44114323/204137648-5d5135e4-3c25-44a9-a940-a58340e307ac.mp4](https://user-images.githubusercontent.com/44114323/204137648-5d5135e4-3c25-44a9-a940-a58340e307ac.mp4)

## Other considerations

- Shortcut won't launch Joplin if it isn't running, hence you should start it beforehand
- Due to the fact the shortcut written in bash, for now it's supported only on Linux and macOS but can be easily ported to WSL2 for Windows. If you want to port it to native Windows powershell and need help, drop me a line

### Known issues

- `:ct` can't save more than one line of text
- `:ct` can't handle `'` symbols in clipboard
- `:mn`/`:mt` trim `'` symbols by default

## External links

[Espanso - A Privacy-first, Cross-platform Text Expander](https://espanso.org/)  
[jops github repo](https://github.com/espanso/hub/tree/main/packages/jops/0.1.0)  
[Joplin Shortcut | Espanso Hub](https://hub.espanso.org/jops)

---

<div class="post-metadata">

**Author:** ![PhiLho](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/philho/32/4794_2.png) [@PhiLho](https://discourse.joplinapp.org/u/PhiLho)\
**Post date:** [5 December 2022 06:27 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/2 "2022-12-05T06:27:20Z")

</div>

Interesting, I didn't know Espanso existed. Its strong point is its cross-platform support.  
On Windows, I use AutoHotkey for years to do this kind of stuff. But its odd language gets some time to be mastered (although for simple tasks like this, it isn't that hard).  
Thanks for sharing.

---

<div class="post-metadata">

**Author:** ![eagle](https://avatars.discourse-cdn.com/v4/letter/e/ba8739/32.png) [@eagle](https://discourse.joplinapp.org/u/eagle)\
**Post date:** [3 February 2023 13:59 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/3 "2023-02-03T13:59:32Z")

</div>

This seems like a very interesting idea but I can not get it to work.

Joplin 2.9.17 on macOS Ventura 13.2 M1

Joplin is running but trying to initiate the plugin just results in the following text being inserted in my last used note:

"occurred during rendering, please examine the logs for more information"

---

<div class="post-metadata">

**Author:** ![graphit0](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/graphit0/32/3435_2.png) [@graphit0](https://discourse.joplinapp.org/u/graphit0)\
**Post date:** [3 February 2023 15:06 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/4 "2023-02-03T15:06:42Z")

</div>

Did you initiate the package by typing `:jop` beforehand (don't forget to grant authorization as well)?

What does it show when you type `espanso log` after error appear?

---

<div class="post-metadata">

**Author:** ![eagle](https://avatars.discourse-cdn.com/v4/letter/e/ba8739/32.png) [@eagle](https://discourse.joplinapp.org/u/eagle)\
**Post date:** [6 February 2023 08:06 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/5 "2023-02-06T08:06:28Z")

</div>

Hello @graphit0

I did try to initiate the package by typing :jop but after clicking "Submit" nothing happens in Joplin. It does not ask about authorization.

espanso log says:

```auto
08:59:59 [worker(22371)] [ERROR] shell command exited with code: exit status: 1 and error: zsh:1: no such file or directory: /Users/username/.config/Joplin/.parentid

08:59:59 [worker(22371)] [WARN] extension 'shell' on var: 'parentsave' reported an error: command reported error: '`zsh:1: no such file or directory: /Users/username/.config/Joplin/.parentid
`'
08:59:59 [worker(22371)] [ERROR] error during rendering: rendering error

Caused by:
    command reported error: '`zsh:1: no such file or directory: /Users/username/.config/Joplin/.parentid
    `'

```

---

<div class="post-metadata">

**Author:** ![graphit0](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/graphit0/32/3435_2.png) [@graphit0](https://discourse.joplinapp.org/u/graphit0)\
**Post date:** [6 February 2023 08:14 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/6 "2023-02-06T08:14:25Z")

</div>

Have you set up a default notebook (by pasting its external link in `:jop` dialogue)? If not yet, try to do so please

---

<div class="post-metadata">

**Author:** ![eagle](https://avatars.discourse-cdn.com/v4/letter/e/ba8739/32.png) [@eagle](https://discourse.joplinapp.org/u/eagle)\
**Post date:** [6 February 2023 09:08 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/7 "2023-02-06T09:08:53Z")

</div>

Still no go.

Log output:

```auto
10:03:57 [worker(22371)] [ERROR] shell command exited with code: exit status: 1 and error: zsh:1: no matches found: joplin://x-callback-url/openFolder?id=removedforsecurityreasons
zsh:1: no such file or directory: /Users/username/.config/Joplin/.parentid

10:03:57 [worker(22371)] [WARN] extension 'shell' on var: 'parentsave' reported an error: command reported error: '`zsh:1: no matches found: joplin://x-callback-url/openFolder?id=removedforsecurityreasons
zsh:1: no such file or directory: /Users/username/.config/Joplin/.parentid
`'
10:03:57 [worker(22371)] [ERROR] error during rendering: rendering error

Caused by:
    command reported error: '`zsh:1: no matches found: joplin://x-callback-url/openFolder?id=removedforsecurityreasons
    zsh:1: no such file or directory: /Users/username/.config/Joplin/.parentid

```

---

<div class="post-metadata">

**Author:** ![tp0s](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/tp0s/32/22417_2.png) [@tp0s](https://discourse.joplinapp.org/u/tp0s)\
**Post date:** [20 August 2024 21:24 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/8 "2024-08-20T21:24:15Z")

</div>

nothing further on this?

---

<div class="post-metadata">

**Author:** ![graphit0](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/graphit0/32/3435_2.png) [@graphit0](https://discourse.joplinapp.org/u/graphit0)\
**Post date:** [21 August 2024 19:39 UTC](https://discourse.joplinapp.org/t/system-wide-shortcuts-for-creating-quick-new-notes/28473/9 "2024-08-21T19:39:24Z")

</div>

Hey, in short, I've came across an upstream problem I couldn't solve (see Known Issues) which prompted me to slow down the development. Last time I used the package it worked as expected.
