Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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}
share|improve this question
    
yep, no dice...I'll update the code though –  Zade Jul 30 '12 at 23:13
    
I realized later that {} seems to be the notation for a list of keys. So I guess it would just be optional in this case. Nevermind :) –  Oliver Salzburg Jul 30 '12 at 23:20
add comment

3 Answers 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.

share|improve this answer
    
I have System Events type out the clipboard for me all the time, into text fields that don't allow pasting. For example, I have long, random-character passwords for some encrypted disk images stored in a password manager, but DiskImageMounter doesn't allow pasting. –  Joel Reid Aug 3 '12 at 14:36
    
This works within the AppleScript editor if I click Run. However, I've set a keyboard shortcut to run this, and when I press the shortcut, weird things happen. It doesn't paste the clipboard. Furthermore, I want it to remove leading/trailing spaces/tabs from each line, as well as blank lines and invisible control characters, like Plain Clip does. Is this possible? Thanks! –  Zade Aug 4 '12 at 4:40
add comment

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"
share|improve this answer
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.