# Pop out notes

**URL:** <https://discourse.joplinapp.org/t/pop-out-notes/41657>\
**Category:** Features\
**Created:** [30 October 2024 09:54 UTC](https://discourse.joplinapp.org/t/pop-out-notes/41657 "2024-10-30T09:54:00Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![cocorima](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@cocorima](https://discourse.joplinapp.org/u/cocorima)\
**Post date:** [30 October 2024 09:54 UTC](https://discourse.joplinapp.org/t/pop-out-notes/41657/1 "2024-10-30T09:54:00Z")

</div>

Hello Folks,  
Moved from Evernote. Always used to pop out notes to focus directly on that note while typically splitting the screen to view the source article.

Joplin doesnt do this. I note in searches that other users like this workflow. I see the advice on work arounds. I was wondering if this is/would be added to joplin?

Rob

---

<div class="post-metadata">

**Author:** ![JackGruber](https://yyz2.discourse-cdn.com/flex028/user_avatar/discourse.joplinapp.org/jackgruber/32/3231_2.png) [@JackGruber](https://discourse.joplinapp.org/u/JackGruber)\
**Post date:** [30 October 2024 11:11 UTC](https://discourse.joplinapp.org/t/pop-out-notes/41657/2 "2024-10-30T11:11:56Z")

</div>

> <https://github.com/laurent22/joplin/pull/11181>
>
> \# Summary
> 
> This pull request allows opening Joplin's editor in a new window us…ing \[React's portal API\](https://react.dev/reference/react-dom/createPortal#rendering-react-components-into-non-react-dom-nodes). It still has a few issues and is thus a draft.
> 
> \# Known issues
> 
> \## Major issues
> 
> \- \[x\] Notes need to be reloaded to show updates. (Fixed)
> \- \[x\] Editor commands (e.g. bold with \<kbd\>ctrl\</kbd\>-\<kbd\>b\</kbd\>) are always applied to the last-created editor. (Fixed)
> \- \[x\] All dialogs (e.g. go to anything, note info) open in the main window. (Fixed)
> \- \[x\] The editor sometimes incorrectly reloads content &mdash; it seems to detect changes from recent saves as edits made by a different editor. 
> \- \[x\] If editing in a secondary window, dialogs (e.g. note statistics) will report information for the note in the main window.
> \- \[x\] Commands that rely on \`selectedNoteId\` always act on the note displayed in the main window.
> - For example, clicking "Note", then "Permanently delete note" in a secondary window prompts to delete whichever note is open in the main Joplin window.
> \- \[x\] Commands that rely on \`selectedNoteId\` for their enabled condition can be incorrectly enabled/disabled in new windows.
> \- \[x\] Toolbar buttons are enabled/disabled based on the \*\*current window\*\*, rather than the window that they're in.
> \- \[x\] The tags list always reflects the tags associated with the currently focused window (even if the list is displayed in a background window).
> \- \[x\] \`state.notes\` is refreshed unnecessarily when a window gains focus and it isn't a just-created window.
> \- \[x\] Context menus only work in the main window.
> \- \[x\] All windows must have the same editor (Markdown/Rich Text).
> \- \[x\] All windows have the same layout.
> \<video src="https://github.com/user-attachments/assets/993724d1-4842-4a15-a000-16f69d48c5e8" alt="Changing the layout of one window is shown to change the layout (visible editor/panes) of the others"\>\</video\>
> \- \[x\] Opening settings closes all secondary windows.
> \- \[x\] Drag-and-drop doesn't work between windows.
> \- \[x\] Plugin dialogs are shown on all windows, and (depending on the plugin) may only work correctly in one of the windows.
> - \[\] Plugin dialogs are now shown only on one window by default. However, if a different window is focused, it's possible for two plugin dialogs with the same ID to be opened. This can cause issues for certain plugins.
> \- \[x\] Enabling the Rich Text Editor in one of the windows disables certain commands (e.g. header, checklist) for all windows.
> \- \[x\] Adding a new tag in a new window causes the new window to navigate to a different note.
> \- \[x\] When notes are deleted and in the navigation history, they are only deleted from the navigation history for the last focused window.
> \- \[x\] The legacy Markdown editor is styled incorrectly (fixed size, Markdown preview hidden) in secondary windows.
> 
> \## Less significant issues
> 
> \- \[\] To allow editors to update when a note is edited in a different window, \[\`useFormNote\` was updated\](https://github.com/laurent22/joplin/pull/11181/commits/fad84d47c7f8a6499778a48d1742643630bbe1fb). In particular,
> - Whenever the note changes in the database, a note refresh is scheduled.
> - Whenever the note is changed by the editor, \*\*its content is added to a \`Set\`\*\*. (\*\*Possible performance issue!\*\*)
> - When a note refresh happens, the set is cleared. If the new note content was previously in the set, the refresh is cancelled (and the set is still cleared).
> - This prevents unnecessary note refreshes if the note was saved just before \`await Note.load\` resolves. In this case, \`Note.load\` may return an outdated copy of the note (and not match the last saved content).
> \- \[\] Plugin API global CSS applies only to the main window.
> \- \[\] Warning banners (e.g. "the synchronization password is missing") are only shown on the main window.
> \- \[\] (Not an issue?) Secondary windows are just the editor. While they can show dialogs, they don't include panels and can't show other screens.
> 
> \# Screen recording
> 
> \[multi-window-demo-oct-15-2024.webm\](https://github.com/user-attachments/assets/ed1c9c99-b1f2-4034-92d9-a7397fcdc480)
> 
> 
> \# Notes
> 
> \- This pull request uses \[React Portals\](https://react.dev/reference/react-dom/createPortal#rendering-react-components-into-non-react-dom-nodes) to render Joplin's editor in a new window. As this renders React nodes in a different DOM, the global \`document\` and \`window\` variables may no longer point to the current component's DOM.
> - A \[\`useDom\`\](https://github.com/laurent22/joplin/pull/11181/files#diff-bb1bae01ae0cd8db719e77bc5f256ad5d4a9f50f182356ced3f2aa0407ec61d8) hook has been added to get the \`Document\` for a component.
> \- For \`react-select\` to be styled in new windows, it seems \[necessary to wrap the window's content in the \`CacheProvider\` component from one of its dependencies\](https://github.com/JedWatson/react-select/issues/3680#issuecomment-809518245).
> 
> \<!--
> 
> Please prefix the title with the platform you are targetting:
> 
> Here are some examples of good titles:
> 
> \- Desktop: Resolves #123: Added new setting to change font
> \- Mobile, Desktop: Fixes #456: Fixed config screen error
> \- All: Resolves #777: Made synchronisation faster
> 
> And here's an explanation of the title format:
> 
> \- "Desktop" for the Windows/macOS/Linux app (Electron app)
> \- "Mobile" for the mobile app (or "Android" / "iOS" if the pull request only applies to one of the mobile platforms)
> \- "CLI" for the CLI app
> 
> If it's two platforms, separate them with commas - "Desktop, Mobile" or if it's for all platforms, prefix with "All".
> 
> If it's not related to any platform (such as a translation, change to the documentation, etc.), simply don't add a platform.
> 
> Then please append the issue that you've addressed or fixed. Use "Resolves #123" for new features or improvements and "Fixes #123" for bug fixes.
> 
> AND PLEASE READ THE GUIDE: https://github.com/laurent22/joplin/blob/dev/readme/dev/index.md
> 
> \--\>

---

<div class="post-metadata">

**Author:** ![cocorima](https://avatars.discourse-cdn.com/v4/letter/c/b9bd4f/32.png) [@cocorima](https://discourse.joplinapp.org/u/cocorima)\
**Post date:** [30 October 2024 12:07 UTC](https://discourse.joplinapp.org/t/pop-out-notes/41657/3 "2024-10-30T12:07:40Z")

</div>

thanks for the update

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex028/uploads/cozic/original/3X/1/c/1c948e33314e232a0927789508474d8624f4270b.png) [@system](https://discourse.joplinapp.org/u/system)\
**Post date:** [25 October 2025 12:08 UTC](https://discourse.joplinapp.org/t/pop-out-notes/41657/4 "2025-10-25T12:08:34Z")

</div>

Closed on 25 October 2025 12:08 UTC

This topic was automatically closed 360 days after the last reply. New replies are no longer allowed.
