<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>OnText Blog</title>
        <link>https://gityeop.github.io/OnText/blog</link>
        <description>OnText Blog</description>
        <lastBuildDate>Sat, 16 May 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[AI Rewrite Selected Text on Mac with OnText]]></title>
            <link>https://gityeop.github.io/OnText/blog/ai-rewrite-selected-text-mac</link>
            <guid>https://gityeop.github.io/OnText/blog/ai-rewrite-selected-text-mac</guid>
            <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Use OnText Inline AI to rewrite, summarize, replace, and copy selected text on macOS with ChatGPT, Gemini, Claude, or Ollama.]]></description>
            <content:encoded><![CDATA[<p>OnText lets you rewrite selected text on Mac without copying it into a separate chat window. Select the text, open the OnText panel, ask Inline AI what to do, then replace the original text or copy the result.</p>
<p>This workflow is designed for writing, support replies, notes, documentation, and any place where the cost of switching apps interrupts the work.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-the-workflow-works">How The Workflow Works<a href="https://gityeop.github.io/OnText/blog/ai-rewrite-selected-text-mac#how-the-workflow-works" class="hash-link" aria-label="Direct link to How The Workflow Works" title="Direct link to How The Workflow Works" translate="no">​</a></h2>
<ol>
<li class="">Select text in your current Mac app.</li>
<li class="">Press your OnText hotkey, <strong>F2</strong> by default.</li>
<li class="">Open Inline AI from the panel.</li>
<li class="">Type a prompt such as <code>Make this clearer</code> or <code>Rewrite this in a concise support tone</code>.</li>
<li class="">Use <strong>Command-R</strong> to replace the selected text, or <strong>Command-C</strong> to smart copy the AI response.</li>
</ol>
<p>OnText automatically appends the selected text to the prompt. If you need precise placement, use the <code>{text}</code> placeholder in the prompt.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="useful-rewrite-prompts">Useful Rewrite Prompts<a href="https://gityeop.github.io/OnText/blog/ai-rewrite-selected-text-mac#useful-rewrite-prompts" class="hash-link" aria-label="Direct link to Useful Rewrite Prompts" title="Direct link to Useful Rewrite Prompts" translate="no">​</a></h2>
<p>Try these as prompt presets:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Make this shorter while keeping the main point.</span><br></span></code></pre></div></div>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Rewrite this in a clear, professional tone.</span><br></span></code></pre></div></div>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Fix grammar and keep the original meaning.</span><br></span></code></pre></div></div>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Turn this into a concise bullet list.</span><br></span></code></pre></div></div>
<p>Prompt presets are useful when you repeat the same rewrite task every day. See the <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/inline-ai">Inline AI guide</a> for provider setup and preset management.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="provider-and-privacy-notes">Provider And Privacy Notes<a href="https://gityeop.github.io/OnText/blog/ai-rewrite-selected-text-mac#provider-and-privacy-notes" class="hash-link" aria-label="Direct link to Provider And Privacy Notes" title="Direct link to Provider And Privacy Notes" translate="no">​</a></h2>
<p>OnText supports Inline AI providers including ChatGPT, Gemini, Claude, and Ollama. Core local actions run on your Mac, but selected text is sent to the configured cloud AI provider when you choose a cloud AI action.</p>
<p>If you want local AI processing, use Ollama. That keeps the AI workflow on your machine, subject to the local model you configure.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-this-is-useful">When This Is Useful<a href="https://gityeop.github.io/OnText/blog/ai-rewrite-selected-text-mac#when-this-is-useful" class="hash-link" aria-label="Direct link to When This Is Useful" title="Direct link to When This Is Useful" translate="no">​</a></h2>
<p>Use OnText Inline AI when you want to:</p>
<ul>
<li class="">Rewrite an email without leaving the mail app.</li>
<li class="">Summarize selected research notes.</li>
<li class="">Make a rough paragraph more polished.</li>
<li class="">Convert selected prose into a checklist.</li>
<li class="">Replace selected text with the AI result in place.</li>
</ul>
<p>For non-AI workflows, OnText also supports <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/url-actions">URL actions</a>, <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/shell-scripts">shell scripts</a>, AppleScript, and macOS Shortcuts.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="next-steps">Next Steps<a href="https://gityeop.github.io/OnText/blog/ai-rewrite-selected-text-mac#next-steps" class="hash-link" aria-label="Direct link to Next Steps" title="Direct link to Next Steps" translate="no">​</a></h2>
<ul>
<li class="">Read the <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/inline-ai">Inline AI guide</a>.</li>
<li class="">Learn the basic selected-text flow in <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/first-steps">First Steps</a>.</li>
<li class="">Review <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/placeholders">placeholders</a> for precise prompt control.</li>
<li class=""><a href="https://github.com/gityeop/OnText-Updates/releases/latest/download/OnText.dmg" target="_blank" rel="noopener noreferrer" class="">Download OnText</a>.</li>
</ul>]]></content:encoded>
            <category>AI</category>
        </item>
        <item>
            <title><![CDATA[Keyboard-First Mac Productivity with OnText]]></title>
            <link>https://gityeop.github.io/OnText/blog/keyboard-first-mac-productivity-app</link>
            <guid>https://gityeop.github.io/OnText/blog/keyboard-first-mac-productivity-app</guid>
            <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Build a keyboard-first Mac workflow with OnText by turning selected text into search, automation, and AI actions without switching context.]]></description>
            <content:encoded><![CDATA[<p>A keyboard-first Mac productivity workflow should keep common actions close to the text you are already reading or writing. OnText does that by opening a compact action panel after you select text and press your configured hotkey.</p>
<p>The goal is not to replace every app launcher or automation tool. The goal is to remove the repeated copy, switch app, paste, run command cycle for selected text.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="the-basic-workflow">The Basic Workflow<a href="https://gityeop.github.io/OnText/blog/keyboard-first-mac-productivity-app#the-basic-workflow" class="hash-link" aria-label="Direct link to The Basic Workflow" title="Direct link to The Basic Workflow" translate="no">​</a></h2>
<ol>
<li class="">Select text in any Mac app.</li>
<li class="">Press the OnText hotkey.</li>
<li class="">Run an action from the panel or use the action shortcut.</li>
</ol>
<p>This works well for quick search, copy, translation, character count, Large Type, shell scripts, AppleScript, Shortcuts, URL actions, and Inline AI.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-search-without-leaving-the-keyboard">Example: Search Without Leaving the Keyboard<a href="https://gityeop.github.io/OnText/blog/keyboard-first-mac-productivity-app#example-search-without-leaving-the-keyboard" class="hash-link" aria-label="Direct link to Example: Search Without Leaving the Keyboard" title="Direct link to Example: Search Without Leaving the Keyboard" translate="no">​</a></h2>
<p>Create a URL action with this template:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">https://www.google.com/search?q={text}</span><br></span></code></pre></div></div>
<p>Select a phrase, open OnText, and trigger the action. OnText inserts the selected text into the URL and opens the search without a manual copy and paste step.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-turn-text-into-an-automation-input">Example: Turn Text Into an Automation Input<a href="https://gityeop.github.io/OnText/blog/keyboard-first-mac-productivity-app#example-turn-text-into-an-automation-input" class="hash-link" aria-label="Direct link to Example: Turn Text Into an Automation Input" title="Direct link to Example: Turn Text Into an Automation Input" translate="no">​</a></h2>
<p>For a keyboard-heavy workflow, custom actions are where OnText becomes useful. A selected paragraph can become:</p>
<ul>
<li class="">input for a shell script;</li>
<li class="">input for a macOS Shortcut;</li>
<li class="">a query in a documentation site;</li>
<li class="">a prompt for Inline AI;</li>
<li class="">a note capture action in another app.</li>
</ul>
<p>Start with a small action you repeat daily. A good first automation is a URL action or Shortcut action because the setup is visible and easy to test.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-this-fits">When This Fits<a href="https://gityeop.github.io/OnText/blog/keyboard-first-mac-productivity-app#when-this-fits" class="hash-link" aria-label="Direct link to When This Fits" title="Direct link to When This Fits" translate="no">​</a></h2>
<p>OnText fits best when you already work from the keyboard and repeatedly act on selected text:</p>
<ul>
<li class="">reading technical docs and searching unfamiliar terms;</li>
<li class="">writing notes and sending snippets into another app;</li>
<li class="">translating short passages;</li>
<li class="">rewriting text without opening a separate AI chat;</li>
<li class="">running scripts on selected identifiers, file paths, or commands.</li>
</ul>
<p>If you rarely select text before acting, a general launcher may be a better first layer. If selected text is the starting point, OnText keeps the action closer to the work.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="next-step">Next Step<a href="https://gityeop.github.io/OnText/blog/keyboard-first-mac-productivity-app#next-step" class="hash-link" aria-label="Direct link to Next Step" title="Direct link to Next Step" translate="no">​</a></h2>
<p>Set up OnText with <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/first-steps">First Steps</a>, then build your first custom action with <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/custom-actions">Custom Actions</a>. For automation-heavy workflows, continue with <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/shortcuts-integration">Shortcuts Integration</a> and <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/placeholders">Placeholders</a>.</p>]]></content:encoded>
            <category>Tips</category>
        </item>
        <item>
            <title><![CDATA[macOS Shortcuts with Selected Text in OnText]]></title>
            <link>https://gityeop.github.io/OnText/blog/macos-shortcuts-selected-text</link>
            <guid>https://gityeop.github.io/OnText/blog/macos-shortcuts-selected-text</guid>
            <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Trigger macOS Shortcuts from selected text with OnText, passing the selection into personal automations and app workflows.]]></description>
            <content:encoded><![CDATA[<p>OnText can pass selected text into a macOS Shortcut. This gives you a quick way to turn text from any supported Mac app into a note, task, calendar item, message draft, or custom automation.</p>
<p>The workflow is: select text, press <strong>F2</strong>, then trigger a Shortcut action by name.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="setup">Setup<a href="https://gityeop.github.io/OnText/blog/macos-shortcuts-selected-text#setup" class="hash-link" aria-label="Direct link to Setup" title="Direct link to Setup" translate="no">​</a></h2>
<ol>
<li class="">Open the Shortcuts app on macOS.</li>
<li class="">Create a Shortcut that accepts text input.</li>
<li class="">In OnText, create a new action.</li>
<li class="">Choose <strong>Shortcut</strong> as the action type.</li>
<li class="">Enter the exact Shortcut name.</li>
<li class="">Select text and trigger the action from the OnText panel.</li>
</ol>
<p>OnText sends the selected text as input to the Shortcut.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-ideas">Example Ideas<a href="https://gityeop.github.io/OnText/blog/macos-shortcuts-selected-text#example-ideas" class="hash-link" aria-label="Direct link to Example Ideas" title="Direct link to Example Ideas" translate="no">​</a></h2>
<p>Use a Shortcut action to:</p>
<ul>
<li class="">Append selected text to a note.</li>
<li class="">Create a reminder from selected text.</li>
<li class="">Add a research quote to a document.</li>
<li class="">Create a calendar item from selected text.</li>
<li class="">Send selected text to another app that Shortcuts supports.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="tips">Tips<a href="https://gityeop.github.io/OnText/blog/macos-shortcuts-selected-text#tips" class="hash-link" aria-label="Direct link to Tips" title="Direct link to Tips" translate="no">​</a></h2>
<ul>
<li class="">Keep Shortcut names stable so OnText can find them.</li>
<li class="">Test the Shortcut in the Shortcuts app before wiring it into OnText.</li>
<li class="">Use clear action titles and icons when you have multiple Shortcut actions.</li>
<li class="">Use regex context rules if a Shortcut should appear only for certain text patterns.</li>
</ul>
<p>For setup details, read <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/shortcuts-integration">Shortcuts Integration</a>, <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/custom-actions">Custom Actions</a>, and <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/placeholders">Placeholders</a>.</p>]]></content:encoded>
            <category>Automation</category>
        </item>
        <item>
            <title><![CDATA[PopClip Alternative for Keyboard-First Mac Workflows]]></title>
            <link>https://gityeop.github.io/OnText/blog/popclip-alternative</link>
            <guid>https://gityeop.github.io/OnText/blog/popclip-alternative</guid>
            <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Compare OnText as a keyboard-first macOS text action tool for selected text, custom actions, scripts, Shortcuts, and Inline AI.]]></description>
            <content:encoded><![CDATA[<p>If you are looking for a PopClip alternative for Mac, the real question is usually about workflow: do you want actions to appear automatically after every text selection, or do you want a keyboard-first command panel that appears only when you ask for it?</p>
<p>OnText is built for the second style. Select text anywhere on macOS, press your configured hotkey, then run an action by clicking it or pressing its assigned key.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="how-ontext-handles-selected-text">How OnText Handles Selected Text<a href="https://gityeop.github.io/OnText/blog/popclip-alternative#how-ontext-handles-selected-text" class="hash-link" aria-label="Direct link to How OnText Handles Selected Text" title="Direct link to How OnText Handles Selected Text" translate="no">​</a></h2>
<p>OnText runs as a native macOS menu bar app. Its floating panel appears when you select text and trigger it with the hotkey, which is <strong>F2</strong> by default. From there, you can search, copy, translate, count characters, show Large Type, or run custom workflows.</p>
<p>That makes OnText useful when you want selected-text actions without an automatic popup competing with typing, replacing text, or keyboard-heavy work.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-workflows">Example Workflows<a href="https://gityeop.github.io/OnText/blog/popclip-alternative#example-workflows" class="hash-link" aria-label="Direct link to Example Workflows" title="Direct link to Example Workflows" translate="no">​</a></h2>
<p>Use the built-in actions for common tasks:</p>
<ul>
<li class="">Search selected text in your browser.</li>
<li class="">Copy the current selection without changing focus.</li>
<li class="">Translate selected text.</li>
<li class="">Count characters or show text in Large Type.</li>
</ul>
<p>Use custom actions when you want more control:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">https://www.google.com/search?q={text}</span><br></span></code></pre></div></div>
<p>That URL action searches the selected text. For automation-heavy workflows, OnText also supports shell scripts, AppleScript, macOS Shortcuts, regex context rules, custom icons, and Inline AI.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-ontext-is-a-good-fit">When OnText Is a Good Fit<a href="https://gityeop.github.io/OnText/blog/popclip-alternative#when-ontext-is-a-good-fit" class="hash-link" aria-label="Direct link to When OnText Is a Good Fit" title="Direct link to When OnText Is a Good Fit" translate="no">​</a></h2>
<p>OnText is a good fit if you:</p>
<ul>
<li class="">Prefer pressing a hotkey before a panel appears.</li>
<li class="">Want keyboard shortcuts for actions.</li>
<li class="">Need custom selected-text actions for URLs, scripts, Shortcuts, or app deep links.</li>
<li class="">Want a native macOS utility rather than a web app or browser extension.</li>
<li class="">Want AI workflows available from selected text, while keeping provider choice explicit.</li>
</ul>
<p>If you specifically want a panel that appears automatically every time you select text, review <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/floating-panel">OnText's floating panel behavior</a> first so the interaction model matches how you work.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="setup-path">Setup Path<a href="https://gityeop.github.io/OnText/blog/popclip-alternative#setup-path" class="hash-link" aria-label="Direct link to Setup Path" title="Direct link to Setup Path" translate="no">​</a></h2>
<ol>
<li class="">Install OnText and grant Accessibility permission.</li>
<li class="">Select text in any supported Mac app.</li>
<li class="">Press <strong>F2</strong> or your configured hotkey.</li>
<li class="">Run a built-in action or create your own.</li>
</ol>
<p>Start with the <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/first-steps">first steps guide</a>, then configure <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/custom-actions">custom actions</a> when you want selected-text workflows for scripts, Shortcuts, search URLs, or Inline AI.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="next-steps">Next Steps<a href="https://gityeop.github.io/OnText/blog/popclip-alternative#next-steps" class="hash-link" aria-label="Direct link to Next Steps" title="Direct link to Next Steps" translate="no">​</a></h2>
<ul>
<li class="">Read the <a class="" href="https://gityeop.github.io/OnText/docs/intro">OnText introduction</a>.</li>
<li class="">Learn how the <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/floating-panel">floating panel</a> works.</li>
<li class="">Build your first <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/custom-actions">custom action</a>.</li>
<li class="">Try <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/inline-ai">Inline AI</a> for selected-text rewriting and summarizing.</li>
<li class=""><a href="https://github.com/gityeop/OnText-Updates/releases/latest/download/OnText.dmg" target="_blank" rel="noopener noreferrer" class="">Download OnText</a>.</li>
</ul>]]></content:encoded>
            <category>Comparisons</category>
        </item>
        <item>
            <title><![CDATA[Run Shell Script on Selected Text on Mac]]></title>
            <link>https://gityeop.github.io/OnText/blog/run-shell-script-selected-text-mac</link>
            <guid>https://gityeop.github.io/OnText/blog/run-shell-script-selected-text-mac</guid>
            <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Use OnText shell script actions to pass selected text into macOS commands, placeholders, clipboard workflows, and custom automations.]]></description>
            <content:encoded><![CDATA[<p>OnText can run a shell script with the text you selected in the current Mac app. This is useful when a small command is faster than copying text into Terminal, running a script, then pasting the result back.</p>
<p>The workflow is: select text, press <strong>F2</strong>, then trigger your shell script action.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="basic-shell-action">Basic Shell Action<a href="https://gityeop.github.io/OnText/blog/run-shell-script-selected-text-mac#basic-shell-action" class="hash-link" aria-label="Direct link to Basic Shell Action" title="Direct link to Basic Shell Action" translate="no">​</a></h2>
<p>Create a Shell Script action in OnText and use <code>{text}</code> where the selected text should be inserted:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">echo</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'{text}'</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">tr</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'[:lower:]'</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'[:upper:]'</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> pbcopy</span><br></span></code></pre></div></div>
<p>This copies an uppercase version of the selected text to the clipboard.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="replace-text-after-processing">Replace Text After Processing<a href="https://gityeop.github.io/OnText/blog/run-shell-script-selected-text-mac#replace-text-after-processing" class="hash-link" aria-label="Direct link to Replace Text After Processing" title="Direct link to Replace Text After Processing" translate="no">​</a></h2>
<p>Use OnText placeholders when you want to process text and paste it back:</p>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token builtin class-name">echo</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'{text}'</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">tr</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'[:lower:]'</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'[:upper:]'</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">|</span><span class="token plain"> pbcopy </span><span class="token operator" style="color:#393A34">&amp;&amp;</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain">paste</span><span class="token punctuation" style="color:#393A34">}</span><br></span></code></pre></div></div>
<p>The command transforms the selection, writes it to the clipboard, then uses <code>{paste}</code> to paste the result.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="safer-placeholder-options">Safer Placeholder Options<a href="https://gityeop.github.io/OnText/blog/run-shell-script-selected-text-mac#safer-placeholder-options" class="hash-link" aria-label="Direct link to Safer Placeholder Options" title="Direct link to Safer Placeholder Options" translate="no">​</a></h2>
<p>OnText supports multiple placeholders for different cases:</p>
<ul>
<li class=""><code>{text}</code> for fast selected text capture.</li>
<li class=""><code>{textWithCopy}</code> when an app needs copy-based selected text capture.</li>
<li class=""><code>{clipboard}</code> for the current clipboard.</li>
<li class=""><code>{prompt}</code> to ask for extra input before running the action.</li>
<li class=""><code>{date}</code>, <code>{time}</code>, and <code>{datetime}</code> for timestamped workflows.</li>
</ul>
<p>Read the <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/placeholders">placeholders guide</a> before building scripts that modify text in place.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="good-use-cases">Good Use Cases<a href="https://gityeop.github.io/OnText/blog/run-shell-script-selected-text-mac#good-use-cases" class="hash-link" aria-label="Direct link to Good Use Cases" title="Direct link to Good Use Cases" translate="no">​</a></h2>
<p>Shell script actions are useful for:</p>
<ul>
<li class="">Formatting identifiers such as snake_case or CONSTANT_CASE.</li>
<li class="">Cleaning whitespace or line breaks.</li>
<li class="">Sending selected text to a local command-line tool.</li>
<li class="">Building small clipboard transformations.</li>
<li class="">Combining selected text with prompts or dates.</li>
</ul>
<p>For more examples, see <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/shell-scripts">Shell Scripts</a> and <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/custom-actions">Custom Actions</a>.</p>]]></content:encoded>
            <category>Automation</category>
        </item>
        <item>
            <title><![CDATA[Mac Selected Text Actions with OnText]]></title>
            <link>https://gityeop.github.io/OnText/blog/selected-text-actions-mac</link>
            <guid>https://gityeop.github.io/OnText/blog/selected-text-actions-mac</guid>
            <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Use OnText to run selected text actions on Mac, including search, copy, translate, shell scripts, Shortcuts, and Inline AI workflows.]]></description>
            <content:encoded><![CDATA[<p>OnText turns selected text on Mac into an action surface. Select text, press the OnText hotkey, then run the next action without hunting through menus or switching into another utility.</p>
<p>The default flow is simple: select text, press <strong>F2</strong>, then click an action or press its assigned shortcut.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-you-can-do-with-selected-text">What You Can Do With Selected Text<a href="https://gityeop.github.io/OnText/blog/selected-text-actions-mac#what-you-can-do-with-selected-text" class="hash-link" aria-label="Direct link to What You Can Do With Selected Text" title="Direct link to What You Can Do With Selected Text" translate="no">​</a></h2>
<p>OnText includes common actions out of the box:</p>
<ul>
<li class="">Search the selected text.</li>
<li class="">Copy it to the clipboard.</li>
<li class="">Translate it.</li>
<li class="">Count characters.</li>
<li class="">Show it in Large Type.</li>
</ul>
<p>For custom workflows, you can create actions that open URLs, run shell scripts, run AppleScript, trigger macOS Shortcuts, or send the text to Inline AI.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-search-with-a-url-action">Example: Search With a URL Action<a href="https://gityeop.github.io/OnText/blog/selected-text-actions-mac#example-search-with-a-url-action" class="hash-link" aria-label="Direct link to Example: Search With a URL Action" title="Direct link to Example: Search With a URL Action" translate="no">​</a></h2>
<p>Create a URL action with this template:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">https://www.google.com/search?q={text}</span><br></span></code></pre></div></div>
<p>When you trigger the action, OnText URL-encodes the selected text and opens the search in your default browser.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="example-rewrite-with-inline-ai">Example: Rewrite With Inline AI<a href="https://gityeop.github.io/OnText/blog/selected-text-actions-mac#example-rewrite-with-inline-ai" class="hash-link" aria-label="Direct link to Example: Rewrite With Inline AI" title="Direct link to Example: Rewrite With Inline AI" translate="no">​</a></h2>
<p>Select a paragraph, open OnText, then use Inline AI with a prompt such as:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Rewrite this in a concise professional tone.</span><br></span></code></pre></div></div>
<p>Use <strong>Command-R</strong> to replace the original selection with the response, or <strong>Command-C</strong> to smart copy the result.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-this-workflow-fits">When This Workflow Fits<a href="https://gityeop.github.io/OnText/blog/selected-text-actions-mac#when-this-workflow-fits" class="hash-link" aria-label="Direct link to When This Workflow Fits" title="Direct link to When This Workflow Fits" translate="no">​</a></h2>
<p>Selected text actions work best when you repeat the same small operations many times a day:</p>
<ul>
<li class="">Searching terms while reading.</li>
<li class="">Translating snippets while researching.</li>
<li class="">Formatting text while writing.</li>
<li class="">Sending text into scripts, Shortcuts, notes, or AI prompts.</li>
</ul>
<p>Start with <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/first-steps">First Steps</a>, then move to <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/custom-actions">Custom Actions</a> when you want your own actions.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="related-posts">Related Posts<a href="https://gityeop.github.io/OnText/blog/selected-text-actions-mac#related-posts" class="hash-link" aria-label="Direct link to Related Posts" title="Direct link to Related Posts" translate="no">​</a></h2>
<ul>
<li class=""><a class="" href="https://gityeop.github.io/OnText/blog/run-shell-script-selected-text-mac">Run Shell Script on Selected Text</a></li>
<li class=""><a class="" href="https://gityeop.github.io/OnText/blog/macos-shortcuts-selected-text">macOS Shortcuts with Selected Text</a></li>
<li class=""><a class="" href="https://gityeop.github.io/OnText/blog/ai-rewrite-selected-text-mac">AI Rewrite Selected Text on Mac</a></li>
<li class=""><a class="" href="https://gityeop.github.io/OnText/blog/translate-selected-text-mac">Translate Selected Text on Mac</a></li>
</ul>]]></content:encoded>
            <category>Workflows</category>
        </item>
        <item>
            <title><![CDATA[Translate Selected Text on Mac with OnText]]></title>
            <link>https://gityeop.github.io/OnText/blog/translate-selected-text-mac</link>
            <guid>https://gityeop.github.io/OnText/blog/translate-selected-text-mac</guid>
            <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[Translate selected text on Mac with OnText using built-in actions, URL templates, and low-friction selected-text workflows.]]></description>
            <content:encoded><![CDATA[<p>OnText gives you a fast translation workflow for selected text on Mac. Instead of copying text, opening a translation site, pasting, and submitting, you can select text and trigger a translation action from the OnText panel.</p>
<p>The default flow is: select text, press <strong>F2</strong>, then run the translate action.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="built-in-translation-flow">Built-In Translation Flow<a href="https://gityeop.github.io/OnText/blog/translate-selected-text-mac#built-in-translation-flow" class="hash-link" aria-label="Direct link to Built-In Translation Flow" title="Direct link to Built-In Translation Flow" translate="no">​</a></h2>
<p>OnText includes a default translate action so you can get started immediately. It opens translation for the selected text using the configured URL workflow.</p>
<p>This is useful for:</p>
<ul>
<li class="">Reading documentation in another language.</li>
<li class="">Translating short research snippets.</li>
<li class="">Checking phrases while writing.</li>
<li class="">Moving quickly through multilingual web pages or notes.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="custom-translation-url">Custom Translation URL<a href="https://gityeop.github.io/OnText/blog/translate-selected-text-mac#custom-translation-url" class="hash-link" aria-label="Direct link to Custom Translation URL" title="Direct link to Custom Translation URL" translate="no">​</a></h2>
<p>You can also create your own URL action. A simple template looks like this:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">https://translate.google.com/?text={text}</span><br></span></code></pre></div></div>
<p>Use <code>{text}</code> where the selected text should be inserted. OnText handles URL encoding before opening the link.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="when-to-use-inline-ai-instead">When To Use Inline AI Instead<a href="https://gityeop.github.io/OnText/blog/translate-selected-text-mac#when-to-use-inline-ai-instead" class="hash-link" aria-label="Direct link to When To Use Inline AI Instead" title="Direct link to When To Use Inline AI Instead" translate="no">​</a></h2>
<p>Use translation actions when you want a quick translation page. Use <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/inline-ai">Inline AI</a> when you want a more controlled rewrite, tone change, summary, or in-place replacement.</p>
<p>For example:</p>
<div class="language-text codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-text codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">Translate this to English and keep the tone natural.</span><br></span></code></pre></div></div>
<p>Then use <strong>Command-R</strong> to replace the selected text, or <strong>Command-C</strong> to copy the response.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="next-steps">Next Steps<a href="https://gityeop.github.io/OnText/blog/translate-selected-text-mac#next-steps" class="hash-link" aria-label="Direct link to Next Steps" title="Direct link to Next Steps" translate="no">​</a></h2>
<ul>
<li class="">Learn the basics in <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/first-steps">First Steps</a>.</li>
<li class="">Review <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/default-actions">Default Actions</a>.</li>
<li class="">Create your own <a class="" href="https://gityeop.github.io/OnText/docs/user-guide/url-actions">URL Actions</a>.</li>
<li class="">Browse more <a class="" href="https://gityeop.github.io/OnText/blog">workflow guides</a>.</li>
</ul>]]></content:encoded>
            <category>Tips</category>
        </item>
    </channel>
</rss>