Skip to content

Copy paste problematics

Falcion edited this page Jun 9, 2025 · 2 revisions

Issues with copy-paste problematics can be divided in two categories:

  1. pre-3.2.5: every copy+paste issue when global fix of copy+paste action was not yet implemented, providing advanced UX with code editor;
  2. post-3.2.5: when 3.2.5 was released, it was provided with multiple global fixes related to entirety of copy+paste system and how UNITADE integrates Monaco+Codemirror pair of editors.

Pre-3.2.5

When working with the code editor, the user may encounter issues with copying and pasting data; this problem began to appear with version v1.8* of the Obsidian installer (note: not the application itself, but only the installers of the latest versions).

  • more details on this topic can be found in issue #104.

The core of the issue is the inability to use the Ctrl+V key combination to paste text—this particular combination is affected, while all other CTRL+[KEY] combinations work normally. In these versions (edge cases), pasting is implemented via an event command on the CTRL+SHIFT+V keys in the standard Monaco setup.

What is the solution?

UNITADE offers, within the code editor settings, the option to enable or disable forced interpretation of the Ctrl+V combination as a paste action: by default, this setting is disabled, as it is unclear which version the user is running.

Important

Due to the "makeshift" nature of this solution, the capabilities of these command actions are limited: visually (there are no effects after selection, etc.) and functionally (the cursor remains at its original position before the paste).

Post-3.2.5

Post-3.2.5 copy+paste mechanism is based on previous iterations, but different: it calls an action^3 of paste taking data from buffer, simply speaking, copy is custom, paste is taken directly from Monaco.

Another "shift" in behavior is the fact that copy+paste listener now included ONLY in opened view, meaning listener for your copy+paste action created per opened file in the workspace: this is done to prevent "listener-leak" onto other views (files) like in the issue #116.

Clone this wiki locally