module Clipboard::Osc52

Constants

CLIPBOARDS
OSC52

Public Instance Methods

clear(clipboard: "all") click to toggle source
# File lib/clipboard/osc52.rb, line 27
def clear(clipboard: "all")
  selections = clipboard.to_s == "all" ? CLIPBOARDS : [clipboard]
  selections.each{ |selection|
    raise ArgumentError, "unknown clipboard selection" unless CLIPBOARDS.include?(selection)

    print OSC52 % {
      selection_option: selection == "primary" ? "p" : "c",
      data_base64: ?! # anything non-base64 / question mark clears
    }
  }

  true
end
copy(data, clipboard: "all") click to toggle source
# File lib/clipboard/osc52.rb, line 13
def copy(data, clipboard: "all")
  selections = clipboard.to_s == "all" ? CLIPBOARDS : [clipboard]
  selections.each{ |selection|
    raise ArgumentError, "unknown clipboard selection" unless CLIPBOARDS.include?(selection)

    print OSC52 % {
      selection_option: selection == "primary" ? "p" : "c",
      data_base64: [data].pack("m0"),
    }
  }

  true
end