6

I thought this would be simple...

I want an AppleScript that launches Plain Clip and then pastes the clipboard into the current document where the cursor is. My script launches Plain Clip (a format-clearing app that doesn't steal focus), but it doesn't paste the new clipboard. Any ideas?

tell application "Plain Clip" to activate
delay 1
tell application "System Events" to tell (name of application processes whose frontmost is true) to keystroke "v" using {command down}
Zade
  • 161

3 Answers3

3

Since you're stripping the clipboard down to plaintext anyway, you could perhaps finish by scripting the keyboard rather than scripting Plain Clip.

do shell script "pbpaste |textutil -convert txt -stdin -stdout -encoding 30 |pbcopy"
tell application "System Events" to keystroke (the clipboard)

p.s. that first line does the same thing that Plain Clip does.
p.p.s. scripting System Events requires access for assistive devices to be on.

Joel Reid
  • 151
1

I ran your script and it worked fine for me. Which OS are you using?

Another option is to use have AppleScript run a shell script accessing PlainClip's command line option:

tell application "System Events" to tell (name of application processes whose frontmost is true) to do shell script "'/Applications/Plain Clip.app/pc' -v"
0

This is how I resolved my problem:

delay 0.2
do shell script "'/Applications/Plain Clip.app/pc' -w -l -m -i -s -a -v"

Thanks guys.

Zade
  • 161