<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dictionary SYSTEM "file://localhost/System/Library/DTDs/sdef.dtd">
<dictionary title="iClip Scripting">
	<!--
    STANDARD SUITE
  -->
	<suite name="Standard Suite" code="core" description="Common classes and commands for all applications.">
		<cocoa name="NSCoreSuite"/>
		<command name="count" code="corecnte" description="Return the number of elements of a particular class within an object.">
			<cocoa class="NSCountCommand"/>
			<direct-parameter description="the object whose elements are to be counted" type="specifier"/>
			<parameter name="each" code="kocl" description="The class of objects to be counted." type="type" optional="yes">
				<cocoa key="ObjectClass"/>
			</parameter>
			<result description="the number of elements" type="integer"/>
		</command>
		<command name="delete" code="coredelo" description="Delete an object.">
			<cocoa class="NSDeleteCommand"/>
			<direct-parameter description="The object(s) to delete." type="specifier"/>
		</command>
		<command name="exists" code="coredoex" description="Verify if an object exists.">
			<cocoa class="NSExistsCommand"/>
			<direct-parameter description="the object in question" type="specifier"/>
			<result description="true if it exists, false if not" type="boolean"/>
		</command>
	</suite>
	<suite name="Text Suite" code="????" description="Common text classes for all applications.">
		<value-type name="RGB color" code="cRGB">
			<cocoa class="NSColor"/>
		</value-type>
		<class name="rich text" code="Rtxt" description="Rich (styled) text." plural="rich text">
			<cocoa class="NSTextStorage"/>
			<element type="character"/>
			<element type="paragraph"/>
			<element type="word"/>
			<element type="attribute run"/>
			<element type="attachment"/>
			<property name="color" code="colr" description="The color of the text&apos;s first character." type="RGB color">
				<cocoa key="foregroundColor"/>
			</property>
			<property name="font" code="font" description="The name of the font of the text&apos;s first character." type="text">
				<cocoa key="fontName"/>
			</property>
			<property name="size" code="ptsz" description="The size in points of the text&apos;s first character." type="integer">
				<cocoa key="fontSize"/>
			</property>
			<type type="text"/>
		</class>
		<class name="character" code="cha " description="One of some text&apos;s characters." inherits="rich text">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
		</class>
		<class name="paragraph" code="cpar" description="One of some text&apos;s paragraphs." inherits="rich text">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
		</class>
		<class name="word" code="cwor" description="One of some text&apos;s words." inherits="rich text">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
		</class>
		<class name="attribute run" code="catr" description="A chunk of text that all has the same attributes." inherits="rich text">
			<cocoa class="NSTextStorage"/>
			<type type="text"/>
		</class>
		<class name="attachment" code="atts" description="A file embedded in text. This is just for use when embedding a file using the make command." inherits="rich text">
			<cocoa class="NSAttachmentTextStorage"/>
			<property name="file name" code="atfn" description="The path to the embedded file." type="text">
				<cocoa key="filename"/>
			</property>
		</class>
	</suite>
	<suite name="iClip Suite" code="iClp" description="iClip commands">
		<value-type name="RGBA color" code="RGBa" type="doub" list="yes"
				description="A record with RGB color values and an additional alpha channel value. All four values are floating point, ranging from 0.0 to 1.0.">
			<cocoa class="NSColor"/>
		</value-type>
		<enumeration name="kinds" code="Knds" description="The most common types a clipping can be of.">
			<enumerator name="undefined" code="Ki--" description="Means that the kind has not yet been determined. Should never occur.">
				<cocoa integer-value="0"/>
			</enumerator>
			<enumerator name="unknown" code="Ki_?">
				<cocoa integer-value="1"/>
			</enumerator>
			<enumerator name="file alias" code="KiAl">
				<cocoa integer-value="2"/>
			</enumerator>
			<enumerator name="plain text" code="KiPT">
				<cocoa integer-value="3"/>
			</enumerator>
			<enumerator name="styled text" code="KiST">
				<cocoa integer-value="4"/>
			</enumerator>
			<enumerator name="RTF" code="KiRT">
				<cocoa integer-value="5"/>
			</enumerator>
			<enumerator name="PDF" code="KiPF">
				<cocoa integer-value="6"/>
			</enumerator>
			<enumerator name="web content" code="KiWb" description="HTML text or webarchive">
				<cocoa integer-value="7"/>
			</enumerator>
			<enumerator name="internet address" code="KiIA">
				<cocoa integer-value="8"/>
			</enumerator>
			<enumerator name="picture with address" code="KiPA">
				<cocoa integer-value="9"/>
			</enumerator>
			<enumerator name="picture" code="KiPi">
				<cocoa integer-value="10"/>
			</enumerator>
			<enumerator name="photos thumbnail" code="KiPP" description="Thumbnail image dragged from Photos.app">
				<cocoa integer-value="11"/>
			</enumerator>
			<enumerator name="icons" code="KiIC" description="An icons set">
				<cocoa integer-value="12"/>
			</enumerator>
			<enumerator name="movie" code="KiMv">
				<cocoa integer-value="13"/>
			</enumerator>
			<enumerator name="sound" code="KiSo">
				<cocoa integer-value="14"/>
			</enumerator>
		</enumeration>
		<enumeration name="clipboard targets" code="Targ" description="Used with &quot;copy from&quot; and &quot;paste to&quot; commands.">
			<enumerator name="active application" code="TrgA" description="Targets the active application for a copy or paste command.">
				<cocoa integer-value="0"/>
			</enumerator>
			<enumerator name="clipboard" code="TarC" description="Targets the clipboard for a copy or paste command.">
				<cocoa integer-value="1"/>
			</enumerator>
		</enumeration>
		<class name="application" code="capp" description="The application&apos;s top-level scripting object.">
			<contents name="contents" code="pcnt" description="The current clip set. Allows direct access to the shown bins." type="clip set" access="r">
				<cocoa key="currentClipSet"/>
			</contents>
			<cocoa class="NSApplication"/>
			<element description="All stored clip sets, excluding the search sets." type="clip set">
				<cocoa key="allClipSets"/>
				<accessor style="id"/>
				<accessor style="index"/>
			</element>
			<element description="All clippings." type="clipping">
				<cocoa key="allClippings"/>
				<accessor style="id"/>
				<accessor style="index"/>
			</element>
			<property name="name" code="pnam" description="The name of the application." type="text" access="r"/>
			<property name="frontmost" code="pisf" description="Is this the frontmost (active) application?" type="boolean" access="r">
				<cocoa key="isActive"/>
			</property>
			<property name="version" code="vers" description="The version of the application." type="text" access="r"/>
			<property name="recorder" code="recS" description="The recorder clip set." type="recorder clip set" access="r">
				<cocoa key="recorder"/>
			</property>
			<property name="current clip set" code="curS" description="The currently active clip set. Returns &quot;missing value&quot; if the current set is from a search. To set the current clip set, you can also use the &quot;switch to&quot; command, allowing you to specify whether to display the name on the screen briefly." type="clip set">
				<cocoa key="currentClipSet"/>
			</property>
			<property name="visible" code="Visi" description="Tells whether the iClip window is shown." type="boolean">
				<cocoa key="visible"/>
			</property>
			<property name="scroll position" code="scPs" description="The scroll position of the iClip window&apos;s leftmost or topleft visible bin. Starts with 1 for the first bin." type="integer">
				<cocoa key="scrollPos"/>
			</property>
			<property name="next paste position" code="NPaP" description="The bin position that&apos;ll be paste from when using the &quot;Paste from next bin&quot; hot key. Zero means that it&apos;s not set." type="integer">
				<cocoa key="nextPastePos"/>
			</property>
			<property name="current database location" code="dbCr" description="The currently opened database." type="file" access="r">
				<cocoa key="currentDBFile"/>
			</property>
			<property name="default database location" code="dbPr" description="The database that&apos;s getting opened when iClip restarts (i.e. the one that can be opened &quot;permanently&quot;). If it&apos;s set to a non-existing location, iClip will reset the path to the default location (~/Application Support/iClip/iClip Clippings.iclipdb). To create a new database, create a folder with its name ending in &quot;.iclipdb&quot; and set this property to the folder&apos;s location." type="file">
				<cocoa key="permanentDBFile"/>
			</property>
			<property name="count of visible bins" code="aBCt" description="The number of currently shown bins." type="integer" access="r">
				<cocoa key="visibleBinsCount"/>
			</property>
			<property name="current clipping" code="cuCl" description="Only valid when this script is invoked by iClip. Identifies the clipping the action is applied to." type="clipping" access="r">
				<cocoa key="currentClipping"/>
			</property>
			<property name="current event name" code="cEvN" description="Only valid when this script is invoked by iClip. Useful for JavaScript (JXA) based scripts to tell which event is to be handled. AppleScripts implement the handlers directly instead." type="text" access="r">
				<cocoa key="currentEventName"/>
			</property>
			<property name="automatically reloads scripts" code="RdAu" description="Specifies whether scripts get automatically reloaded when modified, added or removed from the designated folders (which are: ~/Application Support/iClip/Scripts, ~/Library/Scripts/iClip, ~/Library/Scripts/Applications/iClip, ~/Library/Application Scripts/com.irradiatedsoftware.iClip). During development of a script, you may set this property to false and then use another script to manually reload your scripts with the &quot;reload scripts&quot; command." type="boolean">
				<cocoa key="reloadsScripts"/>
			</property>
			<property hidden="yes" name="userID" code="usr?" type="text" access="r"/>
			<property name="support folder" code="Fld?" description="The iClip folder containing the default database, backups, scripts etc. (i.e. ~/Application Support/iClip)" type="file" access="r">
				<cocoa key="appSupportFolder"/>
			</property>
			<property name="recording target" code="RcTg" description="The clip set that is recorded to. By default, that&apos;s the recorder, but it may be redirected to other sets, either by setting this property or if the user has enabled the option (&quot;Record to Active Set&quot;) to record to the current clip set. (New in iClip 5.2.5)" type="clip set">
				<cocoa key="recordingTarget"/>
			</property>
			<property name="text items separator" code="tSep" description="The text delimiter used when combining several textual clip items. Default is LF (line feed). (New in iClip 5.2.5.)" type="text">
				<cocoa key="textItemsSeparator"/>
			</property>
			<responds-to command="open">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="open permanently">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="open temporarily">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="quit">
				<cocoa method=""/>
			</responds-to>
		</class>
		<class name="clip set" code="clSt" description="A clip set. Has bins that can each contain a clipping.">
			<cocoa class="ScriptableClipSet"/>
			<element description="Bins are the containers that hold a clipping each." type="bin" access="r">
				<cocoa key="allBins"/>
				<accessor style="index"/>
			</element>
			<property name="ID" code="ID  " description="The ID of the clip set. Remains persistent over re-runs of the script and even after relaunch of iClip." type="integer" access="r">
				<cocoa key="UniqueID"/>
			</property>
			<property name="name" code="pnam" description="The name of the clip set" type="text">
				<cocoa key="name"/>
			</property>
			<property name="suppressPreview" code="noPv" description="Suppresses a preview in the bins (value: 1), the preview pop-up windows (value: 2), or all types (value: 3). Zero means that previews are shown." type="integer">
				<cocoa key="suppressPreview"/>
			</property>
			<property name="recorder" code="rec?" description="Tells whether the clip set is the Recorder" type="boolean" access="r">
				<cocoa key="isRecorder"/>
			</property>
			<property name="current" code="cur?" description="Tells whether the clip set is the active one. Can be set to true to make it active (setting it to false has no effect)." type="boolean">
				<cocoa key="isCurrent"/>
			</property>
			<property name="bin count" code="clCt" description="The number of bins in the clip set. Can be set to change the total number of bins available in the set. To check if setting a new count was accessful, get the count and compare to the set value. If the value was out of bounds, it&apos;ll be set to fit inside the bounds." type="integer">
				<cocoa key="binCount"/>
			</property>
			<property name="position" code="Pos?" description="The current position of the clip set in the list of all clip sets. The recorder&apos;s position is always 1." type="integer" access="r">
				<cocoa key="position"/>
			</property>
			<property name="available bin position" code="FrBn" description="The first available bin position, i.e. either that of an empty bin or the position after the last non-empty bin." type="integer" access="r">
				<cocoa key="firstFreePos"/>
			</property>
			<property name="last used bin position" code="LsBn" description="The highest bin position that is occupied by a clipping. (New in iClip 5.2.5)" type="integer" access="r">
				<cocoa key="lastUsedPos"/>
			</property>
			<responds-to command="clear">
				<cocoa method="clearEntireSet:"/>
			</responds-to>
			<responds-to command="delete">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="duplicate">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="make">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="move">
				<cocoa method="moveSet:"/>
			</responds-to>
			<responds-to command="compact">
				<cocoa method="compactSet:"/>
			</responds-to>
			<responds-to command="export">
				<cocoa method="export:"/>
			</responds-to>
			<responds-to command="add">
				<cocoa method="addClipping:"/>
			</responds-to>
		</class>
		<class name="recorder clip set" code="cRec" description="The recorder clip set. Has always the position 1, even if it&apos;s disabled." inherits="clip set">
			<cocoa class="ScriptableRecorder"/>
			<property name="enabled" code="Enab" description="Recorder on/off status" type="boolean">
				<cocoa key="enabled"/>
			</property>
		</class>
		<class name="bin" code="Bin " description="A bin is the container in a clip set that holds a clipping.">
			<contents name="contents" code="pcnt" description="The clipping this bin contains." type="clipping">
				<cocoa key="theClip"/>
			</contents>
			<cocoa class="ScriptableBin"/>
			<property name="ID" code="ID  " description="The ID of the bin. Is NOT persistent between re-runs of iClip." type="integer" access="r">
				<cocoa key="UniqueID"/>
			</property>
			<property name="the clipping" code="binC" description="The clipping. Can be a &quot;missing item&quot; if no clipping is assigned to this bin." type="clipping">
				<cocoa key="theClip"/>
			</property>
			<property name="empty" code="binE" description="Tells whether the bin is empty. To make it empty, use the clear or the remove command." type="boolean" access="r">
				<cocoa key="isEmpty"/>
			</property>
			<responds-to command="clear">
				<cocoa method="clearBin:"/>
			</responds-to>
			<responds-to command="move">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="remove">
				<cocoa method="removeClippingFromBin:"/>
			</responds-to>
			<responds-to command="reveal">
				<cocoa method="revealBin:"/>
			</responds-to>
		</class>
		<class name="clipping" code="Clip" description="A clipping, containing one or more clip items. Usually contains one clip item. Multiple clip items are common with Alias files. A clipping is either unassigned or assigned to a bin of a clip set. Clippings that remain unassigned get moved to a clip set named &quot;Recovered&quot; next time iClip is launched.">
			<contents name="contents" code="pcnt" description="The textual content of the clipping&apos;s entire set of items." type="rich text">
				<cocoa key="textualData"/>
			</contents>
			<cocoa class="ScriptableClipping"/>
			<element description="The items a clipping has. Most clippings have only one item. A common exception are File Alias clippings - if you copy multiple files from the Finder, the clipping will have a clip item for each of those files." type="clip item">
				<cocoa key="allItems"/>
				<accessor style="id"/>
				<accessor style="index"/>
			</element>
			<property name="ID" code="ID  " description="The ID of the clipping. Remains persistent over re-runs of the script and even after relaunch of iClip." type="integer" access="r">
				<cocoa key="UniqueID"/>
			</property>
			<property name="name" code="pnam" description="The name (title) of the clipping." type="text">
				<cocoa key="title"/>
			</property>
			<property name="shows name" code="Tvis" description="Show the clip&apos;s name (title) in the bin?" type="boolean">
				<cocoa key="showTitle"/>
			</property>
			<property name="text content" code="Text" description="The textual content of the clipping&apos;s entire set of items." type="rich text">
				<cocoa key="textualData"/>
			</property>
			<property name="kind" code="KndE" description="The kind of the clipping, such as text, picture, alias etc. This value is based on the current contents of the clipping." type="kinds" access="r">
				<cocoa key="kindEnum"/>
			</property>
			<property name="kind text" code="Kind" description="Returns the text that appears in the clipping&apos;s popup preview window. It&apos;s a combination of both &apos;kind&apos; and &apos;custom kind&apos;: If &apos;custom kind&apos; is non-empty, that&apos;s what gets returned; otherwise a textual representation of the &apos;kind&apos; enum is returned." type="text" access="r">
				<cocoa key="kindAsText"/>
			</property>
			<property name="custom kind" code="KndC" description="The custom kind is shown in a clipping&apos;s popup preview window when it&apos;s non-empty. See also &apos;kind text&apos;." type="text">
				<cocoa key="customKind"/>
			</property>
			<property name="info" code="Info" description="Contains extra information for certain clipping kinds, e.g. the dimensions of image clippings. Gets shown in the popup preview window below the preview image." type="text">
				<cocoa key="info"/>
			</property>
			<property name="app name" code="apNm" description="The application name that the clipping came from." type="text">
				<cocoa key="appName"/>
			</property>
			<property name="app id" code="apId" description="The application&apos;s bundle ID that the clipping came from." type="text">
				<cocoa key="appBundleID"/>
			</property>
			<property name="computer name" code="coNm" description="The name of the computer where the clipping was recorded." type="text">
				<cocoa key="compName"/>
			</property>
			<property name="preferred UTI" code="pUTI" description="The UTI to use for rendering the preview, taken from the first item of this clipping. If empty, one will be chosen automatically." type="text">
				<cocoa key="preferredUTI"/>
			</property>
			<property name="tint color" code="tCol" description="The clipping's tint (background) color." type="RGBA color">
				<cocoa key="tintColor"/>
			</property>
			<property name="suppressPreview" code="noPv" description="Suppresses a preview in the bins (value: 1), the preview pop-up windows (value: 2), or all types (value: 3). Zero means that previews are shown." type="integer">
				<cocoa key="suppressPreview"/>
			</property>
			<property name="modified" code="datM" description="The date and time the clipping was last modified or created." type="date">
				<cocoa key="modDate"/>
			</property>
			<property name="created" code="datC" description="The date and time the clipping was created." type="date">
				<cocoa key="creaDate"/>
			</property>
			<property name="container" code="Cont" description="The clip set this clipping belongs to. Is &apos;missing value&apos; for unassigned (removed) clippings." type="clip set" access="r">
				<cocoa key="itsClipSet"/>
			</property>
			<property name="position" code="Pos?" description="The bin position this clipping belongs to. Is zero for unassigned (removed) clippings." type="integer" access="r">
				<cocoa key="itsPosition"/>
			</property>
			<responds-to command="make">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="delete">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="duplicate">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="export">
				<cocoa method="export:"/>
			</responds-to>
			<responds-to command="convert to plain text">
				<cocoa method="convertToPlainText:"/>
			</responds-to>
			<responds-to command="remove">
				<cocoa method="unassign:"/>
			</responds-to>
			<responds-to command="paste">
				<cocoa method="paste:"/>
			</responds-to>
			<responds-to command="add">
				<cocoa method="addToSet:"/>
			</responds-to>
			<responds-to command="save">
				<cocoa method="writeToFile:"/>
			</responds-to>
			<responds-to command="clear">
				<cocoa method="clearItems:"/>
			</responds-to>
		</class>
		<class name="clip item" code="ClpX" description="A clipping item, containing zero or more flavors, and optionally a file reference.">
			<contents name="contents" code="pcnt" description="The textual content of the item if it has a textual flavor (i.e. if the property &apos;textual&apos; is true). Otherwise it&apos;s empty." type="rich text">
				<cocoa key="textualData"/>
			</contents>
			<cocoa class="ScriptableClipItem"/>
			<element description="The flavors a clipping has. Each flavor contains data in a different format, usually all representing the same original data (e.g. for a text clipping, there will be an entry for plain text and optionally have entries for rich text, i.e. RTF, PDF, even html)." type="flavor" access="r">
				<cocoa key="allFlavors"/>
				<accessor style="name"/>
				<accessor style="id"/>
				<accessor style="index"/>
			</element>
			<property name="ID" code="ID  " description="The ID of the clip item. Remains persistent over re-runs of the script and even after relaunch of iClip." type="integer" access="r">
				<cocoa key="UniqueID"/>
			</property>
			<property name="alias" code="IsAl" description="If true, this clipping item represents a file on disk. Otherwise it saves the contents from a clipboard or from a dropped file." type="boolean" access="r">
				<cocoa key="isAlias"/>
			</property>
			<property name="file reference" code="File" description="The file identified by this clipping" type="file">
				<cocoa key="fileRef"/>
			</property>
			<property name="text content" code="Text" description="The textual content of the item if it has a textual flavor (i.e. if the property &apos;textual&apos; is true). Otherwise it&apos;s empty." type="rich text">
				<cocoa key="textualData"/>
			</property>
			<property name="textual" code="IsTx" description="Tells whether this clipping has textual content that can be retrieved and set with the text property" type="boolean" access="r">
				<cocoa key="isTextual"/>
			</property>
			<responds-to command="delete">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="clear">
				<cocoa method="clearItem:"/>
			</responds-to>
			<responds-to command="make">
				<cocoa method=""/>
			</responds-to>
			<responds-to command="duplicate">
				<cocoa method=""/>
			</responds-to>
		</class>
		<class name="flavor" code="Flav" description="A flavor contains a single entry of data of a particular type (UTI).">
			<cocoa class="ScriptableFlavor"/>
			<property name="ID" code="ID  " description="The ID of the flavor. Remains persistent over re-runs of the script and even after relaunch of iClip." type="integer" access="r">
				<cocoa key="UniqueID"/>
			</property>
			<property name="name" code="pnam" description="Name of the flavor. Same as the UTI." type="text" access="r">
				<cocoa key="UTI"/>
			</property>
			<property name="UTI" code="fUTI" description="The clipboard flavor type as a UTI. Same as the name" type="text">
				<cocoa key="UTI"/>
			</property>
			<property name="NSType" code="NSty" description="The clipboard flavor type as a NSPboardType" type="text" access="r">
				<cocoa key="NStype"/>
			</property>
			<property name="scrap type" code="Scrp" description="The type of the data expressed in the classic 4-char-code (OSType)." type="type">
				<cocoa key="scrapType"/>
			</property>
			<property name="data" code="Data" description="The raw data of the flavor. If the flavor&apos;s type (UTI) has a classic 4-character code, it&apos;ll be used, otherwise the code &quot;!UTI&quot; will be used to indicate to refer to the UTI for the type." type="any">
				<cocoa key="rawData"/>
			</property>
			<property name="size" code="Leng" description="The data size, in bytes" type="integer" access="r">
				<cocoa key="dataSize"/>
			</property>
			<property name="file reference" code="File" description="The file containing the flavor data. Does not exist if the data is instead stored inside the sqlite database." type="file" access="r">
				<cocoa key="fileRef"/>
			</property>
			<property name="hash code" code="dHsh" description="An MD5 hash code of the data, base64 encoded. Useful for quick comparison and lookup operations without having to load the entire data into memory (which can be huge in case of some clippings)." type="text" access="r">
				<cocoa key="dataHash"/>
			</property>
			<responds-to command="save">
				<cocoa method="writeToFile:"/>
			</responds-to>
			<responds-to command="delete">
				<cocoa method=""/>
			</responds-to>
		</class>
		<command name="add" code="iClpAdCl" description="Add a clipping to a clip set. The position where it&apos;s added is the same as if the clipping was added interactively in iClip, e.g. when dropping it onto the iClip window&apos;s [+] button.">
			<cocoa class="BadCommand"/>
			<direct-parameter description="The clipping to add. If the clipping was already assigned to a clip set, it&apos;ll get removed from there first." type="clipping"/>
			<parameter name="to" code="Asgn" description="The clip set the clipping is added to." type="clip set">
				<cocoa key="toSet"/>
			</parameter>
			<result description="The bin the clipping was assigned to." type="bin"/>
		</command>
		<command name="clear" code="iClpCler" description="Clear a bin, clip set, clipping or clip item. Cleared bins delete the clipping they contain; to remove a clipping from a bin while preserving its content, use the clipping&apos;s remove command.">
			<cocoa class="BadCommand"/>
			<direct-parameter description="The bin(s) or set to clear." type="specifier"/>
		</command>
		<command name="compact" code="iClpCpct" description="Fill the gaps of empty bins by moving the clippings of non-empty bins together. Same as the &quot;Delete empty bins&quot; command in iClip&apos;s menu.">
			<cocoa class="BadCommand"/>
			<direct-parameter description="The affected clip set." type="clip set"/>
		</command>
		<command name="convert to plain text" code="iClpPlTx" description="Convert a clipping that contains any kind of text into a plain text clipping. Gets rid of all non-text flavors.">
			<cocoa class="BadCommand"/>
			<direct-parameter description="The clipping to convert." type="clipping"/>
			<result description="Returns whether the conversion took place." type="boolean"/>
		</command>
		<command name="duplicate" code="coreclon" description="Copy object(s) and put the copies at a new location.">
			<cocoa class="ReturningCloneCommand"/>
			<direct-parameter description="the object(s) to duplicate" type="specifier"/>
			<parameter name="to" code="insh" description="The location for the new object(s)." type="location specifier" optional="yes">
				<cocoa key="ToLocation"/>
			</parameter>
			<parameter name="with properties" code="prdt" description="Properties to be set in the new duplicated object(s)." type="record" optional="yes">
				<cocoa key="WithProperties"/>
			</parameter>
			<parameter name="with data" code="data" description="Clippings only: You may specify a file, text or a clip item to initialize the clipping with. That way, the meta data (name, shows name, app name, etc.) are taken from the source but the content is taken from this argument." type="any" optional="yes">
				<cocoa key="withData"/>
			</parameter>
			<parameter name="alias" code="FAli" description="Clippings only: Used with the &quot;with data&quot; parameter to force the given file being referenced as an Alias instead of attempting to store the file&apos;s contents in the clipping." type="boolean" optional="yes">
				<cocoa key="as alias"/>
			</parameter>
			<parameter name="into" code="InBn" description="Clippings only: The bin into which the clipping shall go." type="bin" optional="yes">
				<cocoa key="intoBin"/>
			</parameter>
			<result description="the duplicated object(s)">
				<type type="any" list="yes"/>
			</result>
		</command>
		<command name="export" code="iClpExpo" description="Export a clipping or clip set, just like the menu command does.">
			<cocoa class="BadCommand"/>
			<direct-parameter description="The clipping or clip set to export" type="specifier"/>
			<parameter name="to" code="toFl" description="The file (actually, a package folder) in which to save the exported items. The file name must end in &quot;.iclipping&quot; for exported clippings and in &quot;.iclipset&quot; for exported clip sets." type="file">
				<cocoa key="file ref"/>
			</parameter>
		</command>
		<command name="import" code="iClpImpo" description="Import a previously exported clipping. To import an exported clip set or clipping as if it was double clicked in the Finder, use the open command.">
			<cocoa class="ImportCommand"/>
			<direct-parameter description="The exported clipping to import." type="file"/>
			<result type="clipping"/>
		</command>
		<command name="make" code="iClpcrel" description="Create a new object. For clippings, you can choose to specify the text content, create it from a file fetch the current clipboard contents or use the Copy command on the active application.">
			<cocoa class="NSCreateCommand"/>
			<parameter name="new" code="kocl" description="The class of the new object." type="type">
				<cocoa key="ObjectClass"/>
			</parameter>
			<parameter name="at" code="insh" description="The location at which to insert the object. This can be used with clip sets but not with clippings - for clippings, use &quot;into bin&quot; instead." type="location specifier" optional="yes">
				<cocoa key="Location"/>
			</parameter>
			<parameter name="into" code="InBn" description="The bin into which the clipping shall go." type="bin" optional="yes">
				<cocoa key="intoBin"/>
			</parameter>
			<parameter name="with properties" code="prdt" description="The initial values for properties of the object." type="record" optional="yes">
				<cocoa key="KeyDictionary"/>
			</parameter>
			<parameter name="with data" code="data" description="You may specify a file, text, raw data or a clip item to initialize the clipping with." type="any" optional="yes">
				<cocoa key="withData"/>
			</parameter>
			<parameter name="and UTI" code="aUTI" description="Use this along with &quot;with data&quot; to provide the flavor type for raw data." type="text" optional="yes">
				<cocoa key="withUTI"/>
			</parameter>
			<parameter name="copied from" code="mkFr" description="Use this to create a clipping from either the &quot;clipboard&quot; or using the Copy menu command with the &quot;active application&quot;." type="clipboard targets" optional="yes">
				<cocoa key="copy target"/>
			</parameter>
			<parameter name="alias" code="FAli" description="Used with the &quot;with data&quot; parameter to force the given file being referenced as an Alias instead of attempting to store the file&apos;s contents in the clipping." type="boolean" optional="yes">
				<cocoa key="as alias"/>
			</parameter>
			<result description="The new object." type="specifier"/>
		</command>
		<command name="move" code="iClpMove" description="Move a clip set or bin (i.e. their clipping contents) to a new location. When moving bins, clippings in the destination bins will be deleted. To preserve bin contents from being deleted, use the remove command to remove them from the bins beforehand.">
			<cocoa class="MoveCommand"/>
			<direct-parameter description="The clip set or bin(s) to move." type="specifier"/>
			<!-- "move" is supposed to return the relocated objects.
				<result type="object" description="to the object(s) after they have been moved"/>
				-->
			<parameter name="to" code="insh" description="The new location for the clip set or bin(s) contents. For moving clip sets, this is mandatory. For bins, either this or &quot;by&quot; may be specified, but not both." type="location specifier" optional="yes">
				<cocoa key="to"/>
			</parameter>
			<parameter name="by" code="MvBy" description="The offset by which to move the bin(s). Positive values move towards higher bin positions, negative in the opposite direction. Either &quot;to&quot; or &quot;by&quot; has to be specified." type="integer" optional="yes">
				<cocoa key="by"/>
			</parameter>
		</command>
		<command name="open" code="iClpOpen" description="Open a document.">
			<cocoa class="OpenFileCommand"/>
			<direct-parameter description="The file(s) to be opened.">
				<type type="file" list="yes"/>
			</direct-parameter>
		</command>
		<command name="open permanently" code="iClpOpPm" description="Open an iClip database permanently, without asking the user.">
			<cocoa class="OpenFileCommand"/>
			<direct-parameter description="The iClip database file (ending in .iclipdb) to be opened." type="file"/>
		</command>
		<command name="open temporarily" code="iClpOpTm" description="Open an iClip database temporarily, without asking the user.">
			<cocoa class="OpenFileCommand"/>
			<direct-parameter description="The iClip database file (ending in .iclipdb) to be opened." type="file"/>
		</command>
		<command name="paste" code="iClpPast" description="Paste the contents of a clipping to the clipboard or to the active application">
			<cocoa class="BadCommand"/>
			<direct-parameter type="clipping"/>
			<parameter name="to" code="PaTo" description="For pasting to either the &quot;clipboard&quot; or the &quot;active application&quot; (defaults to active application)." type="clipboard targets" optional="yes">
				<cocoa key="to"/>
			</parameter>
			<parameter name="preserving clipboard contents" code="Pres" description="Saves the current clipboard contents before pasting the clipping to the application and restores the contents thereafter. Only useful in conjunction with the &apos;to active application&apos; modifier. Defaults to what&apos;s set in iClip&apos;s Preferences." type="boolean" optional="yes">
				<cocoa key="preserve"/>
			</parameter>
			<parameter name="plain text" code="Plen" description="Pastes styled text as plain text (defaults to false)." type="boolean" optional="yes">
				<cocoa key="plainText"/>
			</parameter>
		</command>
		<command name="reload scripts" code="iClpLdSc" description="Load all scripts found in iClip script folders, which are: ~/Application Support/iClip/Scripts, ~/Library/Scripts/iClip, ~/Library/Scripts/Applications/iClip, ~/Library/Application Scripts/com.irradiatedsoftware.iClip">
			<cocoa class="LoadScriptsCommand"/>
		</command>
		<command name="remove" code="iClpUAsn" description="Remove (unassign) the clipping from its bin, leaving it in the global &apos;clippings&apos; pool for assignment to another bin. This is different from the clipping&apos;s delete and the bin&apos;s clear commands that both delete the clipping. Clippings that remain unassigned will be moved to the &quot;Recovered&quot; clip set once iClip restarts or when the database gets re-opened.">
			<cocoa class="BadCommand"/>
			<direct-parameter description="The clipping to unassign or the bin from which to remove the clipping." type="specifier"/>
			<result description="The removed clipping, now unassigned." type="clipping"/>
		</command>
		<command name="save" code="coresave" description="Save a clipping or a flavor. For clippings, a best guess is made for what gets saved, using the &quot;preferred UTI&quot;, and a suitable extension is added to the file name. Note: For clippings, you may specify a file with a name or just the destination folder (in the latter case, a file name will be automatically chosen, which is either the assigned name for the clipping or the bin position along with its clip set's name. For flavors, you must specify the file name, however.">
			<cocoa class="BadCommand"/>
			<direct-parameter description="The object to save, such as a clipping or a flavor." type="specifier"/>
			<parameter name="in" code="kfil" description="The file in which to save the object. This may also be a directory (folder) in which case a suitable name will be chosen automatically." type="file">
				<cocoa key="File"/>
			</parameter>
			<result description="The actually saved file, which may be different from the passed file in that its extension may have changed to fit the type of data that&apos;s in the saved file." type="file"/>
		</command>
		<command name="switch" code="iClpSwit" description="Switch to the given clip set.">
			<cocoa class="SwitchCommand"/>
			<parameter name="to" code="SwTo" description="The clip set to activate." type="clip set">
				<cocoa key="to"/>
			</parameter>
			<parameter name="showing name" code="shwN" description="Displays the clip set name if the iClip window is not showing. Shows the name unconditionally." type="boolean" optional="yes">
				<cocoa key="showName"/>
			</parameter>
		</command>
		<command name="quit" code="aevtquit" description="Quit the application.">
			<cocoa class="NSQuitCommand"/>
		</command>
		<command name="reset persistent clipping IDs" code="iClpRsID" description="Make clipping IDs start again at 1. Closes and reopens the database, which may take several seconds.">
			<cocoa class="ResetIDsCommand"/>
		</command>
		<command name="reset search tables" code="iClpRsSr" description="Recreate the search tables. This may compact the database, making it smaller.">
			<cocoa class="ResetSearchCommand"/>
			<parameter name="with fts version" code="nFTS" description="Specifies the Sqlite FTS version, which can be either 3 or 4." type="integer" optional="yes">
				<cocoa key="ftsVersion"/>
			</parameter>
		</command>
		<command name="read preference with key" code="iClpPrfR" description="Get a preference value">
			<cocoa class="PrefReadCommand"/>
			<direct-parameter description="The key" type="text"/>
			<result description="The value" type="any"/>
		</command>
		<command name="write preference with key" code="iClpPrfW" description="Set a preference value">
			<cocoa class="PrefWriteCommand"/>
			<direct-parameter description="The key" type="text"/>
			<parameter name="value" code="Valu" description="The value" type="any">
				<cocoa key="value"/>
			</parameter>
		</command>
		<command name="reset preferences" code="iClpRstP" description="Reset all user-settable preferences to their default values.">
			<cocoa class="ResetPrefsCommand"/>
		</command>
		<command name="debuglog" code="iClpDebg" description="Write text to the system logging file, which can be viewed with the &quot;Console.app&quot;. Useful for debugging scripts.">
			<cocoa class="DebugLogCommand"/>
			<direct-parameter description="The text to log. Make sure to use &quot;as text&quot; with anything you pass to this command to avoid type mismatch errors." type="text"/>
		</command>
		<command hidden="yes" name="rewrite blobs with size threshold" code="iClpRwBb">
			<cocoa class="RewriteBlobsCommand"/>
			<direct-parameter description="The threshold value - blobs whose size is greater than this value get stored in a separate file while the rest gets stored in the database. To compact the database afterwards, invoke the &quot;reset search tables&quot; command." type="integer"/>
			<result description="The number of rewritten blobs" type="integer"/>
		</command>
		<command hidden="yes" name="check config online" code="iClpChkC">
			<cocoa class="CheckConfigCommand"/>
		</command>
		<command hidden="yes" name="check news online" code="iClpChkN">
			<cocoa class="CheckForNewsCommand"/>
		</command>
		<command hidden="yes" name="crashtest" code="iClpCras">
			<cocoa class="CrashCommand"/>
			<direct-parameter type="text" optional="yes"/>
		</command>
		<command name="reveal" code="iClpRevl" description="Scrolls the bins to make the bin visible. Similar to setting scrollPos, but has the advantage to scroll only as little (or not at all) as needed to make the bin visible.">
			<cocoa class="BadCommand"/>
			<direct-parameter description="The bin to make visible" type="bin"/>
		</command>
		<event name="init" code="iClpEvIn" description="This handler gets called when iClip loads it. Can be used to initialize globals and properties."/>
		<event name="quit" code="aevtquit" description="This handler gets called when iClip quits."/>
		<event name="clipping added interactively" code="iClpEvAI" description="This handler gets called when a new clipping gets added by the user interacting directly with iClip, e.g. when dragging a text or image or file into a bin, when using a bin&apos;s Copy button or when using the &quot;Copy&quot; hot key. The clipping can be accessed through ths application&apos;s &quot;current clipping&quot; property."/>
		<event name="clipping added by recorder" code="iClpEvAR" description="This handler gets called when a new clipping gets added to iClip by the automatic recording feature, e.g. when the user uses Cmd+C in an application. The clipping can be accessed through ths application&apos;s &quot;current clipping&quot; property."/>
		<event name="filter incoming flavors" code="iClpEvFF" description="This handler gets called when contents from the clipboard (or from a dragged item) get added to iClip. This handler can remove any flavors it doesn&apos;t want recorded, because some apps could misbehave otherwise, or it could take excessive time to generate those alternative formats. To access the flavors, access &quot;first clip item of current clipping&quot;. You can only inspect and remove flavors (since v5.2), and set the &quot;preferred UTI&quot; (since v5.2.2). The flavors have no data, only their UTI, scrap type and NSType are accessible. The current clipping&apos;s &quot;app name&quot; and &quot;app id&quot; are also available. All other properties are unavailable."/>
		<event name="clip set switched" code="iClpEvSw" description="This handler gets called when the user or a script activated a different clip set. The new clip set can be found in the application object&apos;s &quot;current clip set&quot; property."/>
	</suite>
</dictionary>