Sha256: fa7e1313b9b4c99aad5b4b5bfd6ca2c54b38b2f624e1ca5df362062066d0eb3c
Contents?: true
Size: 1.05 KB
Versions: 4
Compression:
Stored size: 1.05 KB
Contents
require 'open3' module Clipboard; end module Clipboard::Linux extend self CLIPBOARDS = %w[clipboard primary secondary] # check which backend to use if system('which xclip >/dev/null 2>&1') WriteCommand = 'xclip' ReadCommand = 'xclip -o' Selection = proc{|x| "-selection #{x}"} elsif system('which xsel >/dev/null 2>&1') WriteCommand = 'xsel' ReadCommand = 'xsel -o' Selection = {'clipboard' => '-b', 'primary' => '-p', 'secondary' => '-s'} else raise Clipboard::ClipboardLoadError, "clipboard: Could not find required program xclip or xsel\n" \ "On debian/ubuntu, you can install it with: sudo apt-get install xclip" end def paste(which = nil) if !which || !CLIPBOARDS.include?(which.to_s.downcase) which = CLIPBOARDS.first end `#{ReadCommand} #{Selection[which.to_s.downcase]}` end def clear copy '' end def copy(data) CLIPBOARDS.each{ |which| Open3.popen3( "#{WriteCommand} #{Selection[which.to_s.downcase]}" ){ |input,_,_| input << data } } paste end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
clipboard-1.0.5 | lib/clipboard/linux.rb |
clipboard-1.0.4 | lib/clipboard/linux.rb |
clipboard-1.0.3 | lib/clipboard/linux.rb |
clipboard-1.0.2 | lib/clipboard/linux.rb |