Thanks to visit codestin.com
Credit goes to github.com

Skip to content

OSC52 (clipboard direct to host clipboard via terminal emu even with ssh). Availability on tiny+ builds and stock distros. #19441

@dezza

Description

@dezza

runtime/pack/dist/opt/osc52/doc/osc52.txt
02b8ec7

The osc52.vim plugin provides support for the OSC 52 terminal command, which
allows an application to access the clipboard by communicating with the
terminal. This is useful in situations such as if you are in a SSH session.

Issue

This is useful in situations such as if you are in a SSH session.

Currently its not that accessible for multiple reasons. It requires right vim build and configuration and assumes distro packaging does not exclude the pack/dist/opt directory, so taking advantage currently has multiple barriers on unconfigured stock OS.

However, it solves a old issue that was previously way more complicated (x11 forwarding). It also simplifies clipboard support and dependencies quite a bit.

Mouse-selecting from fixed-width terminal is not appealing. I'd argue this is such an improvement it would be welcome, if done with careful considerations.

Challenges

  • osc52 is a package, not builtin.
    1 . we should consider integrating it, so it works even on tiny and works out of the box - with an explicit (build configure) disable-flag for the tiny build.

  • Server distros use tiny, normal or huge with clipboard explicitly disabled (debian/ubuntu for instance).

  1. Address why this is. Security? Or larger dependencies?
  2. Consider making it independent of clipboard_provider, so it works out the box on server builds. clipboard_osc52 clipboard_tiny ?
  • Requires set clipmethod=osc52.
  1. Detection, seamless activation on a non-gui would improve accessibility.
  • Security-concerns over clipboard (!)
  1. as example alacritty defaults to OnlyCopy making password read off host less likely.

Opening this issue so these can be discussed openly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions