<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Smile Blog</title>
	<atom:link href="http://blog.smilesoftware.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.smilesoftware.com</link>
	<description>News, Photos, and User Tips from The Smile Team</description>
	<lastBuildDate>Thu, 22 Mar 2012 18:45:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>PDFpen for iPad Wins Awards at Macworld &#124; iWorld 2012</title>
		<link>http://blog.smilesoftware.com/2012/02/06/pdfpen-for-ipad-awarded/</link>
		<comments>http://blog.smilesoftware.com/2012/02/06/pdfpen-for-ipad-awarded/#comments</comments>
		<pubDate>Tue, 07 Feb 2012 00:41:45 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[All posts]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=691</guid>
		<description><![CDATA[Smile introduced PDFpen for iPad to critical acclaim at Macworld &#124; iWorld 2012. We received three awards: Macworld Best of Show 2012 The Mac Observer Editors Choice Award 2012 Beatweek Magazine Best of Show 2012 Here&#8217;s the Smile team at one of our booths with our awards: (From left to right: Éric, Philip, Jean, Angel, [...]]]></description>
			<content:encoded><![CDATA[<p>Smile introduced <a href="http://smilesoftware.com/cgi-bin/redirect.pl?product=pdfpen-ios&amp;cmd=itunes">PDFpen for iPad</a> to critical acclaim at <a href="http://www.macworldiworld.com/">Macworld | iWorld 2012</a>.</p>
<p>We received three awards:</p>
<ul>
<li><a href="http://www.macworld.com/article/165054/2012/01/macworld_iworld_2012_best_of_show_winners.html">Macworld Best of Show 2012</a></li>
<li><a href="http://www.macobserver.com/tmo/article/tmos_editors_choice_awards_for_macworldiworld_2012/">The Mac Observer Editors Choice Award 2012</a></li>
<li><a href="http://beatweek.com/">Beatweek Magazine</a> Best of Show 2012</li>
</ul>
<p>Here&#8217;s the Smile team at one of our booths with our awards:</p>
<p><img src="http://blog.smilesoftware.com/wp-content/uploads/2012/02/Macworld2012Team1.jpg" alt="Macworld2012Team" width="450" height="300" border="0" /></p>
<p>(From left to right: Éric, Philip, Jean, Angel, Maia, Greg, Edward, Brian, and Colin.)</p>
<p>Thanks to everyone who dropped by for making this a great show!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2012/02/06/pdfpen-for-ipad-awarded/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Macworld: Meet the Podcasters at Smile</title>
		<link>http://blog.smilesoftware.com/2012/01/12/macworld-meet-the-podcasters-at-smile/</link>
		<comments>http://blog.smilesoftware.com/2012/01/12/macworld-meet-the-podcasters-at-smile/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 17:45:56 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[All posts]]></category>
		<category><![CDATA[Live]]></category>
		<category><![CDATA[Public Appearances]]></category>
		<category><![CDATA[SmileWorthy]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=683</guid>
		<description><![CDATA[It&#8217;s that time of year again. Smile will be at Macworld&#124;iWorld this year. You&#8217;ll find us in the OS X Developer Zone (#201) and in the Mobile Applications Showcase (#818), where we&#8217;ll be showing off our iOS products. We are also happy to announce that the popular &#8220;Meet the Podcasters&#8221; is back.  Each day at 3 p.m., [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-684" title="podcasters1" src="http://blog.smilesoftware.com/wp-content/uploads/2012/01/podcasters1.jpg" alt="" width="500" height="144" /></p>
<p>It&#8217;s that time of year again. Smile will be at <a href="http://www.macworldexpo.com/">Macworld|iWorld</a> this year. You&#8217;ll find us in the OS X Developer Zone (#201) and in the Mobile Applications Showcase (#818), where we&#8217;ll be showing off our iOS products.</p>
<div>
<p>We are also happy to announce that the popular &#8220;Meet the Podcasters&#8221; is back.  Each day at 3 p.m., we&#8217;ll host some of your favorite podcasters at the Smile kiosk in #201. The podcasters will be there to meet listeners and answer questions.</p>
<p>Thursday, January 26, 3 p.m. – 4 p.m.<br />
Dave Hamilton &amp; John F. Braun<br />
<a href="http://www.macobserver.com/tmo/features/mac_geek_gab_free/">Mac Geek Gab</a></p>
<p>Friday, January 27, 3 p.m. – 4 p.m.<br />
Adam Christianson<br />
<a href="http://www.maccast.com/" target="_blank">The MacCast</a></p>
<p>Saturday, January 28, 3 p.m. – 4 p.m.<br />
Katie Floyd &amp; David Sparks<br />
<a href="http://www.macpowerusers.com/" target="_blank">Mac Power Users</a></p>
<p>Smile is proud to be a sponsor of these great podcasts. Come on by just to say “hi” or chat about the Mac, iPhone and iPad. These are the experts!</p>
<address>(Photos, l-to-r: Dave Hamilton, John F. Braun, Adam Christianson, Katie Floyd, David Sparks)</address>
<div></div>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2012/01/12/macworld-meet-the-podcasters-at-smile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apps for Water: Developers Support charity:water</title>
		<link>http://blog.smilesoftware.com/2011/12/20/apps-for-water-developers-support-charitywater/</link>
		<comments>http://blog.smilesoftware.com/2011/12/20/apps-for-water-developers-support-charitywater/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 17:31:49 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[All posts]]></category>
		<category><![CDATA[SmileWorthy]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=674</guid>
		<description><![CDATA[Smile is participating in the Apps for Water fundraiser for charity:water. All the developers will donate their revenue from app sales on December 20, 2011. charity: water is a non-profit organization that brings clean and safe drinking water to people in developing nations. 100% of public donations directly fund water projects. We really appreciate Gaucho [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.appsforwater.com"><img class="size-full wp-image-675 alignnone" title="Full-Large-US" src="http://blog.smilesoftware.com/wp-content/uploads/2011/12/Full-Large-US.png" alt="Apps for Water" width="468" height="60" /></a></p>
<p>Smile is participating in the <a href="http://www.appsforwater.com" target="_blank">Apps for Water</a> fundraiser for <a href="http://www.charitywater.org/" target="_blank">charity:water</a>. All the developers will donate their revenue from app sales on December 20, 2011.</p>
<p>charity: water is a non-profit organization that brings clean and safe drinking water to people in developing nations. 100% of public donations directly fund water projects.</p>
<p>We really appreciate <a href="http://www.gauchosoft.com/Products/" target="_blank">Gaucho Software</a>&#8216;s Mike Piatek-Jimenez, who did all the hard work of putting this project together. We&#8217;ve done a special discount of 20% on our Mac apps to encourage you to buy great software and support a very worthwhile cause at the same time.</p>
<p>And if you already own PDFpen, TextExpander and DiscLabel, check out the other great software that is available, or consider giving gift licenses to your favorite Mac users.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2011/12/20/apps-for-water-developers-support-charitywater/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random TextExpander Snippets Made Easy</title>
		<link>http://blog.smilesoftware.com/2011/12/03/random-snippets/</link>
		<comments>http://blog.smilesoftware.com/2011/12/03/random-snippets/#comments</comments>
		<pubDate>Sat, 03 Dec 2011 18:52:36 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[All posts]]></category>
		<category><![CDATA[TextExpander]]></category>
		<category><![CDATA[TextExpander Tips]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=654</guid>
		<description><![CDATA[We regularly get requests for a way to choose a random snippet from among a set of snippets. To date, we&#8217;ve pointed folks to this technique: http://nerdgap.com/how-to-randomly-selected-snippets-in-textexpander/ Now that TextExpander itself is AppleScriptable (as of version 3.3), there&#8217;s an easier and more flexible way to do this: Choose File -&#62; New Group Name the new [...]]]></description>
			<content:encoded><![CDATA[<p>We regularly get requests for a way to choose a random snippet from among a set of snippets. To date, we&#8217;ve pointed folks to this technique:</p>
<p><a href="http://nerdgap.com/how-to-randomly-selected-snippets-in-textexpander/">http://nerdgap.com/how-to-randomly-selected-snippets-in-textexpander/</a></p>
<p>Now that TextExpander itself is AppleScriptable (as of version 3.3), there&#8217;s an easier and more flexible way to do this:</p>
<ol>
<li>Choose File -&gt; New Group</li>
<li>Name the new group <strong>Random</strong></li>
<li>Add snippets that you&#8217;d like to be chosen at random into the Random group. You can drag existing snippets from other groups into Random, or you can create snippets expressly for use in Random.<br />
<strong>Tip:</strong> if you are creating new snippets for use <em>only</em> as random snippets, you can save time and work by not assigning abbreviations to these snippets.</li>
<li>Make a new snippet in a group other than the <strong>Random</strong> group</li>
<li>Set the Content: of the new snippet to AppleScript</li>
<li>Enter this for the snippet:
<pre>tell application "TextExpander"
	set groupCount to count (snippets of group "Random")
	set randomIndex to random number from 1 to groupCount
	return plain text expansion of ¬
		snippet randomIndex of group "Random"
end tell</pre>
</li>
<li>Set an abbreviation for this new snippet, for example: <span style="text-decoration: underline;">rrand</span></li>
</ol>
<p>Any time you type <span style="text-decoration: underline;">rrand</span>, you&#8217;ll get a random selection from among the snippets in your <strong>Random</strong> group.</p>
<p>The advantages of this technique over the one linked above are:</p>
<ul>
<li>You need not know the abbreviations for all of the snippets in advance</li>
<li>You can add to and remove from your <strong>Random</strong> group without changing anything</li>
</ul>
<p>(Thanks to Sheree Peña of <a href="http://blackpixel.com/">Black Pixel</a> for the inspiration for this post.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2011/12/03/random-snippets/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TextExpander 3.3.4 and Japanese, Chinese, etc. Input Methods</title>
		<link>http://blog.smilesoftware.com/2011/10/25/textexpander-3-3-4-and-japanese-chinese-etc-input-methods/</link>
		<comments>http://blog.smilesoftware.com/2011/10/25/textexpander-3-3-4-and-japanese-chinese-etc-input-methods/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 17:48:31 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[All posts]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=649</guid>
		<description><![CDATA[One of the changes we made in TextExpander version 3.3.4 was to stop expansion and capitalization correction when using input methods which combine keystrokes. Several of our users told us that having TextExpander active while they were typing into Japanese or Chinese input methods caused problems because capitalization and/or snippet expansion would interfere with the [...]]]></description>
			<content:encoded><![CDATA[<p>One of the changes we made in TextExpander version 3.3.4 was to stop expansion and capitalization correction when using input methods which combine keystrokes. Several of our users told us that having TextExpander active while they were typing into Japanese or Chinese input methods caused problems because capitalization and/or snippet expansion would interfere with the construction of multi-keystroke characters. Based on user feedback, we made TextExpander 3.3.4 detect the &#8220;primary language&#8221; of the current input method and ignore anything typed in Japanese, Chinese, Arabic, Sanskrit, or Hindi.</p>
<p>Now, we are hearing from other TextExpander users who found it useful to expand snippets while typing in these input methods.</p>
<p>Perhaps we should have disabled only capitalization correction for these input methods. Users who found snippet expansion troublesome might have to find better abbreviations for their snippets. If you have any strong feelings or suggestions for solutions, let us know at <a href="mailto:support@smilesoftware.com">support@smilesoftware.com</a>.</p>
<p>TextExpander v. 3.3.4 and above has a setting which can restore expansion and capitalization correction for any language where it is currently disabled. TEIMPrefSetter can be used to change that setting:</p>
<p><a href="http://smilesoftware.com/downloads/TEIMPrefSetter.zip">Download TEIMPrefsetter</a></p>
<p>Here is how to use TEIMPrefSetter:</p>
<ol>
<li>Quit TextExpander</li>
<li>Launch TEIMPrefSetter</li>
<li>The list contains languages where TextExpander will _not_ expand. Select the language(s) that you want to expand in.</li>
<li>Click the &#8216;-&#8217; button to remove that language(s) from the list</li>
<li>Click the &#8220;Save&#8221; button to save your changes</li>
<li>Quit TEIMPrefSetter</li>
<li>Launch TextExpander</li>
</ol>
<p>Again, if you have comments or feedback, please <a href="mailto:support@smilesoftware.com">let us know</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2011/10/25/textexpander-3-3-4-and-japanese-chinese-etc-input-methods/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Fix Dock Hiding for TextExpander 3.3 on the Mac App Store</title>
		<link>http://blog.smilesoftware.com/2011/05/12/fix-dock-hiding/</link>
		<comments>http://blog.smilesoftware.com/2011/05/12/fix-dock-hiding/#comments</comments>
		<pubDate>Thu, 12 May 2011 15:27:20 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[TextExpander]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=636</guid>
		<description><![CDATA[If you prefer to hide the TextExpander icon in the Dock, then you ran into trouble when you updated TextExpander to version 3.3 on the Mac App Store. We&#8217;re sorry for the trouble. We made a mistake by checking the wrong box when updating TextExpander&#8217;s version number for the Mac App Store. Fortunately, this mistake [...]]]></description>
			<content:encoded><![CDATA[<p>If you prefer to hide the TextExpander icon in the Dock, then you ran into trouble when you updated TextExpander to version 3.3 on the Mac App Store. We&#8217;re sorry for the trouble. We made a mistake by checking the wrong box when updating TextExpander&#8217;s version number for the Mac App Store. Fortunately, this mistake is easy to correct. Here&#8217;s how:</p>
<ul>
<li>Quit TextExpander if it is running.</li>
<li>Download the &#8220;<a href="http://smilesoftware.com/TextExpander/Fix%20TextExpander%203.3.zip">Fix TextExpander 3.3.zip</a>&#8221; file.</li>
<li>Double-click to expand the file to &#8220;Fix TextExpander 3.3.scpt&#8221;</li>
<li>Double-click &#8220;Fix TextExpander 3.3.scpt&#8221; to load it into AppleScript Editor</li>
<li>Press Run</li>
<li>After the script completes, launch TextExpander (and quit AppleScript Editor)</li>
</ul>
<p>Our apologies for the inconvenience. This will be fixed in our next update.</p>
<p>Note: After running this script, it may appear that TextExpander is not installed in the Purchased section of the App Store application. If you Install at the next update, that will no longer be an issue.</p>
<p>Update, 5/20/2011: An update with the fix is now available on the Mac App Store. Thanks for your patience.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2011/05/12/fix-dock-hiding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AppleScript and Shell Script Snippet Issues in TextExpander 3.3</title>
		<link>http://blog.smilesoftware.com/2011/04/25/applescript-and-shell-script-snippet-issues-in-textexpander-3-3/</link>
		<comments>http://blog.smilesoftware.com/2011/04/25/applescript-and-shell-script-snippet-issues-in-textexpander-3-3/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 23:30:31 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[All posts]]></category>
		<category><![CDATA[TextExpander]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=625</guid>
		<description><![CDATA[A couple of unfortunate issues have cropped up in the recently-released TextExpander 3.3. We wanted to make you aware of them and offer workarounds. AppleScript Snippets If you create a new snippet and set it to AppleScript, TextExpander 3.3 still treats the new snippet as a text snippet. When you expand it, the result will [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of unfortunate issues have cropped up in the recently-released TextExpander 3.3. We wanted to make you aware of them and offer workarounds.</p>
<p><strong>AppleScript Snippets</strong><br />
If you create a new snippet and set it to AppleScript, TextExpander 3.3 still treats the new snippet as a text snippet. When you expand it, the result will be the content of the AppleScript, not the script results. Any AppleScript snippets you created in earlier versions are still treated as AppleScript snippets.</p>
<p>As a workaround, you can duplicate an existing AppleScript snippet and then edit its contents.</p>
<p><strong>Apple Script and Shell Script Snippets and &#8220;%&#8221;</strong><br />
This issue with shell script and AppleScript snippets involves the % (percent) symbol. TextExpander has always used % to delimit macros. In a script snippet,  TextExpander 3.3 is treating the % as a macro delimiter, which allows you to embed snippets within script snippet source code, but this has the unfortunate side effect of misinterpreting occurrences of &#8216;%&#8217; as a character.</p>
<p>One workaround is to use 2 percentage signs (%%) to &#8220;escape&#8221; the % character (TextExpander power user <a href="http://twitter.com/drdrang" target="_blank">@drdrang</a> posted <a href="http://www.leancrew.com/all-this/2011/04/textexpander-3-3-percent-bug/" target="_blank">more about this on his blog</a>), but this is inconvenient and does not work if the script snippet itself is embedded within another snippet.</p>
<p>If you use script snippets a good deal, you may want to consider reverting back to <a href="http://cdn.smilesoftware.com/TextExpander_3.2.4.zip" target="_blank">TextExpander 3.2.4</a>. We do apologize for the aggravation and we hope to release a fix shortly in TextExpander 3.3.1.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2011/04/25/applescript-and-shell-script-snippet-issues-in-textexpander-3-3/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>AppleScripting TextExpander</title>
		<link>http://blog.smilesoftware.com/2011/04/19/applescripting-textexpander/</link>
		<comments>http://blog.smilesoftware.com/2011/04/19/applescripting-textexpander/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 03:47:28 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[TextExpander]]></category>
		<category><![CDATA[TextExpander Tips]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=614</guid>
		<description><![CDATA[TextExpander version 3.3 [download] introduces AppleScript support, primarily oriented toward automating snippet and group management. TextExpander includes AppleScript support for: creating and deleting groups editing group properties creating and deleting snippets editing snippet properties adding (importing) groups from files or from URLs enabling/disabling expansion These capabilities should be broad enough to allow for some interesting [...]]]></description>
			<content:encoded><![CDATA[<p>TextExpander version 3.3 [<a href="http://www.smilesoftware.com/TextExpander/download.html">download</a>] introduces AppleScript support, primarily oriented toward automating snippet and group management. TextExpander includes AppleScript support for:</p>
<ul>
<li>creating and deleting groups</li>
<li>editing group properties</li>
<li>creating and deleting snippets</li>
<li>editing snippet properties</li>
<li>adding (importing) groups from files or from URLs</li>
<li>enabling/disabling expansion</li>
</ul>
<p>These capabilities should be broad enough to allow for some interesting scripts to be created. As you develop scripts, you may encounter some limitations. Your <a href="mailto:support@smilesoftware.com?subject=TextExpander%20AppleScript%20Feedback">feedback</a> will help determine future expansion of TextExpander&#8217;s AppleScript vocabulary.</p>
<p>Here are a couple of sample scripts to get you started. The first one creates a new group and then creates two snippets within it:</p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.7px; font: 12.0px Verdana;"><strong>tell</strong> <span style="color: #1700ff;"><em>application</em></span> &#8220;TextExpander&#8221;</p>
<p style="margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.2px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span>–– create a new group</p>
<p style="margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.2px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="color: #1700ff;"><strong>make</strong></span> <span style="color: #1700ff;">new</span> <span style="color: #1700ff;"><em>group</em></span> <span style="color: #1700ff;">with properties</span> {<span style="color: #8c00e0;">name</span>:&#8221;My New Script Group&#8221;}</p>
<p style="margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.2px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #389600;">newGroup</span> <strong>to</strong> <strong>the</strong> <span style="color: #8c00e0;">result</span></p>
<p style="margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.2px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>tell</strong> <span style="color: #389600;">newGroup</span></p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span>–– create a snippet, then set the major properties one by one</p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana; color: #1700ff;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span><strong>make</strong><span style="color: #000000;"> </span>new<span style="color: #000000;"> </span><em>snippet</em></p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #389600;">newSnippet</span> <strong>to</strong> <strong>the</strong> <span style="color: #8c00e0;">result</span></p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> <strong>the</strong> <span style="color: #8c00e0;">abbreviation</span> <strong>of</strong> <span style="color: #389600;">newSnippet</span> <strong>to</strong> &#8220;tastytreat&#8221;</p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> <strong>the</strong> <span style="color: #8c00e0;">plain text expansion</span> <strong>of</strong> <span style="color: #389600;">newSnippet</span> <strong>to</strong> &#8220;Toasted marshmallows are a tasty treat&#8221;</p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> <strong>the</strong> <span style="color: #8c00e0;">label</span> <strong>of</strong> <span style="color: #389600;">newSnippet</span> <strong>to</strong> &#8220;Snippet from AppleScript&#8221;</p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span>–– create a snippet, setting properties immediately</p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="color: #1700ff;"><strong>make</strong></span> <span style="color: #1700ff;">new</span> <span style="color: #1700ff;"><em>snippet</em></span> <span style="color: #1700ff;">with properties</span> {<span style="color: #8c00e0;">label</span>:&#8221;Second Scripted Snippet&#8221;, <span style="color: #8c00e0;">abbreviation</span>:&#8221;scrptwo&#8221;, <span style="color: #8c00e0;">plain text expansion</span>:&#8221;Eat Two Marshmallows&#8221;}</p>
<p style="margin: 0.0px 0.0px 0.0px 124.8px; text-indent: -124.9px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #389600;">secondSnippet</span> <strong>to</strong> <strong>the</strong> <span style="color: #8c00e0;">result</span></p>
<p style="margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.2px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>end</strong> <strong>tell</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.7px; font: 12.0px Verdana;"><strong>end</strong> <strong>tell</strong></p>
<p>The second script checks for the existence of a URL-based group. If no such group is found, that URL is imported:</p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color: #5e6161;">–– This script checks to make sure that a group based on a particular URL is present.</p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color: #5e6161;">–– If not, it imports that group</p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana;"><strong>set</strong> <span style="color: #389600;">success</span> <strong>to</strong> <span style="color: #641994;">false</span></p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana;"><strong>set</strong> <span style="color: #389600;">groupURL</span> <strong>to</strong> (&#8220;http://www.smilesoftware.com/te/example.textexpander&#8221; <strong>as</strong> <span style="color: #1700ff;"><em>text</em></span>)</p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana; color: #5e6161;">–– note coercion above: TE group source is type text, not URL</p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana;"><strong>tell</strong> <span style="color: #1700ff;"><em>application</em></span> &#8220;TextExpander&#8221;</p>
<p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #389600;">sourceList</span> <strong>to</strong> <strong>the</strong> <span style="color: #8c00e0;">source</span> <strong>of</strong> <strong>every</strong> <span style="color: #1700ff;"><em>group</em></span></p>
<p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>if</strong> <span style="color: #389600;">sourceList</span> <strong>contains</strong> <span style="color: #389600;">groupURL</span> <strong>then</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span>–– the desired group is already present</p>
<p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #389600;">success</span> <strong>to</strong> <span style="color: #641994;">true</span></p>
<p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>else</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color: #1700ff;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> </span><span style="color: #389600;">newGroup</span><span style="color: #000000;"> <strong>to</strong> </span><strong>import URL group</strong><span style="color: #000000;"> </span>using URL<span style="color: #000000;"> </span><span style="color: #389600;">groupURL</span></p>
<p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span>–– the returned group is a placeholder for URL contents, which are downloaded asynchronously</p>
<p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>repeat</strong> <strong>with</strong> <span style="color: #389600;">i</span> <strong>from</strong> 1 <strong>to</strong> 10</p>
<p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span><span style="color: #0600c2;"><strong>delay</strong></span><span style="color: #000000;"> 1 </span>–– allow some time for download, then poll the group placeholder</p>
<p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>tell</strong> <span style="color: #389600;">newGroup</span></p>
<p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span>–– find the number of snippets in the group</p>
<p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span>–– unless the group is supposed to be empty, zero snippets indicates download failure</p>
<p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana; color: #1700ff;"><span style="color: #000000;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span></span><strong>count</strong><span style="color: #000000;"> </span><em>snippets</em></p>
<p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #389600;">snipCount</span> <strong>to</strong> <strong>the</strong> <span style="color: #8c00e0;">result</span></p>
<p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>if</strong> <span style="color: #389600;">snipCount</span> <strong>is not</strong> <strong>equal to</strong> 0 <strong>then</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 235.6px; text-indent: -235.7px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #389600;">success</span> <strong>to</strong> <span style="color: #641994;">true</span></p>
<p style="margin: 0.0px 0.0px 0.0px 235.6px; text-indent: -235.7px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>exit</strong> <strong>repeat</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 196.4px; text-indent: -196.4px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>end</strong> <strong>if</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 157.1px; text-indent: -157.1px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>end</strong> <strong>tell</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 117.8px; text-indent: -117.8px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><span style="white-space: pre;"> </span><strong>end</strong> <strong>repeat</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>end</strong> <strong>if</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana;"><strong>end</strong> <strong>tell</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana;"><strong>if</strong> <strong>not</strong> <span style="color: #389600;">success</span> <strong>then</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 78.6px; text-indent: -78.6px; font: 12.0px Verdana; color: #5e6161;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span><span style="color: #0600c2;"><strong>beep</strong></span><span style="color: #000000;"> </span>–– real error handling goes here</p>
<p style="margin: 0.0px 0.0px 0.0px 39.2px; text-indent: -39.3px; font: 12.0px Verdana;"><strong>end</strong> <strong>if</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px 'Times New Roman'; min-height: 16.0px;">&nbsp;</p>
<p>Again, we welcome your <a href="mailto:support@smilesoftware.com?subject=TextExpander%20AppleScript%20Feedback">feedback</a> on TextExpander&#8217;s new AppleScript capabilities.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2011/04/19/applescripting-textexpander/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automate HTML to PDF with PDFpenPro 5.2.3</title>
		<link>http://blog.smilesoftware.com/2011/04/12/automate-html-to-pdf-with-pdfpenpro-5-2-3/</link>
		<comments>http://blog.smilesoftware.com/2011/04/12/automate-html-to-pdf-with-pdfpenpro-5-2-3/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 22:55:20 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[PDFpen]]></category>
		<category><![CDATA[PDFpen Tips]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=602</guid>
		<description><![CDATA[We&#8217;ve been listening to your requests, PDFpenPro users! PDFpenPro 5.2.3 can now automate the creation of PDFs from web pages via AppleScript. Here&#8217;s an example: tell application &#8220;PDFpenPro&#8221; activate set theDoc to make new document with data &#8220;http://smilesoftware.com&#8221; with properties {levels:2, top margin:36, bottom margin:36, right margin:36, left margin:36, follow:server, maximum pages:100} end tell The return [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been listening to your requests, PDFpenPro users! <a href="http://smilesoftware.com/PDFpenPro/download.html">PDFpenPro 5.2.3</a> can now automate the creation of PDFs from web pages via AppleScript. Here&#8217;s an example:</p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><strong>tell</strong> <span style="color: #1b39f5;"><em>application</em></span> &#8220;PDFpenPro&#8221;</p>
<p style="margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.2px; font: 12.0px Verdana; color: #1b39f5;"><span style="color: #000000;"><span style="white-space: pre;"> </span></span><strong>activate</strong></p>
<p style="margin: 0.0px 0.0px 0.0px 83.2px; text-indent: -83.2px; font: 12.0px Verdana;"><span style="white-space: pre;"> </span><strong>set</strong> <span style="color: #438f2b;">theDoc</span> <strong>to</strong> <span style="color: #1b39f5;"><strong>make</strong></span> <span style="color: #1b39f5;">new</span> <span style="color: #1b39f5;"><em>document</em></span> <span style="color: #1b39f5;">with data</span> &#8220;http://smilesoftware.com&#8221; <span style="color: #1b39f5;">with properties</span> {<span style="color: #8832d3;">levels</span>:2, <span style="color: #8832d3;">top margin</span>:36, <span style="color: #8832d3;">bottom margin</span>:36, <span style="color: #8832d3;">right margin</span>:36, <span style="color: #8832d3;">left margin</span>:36, <span style="color: #8832d3;">follow</span>:<span style="color: #61338c;">server</span>, <span style="color: #8832d3;">maximum pages</span>:100}</p>
<p style="margin: 0.0px 0.0px 0.0px 41.6px; text-indent: -41.6px; font: 12.0px Verdana;"><strong>end</strong> <strong>tell</strong></p>
<p>The return value is the created document.</p>
<p>You&#8217;ll find additional information on <a href="http://www.smilesoftware.com/PDFpen/help/converthtml.html">converting HTML to PDF</a> with PDFpenPro in the PDFpenPro help.</p>
<p>You can <a href="http://sites.fastspring.com/smile/product/pdfpenpro5up">upgrade</a> from PDFpen to PDFpenPro for US $40. In addition to being able to convert websites to multi-page PDFs, you&#8217;ll also be able to create cross-platform fillable forms and to construct document table of contents with PDFpenPro.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2011/04/12/automate-html-to-pdf-with-pdfpenpro-5-2-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Virtual Keyboards and TextExpander</title>
		<link>http://blog.smilesoftware.com/2011/03/29/virtual-keyboards-and-textexpander/</link>
		<comments>http://blog.smilesoftware.com/2011/03/29/virtual-keyboards-and-textexpander/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 22:11:19 +0000</pubDate>
		<dc:creator>Jean</dc:creator>
				<category><![CDATA[All posts]]></category>
		<category><![CDATA[TextExpander]]></category>
		<category><![CDATA[TextExpander Tips]]></category>

		<guid isPermaLink="false">http://blog.smilesoftware.com/?p=590</guid>
		<description><![CDATA[Virtual keyboards are on-screen representations of a keyboard which allow you to enter characters by clicking the mouse or other pointing device. That is, you move the mouse to the part of the screen where the &#8216;v&#8217; key is, click the mouse, and a &#8216;v&#8217; appears in your text document. (Note: there are other types [...]]]></description>
			<content:encoded><![CDATA[<p>Virtual keyboards are on-screen representations of a keyboard which allow you to enter characters by clicking the mouse or other pointing device. That is, you move the mouse to the part of the screen where the &#8216;v&#8217; key is, click the mouse, and a &#8216;v&#8217; appears in your text document. (Note: there are other types of virtual keyboards in addition to the on-screen, mouse-driven variety, but this post does not cover them.) One reason to use a virtual keyboard is if you have trouble typing on a physical keyboard.</p>
<div id="attachment_593" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-593" title="Keyboard Viewer" src="http://blog.smilesoftware.com/wp-content/uploads/2011/03/KeybdViewer1.jpg" alt="Mac Keyboard Viewer" width="450" height="195" /><p class="wp-caption-text">Mac OS X built-in Keyboard Viewer</p></div>
<p>TextExpander has some issues with virtual keyboards. When you click the mouse, TextExpander assumes that you are moving the text insertion point within a document, selecting a range of text, changing to a different window or text area, or performing some kind of formatting or other command. Thus, when you click the mouse, TextExpander clears the buffer of typed characters it maintains to track when you type a snippet abbreviation.</p>
<p>For example, with the &#8216;ddate&#8217; snippet, when you click the &#8216;d&#8217; key on the virtual keyboard the first time, TextExpander clears the buffer because the mouse was clicked, then notices that a &#8216;d&#8217; has been typed. When you click the &#8216;d&#8217; key the second time, TextExpander again clears the buffer, then stores the &#8216;d&#8217;. The snippet never expands because TextExpander keeps clearing its buffer, never tracking more than one character at a time.</p>
<p>TextExpander version 3.1 fixed this problem by adding support for typing with the system&#8217;s built-in <a href="http://www.apple.com/accessibility/macosx/physical.html">Keyboard Viewer</a> and for <a href="http://www.CoralloSoftware.com/">Corallo Software&#8217;s VirtualKeyboard</a> application. TextExpander 3.2.4 adds support for <a href="http://AssistiveWare.com/keystrokes.php">AssistiveWare&#8217;s KeyStrokes</a> application.</p>
<p>If there is another virtual keyboard program that you are using, there is a &#8220;hidden&#8221; setting in TextExpander that will allow you to use it before support is &#8220;built-in&#8221; to TextExpander. Just contact <a href="mailto:support@smilesoftware.com?Subject=TextExpander%20Virtual%20Keyboard">support@smilesoftware.com</a> for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.smilesoftware.com/2011/03/29/virtual-keyboards-and-textexpander/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Served from: blog.smilesoftware.com @ 2012-05-16 20:12:47 -->
