Skip to content

Script variables

When calling a shell script or AppleScript from a classic PopClip script action (not from JavaScript), the script receives a set of variables that describe the input text and the context in which the action was triggered.

Variables in JavaScript

In JavaScript, variables are on the popclip global object.

Shell Script variables

All values are provided as strings. Where no value is available, it will be set to an empty string. PopClip sets script variables named like this: POPCLIP_TEXT, POPCLIP_BROWSER_TITLE, POPCLIP_OPTION_FOO, etc.

shell
open "https://translate.google.com/?text=${POPCLIP_URLENCODED_TEXT}"

AppleScript variables

Within an AppleScript, PopClip pre-processes the script to replace placeholders with strings. Placeholders look like this: {popclip text}, {popclip browser title}, {popclip option foo}, etc.

applescript
display dialog "{popclip text}" with title "Selected in {popclip app name}"

Available variables

Show variable names for:
NameDescription
POPCLIP_TEXTThe part of the selected plain text matching the specified regex or requirement.
POPCLIP_FULL_TEXTThe selected plain text in its entirety.
POPCLIP_HTMLSanitized HTML for the selection. CSS is removed, potentially unsafe tags are removed and markup is corrected. (captureHtml must be specified.)
POPCLIP_URLENCODED_TEXTURL-encoded form of the matched text.
POPCLIP_RAW_HTMLThe original unsanitized HTML, if available. (captureHtml must be specified.)
POPCLIP_MARKDOWNA conversion of the HTML to Markdown. (captureHtml must be specified.)
POPCLIP_URLSNewline-separated list of web URLs that PopClip detected in the selected text.
POPCLIP_MODIFIER_FLAGSModifier flags for the keys held down when the extension's button was clicked in PopClip. Values are as defined in Modifier values. For example, 0 for no modifiers, or 131072 if shift is held down.
POPCLIP_BUNDLE_IDENTIFIERBundle identifier of the app the text was selected in. For example, com.apple.Safari.
POPCLIP_APP_NAMEName of the app the text was selected in. For example, Safari.
POPCLIP_BROWSER_TITLEThe title of the web page that the text was selected from. (Supported browsers only.)
POPCLIP_BROWSER_URLThe URL of the web page that the text was selected from. (Supported browsers only.)
POPCLIP_OPTION_*One such value is generated for each option specified in the extension's options, where * represents the option's identifier. For boolean options, the value will be a string, either 0 or 1.
POPCLIP_EXTENSION_IDENTIFIERThis extension's identifier.
POPCLIP_ACTION_IDENTIFIERThe identifier specified in the action's configuration, if any.

Modifier values

This table gives the numeric value for every possible modifier combination.

KeysValue
none0
131072
262144
⌃⇧393216
524288
⌥⇧655360
⌃⌥786432
⌃⌥⇧917504
1048576
⇧⌘1179648
⌃⌘1310720
⌃⇧⌘1441792
⌥⌘1572864
⌥⇧⌘1703936
⌃⌥⌘1835008
⌃⌥⇧⌘1966080