Manual.html
Rama main · réplica de lectura del repositorio original.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Clipman Manual</title>
<style>
body {
font-family: "Segoe UI", Arial, sans-serif;
line-height: 1.5;
margin: 2rem;
max-width: 56rem;
color: #111;
background: #fff;
}
h1, h2 {
line-height: 1.2;
}
table {
border-collapse: collapse;
width: 100%;
margin: 1rem 0;
}
th, td {
border: 1px solid #888;
padding: 0.45rem 0.6rem;
text-align: left;
vertical-align: top;
}
th {
background: #f0f0f0;
}
code {
font-family: Consolas, "Courier New", monospace;
}
.copy-test {
margin: 0.2rem 0 0.8rem 0;
}
.copy-test code {
display: inline-block;
margin-right: 0.5rem;
}
</style>
</head>
<body>
<h1>Clipman: Accessible Clipboard Management Tool</h1>
<p>Clipman is a small accessible clipboard management tool for Windows, macOS, Linux, Android, iPhone, and iPad, designed for fast keyboard and screen-reader use. It keeps a searchable clipboard history and can share that history through a cloud service or network share on Windows and macOS, through a system-selected folder on Android and iOS, or through optional Clipman Server storage across all supported platforms. Add, remove, move, rename, group, pin, or edit an entry on one device, and other devices watching the same shared history can pick up the change automatically.</p>
<p>Project page: <a href="https://github.com/OnjLouis/Clipman">https://github.com/OnjLouis/Clipman</a></p>
<p>New to Clipman? Follow the <a href="https://onjlouis.github.io/Clipman/getting-started.html">Getting Started guide</a> for step-by-step examples, including keyboard, screen-reader and shared-folder workflows. This manual remains the complete reference.</p>
<p>iPhone and iPad users can <a href="https://apps.apple.com/app/clipman/id6793250105">download Clipman from the App Store</a>.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#changelog">Changelog</a></li>
<li><a href="#notes">Notes</a></li>
<li><a href="#basic-use">Basic Use</a></li>
<li><a href="#keyboard-shortcuts">Keyboard Shortcuts</a></li>
<li><a href="#preferences">Preferences</a></li>
<li><a href="#platform-notes">Platform Notes</a></li>
<li><a href="#startup-state">Startup State</a></li>
<li><a href="#pinned-entries">Pinned Entries</a></li>
<li><a href="#entry-names-and-text">Entry Names and Text</a></li>
<li><a href="#links-history">Links History</a></li>
<li><a href="#rich-text-history">Rich Text History</a></li>
<li><a href="#groups">Groups</a></li>
<li><a href="#sorting-and-manual-order">Sorting and Manual Order</a></li>
<li><a href="#cut-copy-and-paste-inside-clipman">Cut, Copy, and Paste Inside Clipman</a></li>
<li><a href="#clipmerge">ClipMerge</a></li>
<li><a href="#history-limits">History Limits</a></li>
<li><a href="#actions">Actions</a></li>
<li><a href="#menus">Menus</a></li>
<li><a href="#sensitive-data">Sensitive Data Exclusions</a></li>
<li><a href="#clipboard-privacy-signals">Clipboard Privacy Signals</a></li>
<li><a href="#ignored-applications">Ignored Applications</a></li>
<li><a href="#database-and-sync">Database and Sync</a></li>
<li><a href="#iphone-ipad-setup">iPhone and iPad Setup</a></li>
<li><a href="#sync-rules-and-channels">Sync Rules and Channels</a></li>
<li><a href="#secrets">Secrets</a></li>
<li><a href="#clipman-server">Clipman Server</a></li>
<li><a href="#send-to">Send To</a></li>
<li><a href="#file-history">File History</a></li>
<li><a href="#import-and-export">Import and Export</a></li>
<li><a href="#updates">Updates</a></li>
<li><a href="#sounds">Sounds</a></li>
<li><a href="#application-files">Application Files</a></li>
<li><a href="#non-text-clipboard-events">Non-text Clipboard Events</a></li>
<li><a href="#command-line">Command Line</a></li>
<li><a href="#license">License</a></li>
<li><a href="#credits">Credits</a></li>
</ul>
<h2 id="changelog">Changelog</h2>
<h3>3.1.13 Windows</h3>
<ul>
<li>Preferences accepts data-folder paths copied from Explorer with surrounding quotation marks, including paths with spaces.</li>
<li>Reselecting a custom data folder during startup recovery no longer switches Clipman to the portable Settings folder.</li>
<li>If a saved custom folder is visible but this computer's settings file is missing or unreadable, Clipman explains how to restore access instead of creating default settings. Remembered passwords remain protected by Windows.</li>
<li>This is a Windows-only update. Other clients, the server and history formats are unchanged.</li>
</ul>
<h3>3.1.13 macOS</h3>
<ul>
<li>Restoring File History items from a network share now requests macOS network-volume access when needed, so Finder receives the original files instead of text clippings. If access is denied or the files are unavailable, Clipman explains the problem without replacing your clipboard.</li>
<li>Enter and Choose Selected restore files from all selected File History rows, not just the first row. Files appearing in more than one selected event are included only once.</li>
<li>This is a Mac-only update for Apple Silicon and Intel. Other clients, the server, settings and history formats are unchanged.</li>
</ul>
<h3>3.1.9 iOS</h3>
<ul>
<li>VoiceOver navigation is more responsive when moving quickly between entries in Text, Links and Rich Text history, especially with larger histories or images.</li>
<li>This is an iOS-only update. Existing row actions, reading-position recovery, history formats and synchronization are unchanged.</li>
</ul>
<h3>3.1.12 Windows</h3>
<ul>
<li>ClipMerge measures the double-copy interval from the original Windows clipboard notifications, so time spent processing or saving the first copy does not count against the second press.</li>
<li>Copying several selected history entries, including Copy Name and Content, updates their last-used timestamps in one save instead of rewriting and uploading history separately for every entry.</li>
<li>Routine automatic website-title failures no longer fill the runtime log. Diagnostics keeps session failure counts and a short reason in memory, without recording the website address. Fault logs still rotate at 1 MiB with three previous generations.</li>
<li>This is a Windows-only update. The server, other clients, history format and existing preferences are unchanged.</li>
</ul>
<h3>3.1.8 iOS</h3>
<ul>
<li>Quick Clip uses a native accessible button so VoiceOver can open its editor on iOS 27 instead of activating the history pager.</li>
<li>Quick Clip starts at Clipboard text with the keyboard ready for writing. VoiceOver receives an initial text-field focus suggestion, without repeated focus changes while history refreshes. Optional names, groups and other details remain available.</li>
<li>This is an iOS-only update. Existing draft recovery, history formats and synchronization are unchanged.</li>
</ul>
<h3>3.1.12 macOS</h3>
<ul>
<li>Mac updates no longer require Apple's command-line developer tools. Downloaded apps are still checked for the correct signing identity and processor compatibility before installation. Failed validation removes its temporary files without changing the installed app, and a failed replacement restores the previous app.</li>
<li>If an older Mac build reports <code>/usr/bin/lipo failed with exit code 1</code>, quit Clipman and manually replace the app in Applications with the matching Apple Silicon or Intel download. Keep your existing settings and history; they do not need to be reset. This fixes issue #86.</li>
<li>This is a Mac-only update. Other clients, the server and history formats are unchanged.</li>
</ul>
<h3>3.1.11 Windows and macOS</h3>
<ul>
<li>Windows Quick Clip, entry properties, template controls, Secrets, group selection and sync-rule dialogs no longer repeat explanatory help whenever a control receives focus. Press F1 for those explanations; control names, values and safety warnings remain available normally.</li>
<li>On Mac, Tab and Shift+Tab reach the History toolbar as well as the selected section and history list. Dialog navigation includes buttons, checkboxes and pop-up menus without changing macOS keyboard preferences, and skips hidden or unavailable controls.</li>
<li>Mac Quick Clip and other dialogs keep focus when opened from History, without a delayed history-list announcement interrupting the editor.</li>
<li>Windows and Mac keep one unfinished Quick Clip instead of stacking editors. Its global hotkey hides and restores the same draft; reopening History also restores a hidden editor. Save commits the draft, while Cancel or Escape discards it.</li>
<li>This update changes only the Windows and Mac clients. History formats, the server and mobile clients are unchanged.</li>
</ul>
<h3>3.1.10 Windows</h3>
<ul>
<li>Encrypted server history now asks for its password when Clipman starts if the password was not remembered or Windows cannot recover the saved password, instead of failing to launch. Thanks to Brandon Cross for reporting this. Fixes issue #85.</li>
<li>Unlocking keeps your Remember history password choice. Incorrect passwords can be retried, and cancelling leaves encrypted history and saved password preferences unchanged.</li>
<li>This is a Windows-only update. The server and other clients are unchanged.</li>
</ul>
<h3>3.1.9 Windows, macOS and Linux</h3>
<ul>
<li>F1 explains the focused control in a readable help dialog, including preferences, entry editors, secrets and sync rules. Open Manual still opens the complete manual.</li>
<li>Preference explanations are available on demand instead of being repeated automatically by screen readers. Control names, roles, states and values remain available normally.</li>
<li>Plain F1 opens help in hotkey fields without changing their shortcut. Closing help returns to the previous control.</li>
<li>Alt+Enter on Windows and Linux, or Option+Enter on Mac, opens a selected embedded image in the default image app. In File History it reveals the selected file or folder. Successful image and link opens close History; failed opens leave it available.</li>
<li>Global Quick Clip returns History to its previous visibility when the editor closes, rather than leaving an unwanted History window open.</li>
<li>New clipboard images use the source application's name when available, making generic image entries easier to identify. Original image filenames and existing entries are unchanged.</li>
</ul>
<h3>3.1.7 iOS</h3>
<ul>
<li>View Entry now stays open when you switch apps and return, retaining its reading position and an open large image preview.</li>
<li>History remembers the current tab and each list's position rather than returning to the top. Closing View Entry returns to the history you left, including VoiceOver focus when that entry still exists.</li>
<li>Viewing is restored only after history is unlocked. Deleted entries are not restored; only entry references and position metadata are saved, not a separate copy of clipboard contents.</li>
</ul>
<h3>3.1.7 Windows</h3>
<ul>
<li>Brief background server-poll timeouts now retry quietly with the existing backoff. Network failures lasting at least 30 seconds still report unavailable storage at the next failed retry; authentication, server-response, data, upload and manual retry errors remain immediate. History status uses the same availability state as the tray. A successful metadata check cannot hide a failed download. Thanks to Raywonder for <a href="https://github.com/OnjLouis/Clipman/pull/82">pull request #82</a>.</li>
</ul>
<h3>3.1.8 macOS</h3>
<ul>
<li>Starting at login or after an update now leaves the previous app in focus. Command+H dismisses Clipman windows through the same lifecycle as closing History, so Clipman leaves Command+Tab while its menu extra keeps running. The redundant direct File History command has been removed from the menu extra; Files remains available through History.</li>
</ul>
<h3>3.1.7 macOS</h3>
<ul>
<li>Clipman now uses the native Mac menu bar while a window is open, then returns to menu-extra-only mode when its windows close. History commands follow the active tab and selection, and the View menu lists navigation shortcuts. The menu extra remains available throughout. Thanks to Johann for <a href="https://github.com/OnjLouis/Clipman/pull/81">pull request #81</a>.</li>
</ul>
<h3>3.1.6 Windows, macOS, Linux, Android and iOS</h3>
<ul>
<li>Windows, macOS, Linux and iOS now recognize web links copied as URL-only clipboard items, even when the source application supplies no plain-text representation. Local file links remain in the existing file-handling path.</li>
<li>On iPhone and Android, the image preview in View Entry can now be opened at screen size and closed to return to the entry.</li>
</ul>
<h3>3.1.5 macOS</h3>
<ul>
<li>Added a signed and notarized Intel Mac download alongside the Apple Silicon build. Both support macOS 13 or later. Mac updates choose the ZIP for the computer's processor, check the release's assets directly if GitHub's summary is incomplete, and refuse to install an app without compatible code.</li>
</ul>
<h3>3.1.5 Windows</h3>
<ul>
<li>When Clipman Server becomes reachable after an interrupted upload, the notification-area tooltip, menu, and history status now clear the stale storage-unavailable warning as soon as synchronization succeeds. The runtime log records only the unavailable and recovered transitions, while the existing retry continues to preserve, merge, and upload the pending history. Fixes <a href="https://github.com/OnjLouis/Clipman/issues/75">issue #75</a>.</li>
</ul>
<h3>3.1.4 Android</h3>
<ul>
<li>Quick Clip now retains an unfinished draft when you switch apps or Android suspends Clipman. Save adds it to history, while Cancel deliberately discards it.</li>
<li>Named links can be copied as either the unchanged link or the saved Name followed by the link. The off-by-default <strong>Copy link names by default</strong> setting controls ordinary activation, while the entry menu and TalkBack actions expose only the opposite format instead of repeating the default.</li>
<li>Aligned the Android history controls with iOS: Paste, Quick Clip, and More form the primary toolbar; More contains section switching and Settings; Filter and Android's dedicated Top command remain directly available. Switching sections now preserves either a group or device filter consistently.</li>
</ul>
<h3>3.1.4 Windows, macOS and Linux</h3>
<ul>
<li>Protected stored images when editing their properties. Image content is now clearly read-only while Name, Group, pinning, and Quick Paste settings remain editable, preventing an accidental text edit from discarding the embedded image.</li>
<li>Image files pasted from Rich Text history into Explorer, Finder, or a Linux file manager now retain the date when the image was originally added to Clipman instead of being dated when it was pasted.</li>
<li>Added opt-in, timestamped macOS startup diagnostics for difficult launch and menu-extra failures. Starting Clipman directly with <code>CLIPMAN_DEBUG_LOG=1</code> reports safe startup checkpoints to the Terminal without logging passwords, tokens, clipboard contents, or history data. Normal launches remain silent.</li>
</ul>
<h3>3.1.3 Android</h3>
<ul>
<li>Protected stored images when editing their properties. Image content is now clearly read-only while Name, Group, and pinning remain editable, preventing an accidental text edit from discarding the embedded image.</li>
</ul>
<h3>3.1.3 macOS</h3>
<ul>
<li>Fixed a startup freeze that could occur after unlocking an encrypted history when <strong>Run Clipman at login</strong> was off and no login registration existed. Login-item maintenance no longer runs an unnecessary removal command, system command output stays silent, and every registration command has a short timeout. The menu extra is now created before this maintenance, so a macOS registration failure cannot leave Clipman running without its menu. Thanks to Chi Kim for reporting the failure and its Terminal diagnostic.</li>
</ul>
<h3>3.1.3 Windows</h3>
<ul>
<li>Fixed update checks when a newer release is available only for another platform. Windows now selects the newest release containing the matching Windows package instead of stopping at an Android-only release. Thanks to Simon for reporting <a href="https://github.com/OnjLouis/Clipman/issues/74">issue #74</a>.</li>
</ul>
<h3>3.1.2 Android</h3>
<ul>
<li>Kept Android Settings clear of the system status and navigation bars on Android 15 and later, so TalkBack touch exploration reaches Clipman's controls instead of System UI. The Settings header now remains visible while the form scrolls, and keyboard insets keep focused fields accessible. Thanks to Glenn Dausch for diagnosis, real-device TalkBack testing, and pull request <a href="https://github.com/OnjLouis/Clipman/pull/73">#73</a>.</li>
</ul>
<h3>3.1.3 iOS</h3>
<ul>
<li>iOS existing-entry edits now retain an unfinished draft when you switch apps or iOS suspends Clipman. Save stores the changes, while Cancel deliberately discards them.</li>
<li><strong>Copy Latest Clip</strong> now refreshes synchronized history before choosing an entry. If current server or shared-folder history cannot be reached, Clipman reports the failure instead of copying a potentially stale cached entry.</li>
<li>Fixed the <strong>More</strong> menu occasionally omitting available history destinations the first time it opened.</li>
</ul>
<h3>3.1.2 iOS</h3>
<ul>
<li>iOS Quick Clip now retains an unfinished draft when you switch apps or iOS suspends Clipman. Save adds it to history, while Cancel deliberately discards it.</li>
<li>iOS named links can be copied as either the unchanged link or the saved Name followed by the link. The off-by-default <strong>Copy link names by default</strong> setting controls ordinary activation, while the entry menu and VoiceOver actions expose only the opposite format instead of repeating the default.</li>
<li>iOS Settings now keeps the optional Tip Jar inside a collapsed <strong>Support Clipman</strong> disclosure and loads locally priced tip choices only when it is opened.</li>
</ul>
<h3>3.1.1 Windows, Android and iOS</h3>
<ul>
<li>iOS protects stored images when editing their properties. Image content is now clearly read-only while Name, Group, and pinning remain editable, preventing an accidental text edit from discarding the embedded image.</li>
<li>Android adds optional <strong>Shared Folder</strong> synchronization through Android's system folder picker. Clipman keeps an encrypted private cache, checks the selected folder before writing, merges concurrent and offline changes plus recognised provider conflict copies, and retries interrupted writes while Clipman is open. An existing encrypted-backup folder is reused as the initial choice. The provider must offer persistent read and write access; provider availability and synchronization remain controlled by Android and the installed storage app.</li>
<li>Fixed repeated sync-rules downloads that could delay Quick Paste, clipboard capture and history changes while using Clipman Server.</li>
<li>Fixed rapid Quick Paste operations leaving clipboard monitoring suppressed, which could prevent later copies from other applications from reaching history.</li>
</ul>
<h3>3.1.0 Windows, macOS, Linux and iOS</h3>
<ul>
<li>iOS adds optional <strong>Shared Folder</strong> sync. Choose an iCloud Drive or supported document-provider folder and use the same nonblank history password on each device to share encrypted history without running Clipman Server. Clipman loads its private cache first, synchronizes while open, retries interrupted changes, and merges entries, edits, pins, groups, deletions, channels, and provider conflict copies. Share to Clipman uses the same path with a durable queued fallback. If encrypted backup already has a selected folder, Clipman reuses it as the initial Shared Folder choice so access is not requested twice; a separately chosen shared folder remains independent. The existing one-way encrypted history backup remains a separate feature.</li>
<li>Improved the deliberate <strong>Use website title as name</strong> command. When a public link returns no usable web-page title, is a direct file download, or cannot be reached, Clipman now saves the same useful offline URL label shown in history into the ordinary Name field. The complete URL remains unchanged.</li>
<li>A deliberate website-title request is no longer refused solely because a public URL contains tracking data or a token-like path or query. Automatic title naming remains conservative, and both modes continue to reject embedded credentials, local or private destinations, non-standard ports, unsafe redirects and overlong addresses.</li>
</ul>
<h3>3.0.1</h3>
<ul>
<li>Windows: Fixed importing a Ditto database using Ditto's shortened display description instead of its complete clipboard text. Clipman now imports the full Unicode or legacy text payload when available, while retaining the description as a compatibility fallback. Fixes issue #69.</li>
</ul>
<h3>3.0.0</h3>
<ul>
<li>Added optional <strong>Sync rules</strong> so a shared history can be split into named channels routed by group, source device, or embedded images, with each device subscribing only to the channels it wants. Sync rules are off by default; with them off, or for any entry no channel claims, history behaves exactly as before. Windows exposes a Sync rules dialog from Preferences, Mac and Linux expose the same editing from their Preferences and settings dialogs, the Clipman CLI adds <code>rules show</code>, <code>rules enable</code>, <code>rules disable</code>, <code>rules channel add</code>, <code>rules channel remove</code>, and <code>rules device set</code>, and Android and iOS Settings can view the current channels and change this device's own subscription. See <a href="#sync-rules-and-channels">Sync Rules and Channels</a>.</li>
<li>Added write-through delivery for sync rules: capturing an entry that routes to a channel this device does not subscribe to still delivers it to that channel for other devices, announced once as <code>Added to <channel name> for your other devices.</code>, and retried automatically if the device is offline at the time.</li>
<li>Added direct editor save shortcuts. In F2 Entry Properties and Quick Clip, press <code>Ctrl+Enter</code> on Windows or Linux, or <code>Command+Enter</code> on Mac, to save while ordinary Enter continues to insert a new line. Mac also accepts <code>Command+S</code> in those editors and in other editable windows with a Save action, including Preferences and Sync Rules.</li>
<li>Stopped unchanged Windows server polls from rebuilding the history lists, preserving NVDA focus instead of repeatedly announcing the selected entry.</li>
<li>Made the iOS More screen stable during background synchronization. Its available actions remain in place until it closes, and unchanged server status no longer disrupts VoiceOver focus.</li>
<li>Protected channel data when a device reconnects with an older local cache. Stale channel-move markers can no longer remove a newer restored entry, duplicate historical identities converge consistently across clients, and Android immediately reloads channels after its subscriptions change.</li>
<li>Implements the sync-channel work proposed by Jeff Bishop (AccessWatch) in pull request #67, with additional cross-client conflict, recovery, accessibility, and real-device validation before release.</li>
</ul>
<h3>2.9.1 Windows and macOS</h3>
<ul>
<li>Fixed <code>Alt+Up</code>/<code>Alt+Down</code> on Windows and <code>Option+Up</code>/<code>Option+Down</code> on macOS sometimes moving an entry against a hidden Text, Links or Rich Text item. Manual movement now consistently reorders against the adjacent visible item, including pinned links and filtered history views.</li>
</ul>
<h3>2.9.0</h3>
<ul>
<li>Added <strong>Quick Clip</strong> across Windows, Mac, Linux, Android and iOS. Type a new entry directly with its optional Name, Group, pin and template setting without first replacing the system clipboard. Desktop clients provide <code>Ctrl+N</code> or <code>Command+N</code> and an optional unassigned global hotkey; mobile clients place Quick Clip beside Paste and in the launcher icon's long-press menu. iOS also exposes it through Siri, Shortcuts and the Action Button.</li>
<li>Added <code>Alt+Enter</code> on Windows and Linux, or <code>Option+Enter</code> on Mac, to open one selected standalone HTTP or HTTPS link in the default browser. It also works for links stored in Text history, while prose containing a URL and private <code>clipman://</code> configuration links remain excluded.</li>
<li>Protected clipboard content and entry ownership during startup on every client. Android and iOS preserve meaningful phone clipboard content across the initial server refresh, while all clients now treat an item already present in history as unchanged instead of reassigning its device, group, or timestamp to the client that relaunched.</li>
<li>Made the optional iOS Tip Jar consistently visible in Settings, with clear loading, unavailable and retry states. Tips use Apple's one-time in-app purchases, remain entirely optional and unlock no features.</li>
<li>Aligned Windows entry editing with the other clients. Enter now inserts a new line in the Clipboard text field for both Quick Clip and F2 Entry Properties; tab to Save or press <code>Alt+S</code> when finished.</li>
</ul>
<h3>2.8.11 Windows</h3>
<ul>
<li>Fixed Retry storage blocking the Clipman interface and exposing an unhandled timeout when Clipman Server was unavailable. Retry now runs in the background, preserves the local cache, reports failure accessibly, and leaves automatic reconnection active. Starting the same Clipman copy again while storage is unavailable now asks the running instance to recover instead of silently returning to the stuck state.</li>
<li>Fixed automatic paste occasionally inserting the letter V instead of pasting in certain edit fields and editable combo boxes. Clipman now sends the complete Control+V chord to Windows as one ordered input operation.</li>
</ul>
<h3>2.8.10 Windows</h3>
<ul>
<li>Fixed Windows Send To and command-line history operations using the configured file-storage database instead of the active server cache when Clipman Server storage was selected. The running Clipman now reloads and synchronizes successful command-line changes immediately without waiting for history focus or another clipboard event. When the existing received-text clipboard option is enabled, the originating computer also receives the imported text on its clipboard. Send To also accepts common extensionless text documents named README, LICENSE, LICENCE, NOTICE, CHANGELOG, COPYING or AUTHORS.</li>
</ul>
<h3>2.8.10 macOS</h3>
<ul>
<li>Fixed Clipman Server synchronization remaining unavailable after Wi-Fi, internet, VPN or Tailscale connectivity returned. macOS now cancels timed-out private-network requests completely and continues automatic background retries, so restarting Clipman or manually choosing Retry Server Sync is no longer required.</li>
</ul>
<h3>2.8.9 Windows</h3>
<ul>
<li>Fixed Quick Paste crashing when the existing clipboard contained delayed or application-owned OLE formats, including rich content copied from Microsoft Word. Paste-and-restore now preserves independently cloneable text, HTML, Rich Text, files, images, audio and Explorer cut/copy state without materializing unsafe native formats.</li>
</ul>
<h3>2.8.8 Windows</h3>
<ul>
<li>Corrected the History filter mnemonic from the conflicting <code>Alt+F</code> label to <code>Alt+G</code>. The filter shortcut now agrees with the existing command and manual without colliding with the File menu.</li>
<li>Changed Clipman Server polling so a slow or unavailable connection cannot queue overlapping background checks. Successful synchronization retains its two-second interval, while failed checks now sleep for the existing retry backoff instead of waking repeatedly.</li>
</ul>
<h3>2.6.4 Android</h3>
<ul>
<li>Added <strong>Share to Clipman</strong> for text, links and HTML from Android share sheets. Shared HTML retains its formatting when Rich Text history is enabled, while existing photo sharing remains available.</li>
<li>Replaced the horizontally scrolling toolbar with a stable two-row layout that keeps Paste first, followed by Switch, Filter, Settings and Top. This prevents TalkBack focus from missing actions that had moved off-screen.</li>
<li>Unified the bottom status with the other mobile client: it now combines the current section's entry count with local or server state and temporary operation results. Sorting remains available by long-pressing the status or through its TalkBack actions, so the separate Sort button has been removed.</li>
</ul>
<h3>2.8.7 Windows</h3>
<ul>
<li>Fixed links containing URL characters that are not valid in Windows file paths interrupting history refreshes. This could leave one history section visible while the status bar retained another section's entry count.</li>
<li>If another application temporarily locks the clipboard while Clipman starts, the optional startup capture now waits and retries instead of interrupting startup.</li>
<li>Windows diagnostic logs now rotate at 1 MiB and retain three previous generations, keeping fault history without allowing logs to grow indefinitely.</li>
<li>Added <code>Ctrl+Shift+I</code> for Import and replace and <code>Ctrl+Shift+O</code> for Open settings folder.</li>
</ul>
<h3>2.6.3 Android</h3>
<ul>
<li>Prevented Android history lag and possible Clipman or TalkBack crashes caused by very long clipboard entries. History rows and TalkBack now receive a bounded preview and announce when it was truncated, while copying, viewing, editing, searching and synchronizing continue to use the complete unchanged entry. Oversized rows are no longer scanned for link actions until the user deliberately opens them.</li>
</ul>
<h3>2.8.6</h3>
<ul>
<li>Fixed Windows treating a burst of notifications from one clipboard write as separate ClipMerge input. Applications such as Sensor Readout that publish several clipboard formats during one copy now create one history update and one sound, without combining the new value with an unrelated earlier clip. If an application floods the clipboard, Clipman still catches the latest change after activity settles.</li>
</ul>
<h3>2.8.5</h3>
<ul>
<li>Windows, Mac and Linux can now choose how multiple selected clipboard entries are joined when copied, transformed, pushed or used with <strong>Copy Name and Content</strong>. Choose no separator, one new line, one blank line, a space, comma and space, or a custom separator with common escape sequences.</li>
<li>Desktop history status bars now put the active section's entry count first, followed by monitoring, storage and synchronization state. For example, <strong>262 clipboard entries. Ready. Server sync connected.</strong></li>
</ul>
<h3>2.8.4</h3>
<ul>
<li>Windows, Mac and Linux history status bars now combine the active section's entry count with useful storage and synchronization state, such as ready, server connected, server unavailable with local cache, local or shared-folder history, monitoring off, or storage unavailable.</li>
<li>Section changes no longer leave redundant tab names in the status bar. Action confirmations and errors remain visible for eight seconds before the current count and connection state return automatically.</li>
</ul>
<h3>2.8.3</h3>
<ul>
<li>Windows history lists now announce only the active Text, Links, Rich Text or File History section instead of repeating a long keyboard tutorial whenever focus enters the list. The manual remains the complete shortcut reference.</li>
</ul>
<h3>2.8.2</h3>
<ul>
<li>Mac no longer plays the skip sound when a background Clipman Server poll fails because the network or server is temporarily unavailable. The status menu still reports the outage, retry and recovery continue automatically with backoff, and deliberate clipboard actions keep their normal sound feedback.</li>
</ul>
<h3>2.8.1</h3>
<ul>
<li>Windows and Mac now let you suppress the compatibility warning shown when saving an allowed single-modifier global hotkey. Choose <strong>Do not show this warning again</strong> when keeping the hotkey, or change <strong>Warn before saving single-modifier global hotkeys</strong> in Hotkey Preferences to restore the warning later. This closes <a href="https://github.com/OnjLouis/Clipman/issues/59">issue #59</a>.</li>
</ul>
<h3>2.8.0</h3>
<ul>
<li>Added <strong>Copy Name and Content</strong> to Windows, Mac and Linux. On Text, Links and Rich Text history, press <code>Ctrl+Enter</code> on Windows or Linux, or <code>Command+Enter</code> on Mac, to copy each non-empty entry Name followed by its resolved content and close history. Multiple selections are separated by one blank line, and the existing optional paste-after-Enter behavior is honoured. The same shortcuts continue to mean <strong>Go to file</strong> in File History.</li>
<li>Fixed Windows <strong>Copy as plain text</strong> so successful copies use Clipman's guarded clipboard path, play the normal copy sound, resolve templates at use time, and update Last used only after the clipboard write succeeds. A failed clipboard write leaves history open and reports the failure.</li>
</ul>
<h3>2.7.2</h3>
<ul>
<li>Fixed a Windows mixed-version failure when separately installed Clipman copies shared only a custom Syncthing, cloud or network data folder. Executable update coordination now operates only through the install-local <code>Settings</code> folder beside <code>clipman.exe</code>; a newer build marker in a separate data folder can no longer make an older local copy exit while waiting for an executable that will never arrive. Malformed update state is ignored safely, and Syncthing conflict names are recognized. This closes <a href="https://github.com/OnjLouis/Clipman/issues/56">issue #56</a>.</li>
<li>Fixed the Windows Preferences website-title confirmation checkbox displaying its mnemonic as literal <strong>(J)</strong>. Its mnemonic is now <strong>Alt+O</strong> on the word Contacting.</li>
</ul>
<h3>2.7.1</h3>
<ul>
<li>Made desktop ClipMerge distinguish a deliberate second copy from rapid duplicate clipboard notifications produced by applications such as Firefox, Thunderbird and Windows Explorer. One command now creates one history update and one sound. File cuts can merge while every source still exists, but a pasted or moved source is rejected before it can leave unusable paths in a later merged clipboard.</li>
<li>Allowed the deliberate <strong>Use website title as name</strong> command to contact ordinary public articles whose long paths contain several readable words and a date or number. Uninterrupted token-like values, UUID-style paths, credential-related parameters and private destinations remain blocked.</li>
<li>Added two per-device desktop website-title preferences. The manual command's confirmation now offers <strong>Do not show this again</strong>, with its prompt restorable from Preferences. A separate off-by-default option can name newly copied, unnamed public website links in a bounded background queue. It never scans existing, imported or synchronized history, never contacts links rejected by Clipman's private-link safeguards, and fails quietly without delaying clipboard capture.</li>
</ul>
<h3>2.7.0</h3>
<ul>
<li>Added the opt-in ClipMerge workflow to Windows, Mac and Linux. Copy one selection normally, then copy the next selection twice within the configured interval to append it to the clipboard and history. Text separators are configurable, file selections are deduplicated, pinned entries remain unchanged, and guarded source/type/operation matching prevents unrelated clipboard changes from being combined. This closes <a href="https://github.com/OnjLouis/Clipman/issues/55">issue #55</a>.</li>
<li>Unified the default copy, remote and skip sounds across Windows, Mac, Linux, Android and iOS, so the same events now provide consistent feedback on every platform without requiring per-device overrides.</li>
<li>Reduced Linux save, delete and ClipMerge latency by reusing the database state that the server had already accepted instead of immediately downloading and decrypting the same revision again.</li>
</ul>
<h3>2.6.2</h3>
<ul>
<li>Fixed Clipman Server updates on runit systems such as Void Linux. Update backups now preserve persistent service definitions without trying to copy runit's live named pipes, and rollback retains active supervision state instead of deleting it. This closes <a href="https://github.com/OnjLouis/Clipman/issues/54">issue #54</a>.</li>
</ul>
<h3>2.6.2 Mobile</h3>
<ul>
<li>Added <strong>Share to Clipman</strong> for text and links from iOS share sheets while retaining photo sharing. Clipman prefers a shared URL over attached thumbnails, queues the item in protected app-group storage, then validates, classifies, encrypts and synchronizes it through the normal history path when the app opens.</li>
<li>Fixed the iOS Settings import controls so <strong>Import Clipman Server Connection File</strong>, <strong>Import Private Authority</strong> and encrypted backup restore each open the correct Files picker and retain their existing validation and confirmation flow. Android already used independent document pickers and is unchanged.</li>
<li>Prevented iOS history lag and crashes caused by very long clipboard entries. History rows and VoiceOver receive a bounded preview, while copying, viewing, editing, searching and synchronizing continue to use the complete unchanged entry. Website titles containing line breaks now pass through the existing bounded sanitizer correctly. Clipman's short feedback sounds now mix with music, video, podcasts and VoiceOver instead of interrupting other audio. This closes <a href="https://github.com/OnjLouis/Clipman/issues/63">issue #63</a>.</li>
</ul>
<h3>2.6.1</h3>
<ul>
<li>Released Clipman Server 2.6.1 with short-lived browser onboarding links. Windows and Mac expose creation and revocation in the server menu, while Linux provides <code>clipmanserver setup-link</code> and <code>clipmanserver revoke-setup-link</code>. The accessible setup page downloads the existing private <code>.clpconf</code> connection file, expires by time and download count, stores only a hash of its random setup code, redacts that code from logs, requires HTTPS for public addresses, and preserves dedicated service-account ownership on hardened system installations.</li>
<li>Improved the explicit <strong>Use Website Title as Name</strong> command on Windows, Mac, Linux, Android and iOS. Clipman now reaches useful metadata on more modern, script-heavy pages including YouTube, accepts normal repeated website headers and compressed responses, ignores decorative SVG titles, and refuses misleading bot-check or JavaScript-disabled page titles. Public links with ordinary long query values are no longer mistaken for private capability links, while credential-related parameters, private destinations, non-standard ports and token-like paths remain protected. A retrieved title is still saved in the ordinary Name field, visible in Entry Properties. This closes <a href="https://github.com/OnjLouis/Clipman/issues/53">issue #53</a>.</li>
<li>Made failed explicit website-title requests play the normal skip feedback consistently across desktop and mobile clients.</li>
<li>Improved iOS Shortcuts so <strong>Copy Latest Clip</strong> verifies that iOS accepted the clipboard update before reporting success. Clipman also avoids downloading and processing the full server history again when its protected local cache already matches the server revision, reducing unchanged launch work and device heat.</li>
<li>Added a clearly labelled <strong>Open Manual</strong> button to Android and iOS Settings. It opens the rendered Clipman manual in the default browser without changing unsaved settings.</li>
<li>Kept URLs copied with a trailing screen-reader role such as <code>https://example.com link</code> in Links history across every client. Clipman recognizes only that narrow role suffix, preserves the original stored and copied text, and does not mistake ordinary surrounding sentences for standalone links.</li>
<li>Corrected iOS Shortcuts registration and execution. Clipman's actions are now registered with iOS at launch and bring Clipman forward before using the clipboard, avoiding unreliable background clipboard access.</li>
<li>Made Android and iOS mutation status truthful: additions, edits, pins, title changes, and deletions report server sync in progress and only report synced after Clipman Server accepts the change. Both clients now save and encrypt a normal local change once, upload it against the known server revision, and download, decrypt, merge, and retry only after a real revision conflict. Healthy foreground server checks now run every five seconds, while failure retries still back off. Repeated synchronization reuses protected on-device encryption work and indexes deletion history instead of repeatedly rescanning it, removing long conflict delays and further reducing CPU use, battery drain, and device heat without weakening conflict handling. A finite iOS background task gives an active upload time to finish, while both clients retain durable local changes for retry after interruption or connection failure.</li>
</ul>
<h3>2.6.0</h3>
<ul>
<li>Made unnamed website links easier to identify across Windows, Mac, Linux, Android and iOS. History rows now show a useful offline label followed by the scheme-less destination, while the full unchanged URL remains available when viewing or copying the entry. An explicit <strong>Use Website Title as Name</strong> command can contact a public HTTP or HTTPS page once, after confirmation, and stores the returned title in the existing Name field. This closes <a href="https://github.com/OnjLouis/Clipman/issues/50">issue #50</a>.</li>
<li>Added optional standalone PNG and JPEG image sharing through Rich Text history on every client. Android and iOS can receive one selected photo through the system Share sheet, then save or share a stored image directly from its accessible entry actions. Windows, Mac and Linux can paste a copied image entry directly into the normal file manager as an image file, or paste one copied PNG or JPEG file into Rich Text history to share it in the other direction. An additional off-by-default desktop preference can add a single copied image file to File History and Rich Text history together. The feature preserves already-compliant image bytes and metadata, safely reduces larger accepted images, restores native image and rich-text clipboard formats, and keeps shared images inside the existing encrypted history database without requiring a Clipman Server change.</li>
<li>Improved Windows update windows so their title bar says <strong>Clipman Update</strong>, making it clear which application is requesting an update.</li>
<li>Added persistent mobile history sorting by Manual order, Newest first, Oldest first, or Text. Android and iOS expose the choice in Settings, through the history status bar, and as explicit TalkBack or VoiceOver actions without rewriting shared database order.</li>
<li>Made mobile deletion return immediately to the remaining history while local storage and server synchronization continue in the background. A failed local save restores durable history and reports the problem instead of leaving an apparently empty screen.</li>
<li>Released Clipman Server 2.5.0 with native runit and turnstile support for Void Linux and other runit systems while retaining systemd and manual-start choices. The server now prevents two processes from writing to the same data folder, avoids rewriting unchanged settings during routine startup, and safely stops and restarts managed Linux services around protected maintenance commands. This incorporates <a href="https://github.com/OnjLouis/Clipman/pull/51">pull request #51</a> and closes the maintainer review in <a href="https://github.com/OnjLouis/Clipman/issues/52">issue #52</a>.</li>
</ul>
<h3>2.5.2</h3>
<ul>
<li>Added an optional, unassigned <strong>Save Current Clipboard to History</strong> global hotkey on Windows, Mac and Linux. The matching menu command performs one deliberate save while monitoring remains off, preserves explicit clipboard privacy markers, and handles supported text, links, rich text and files through the normal history rules. This closes <a href="https://github.com/OnjLouis/Clipman/issues/49">issue #49</a>.</li>
</ul>
<h3>2.5.1</h3>
<ul>
<li>Corrected iOS VoiceOver entry actions to match Android in the order Open when available, View, Edit, Pin or Unpin, then Delete.</li>
<li>Made iOS Links history announce and display assigned entry names, and added its missing Edit and Pin or Unpin actions.</li>
<li>Added Save to Files and native Share choices when exporting a server connection on Android and iOS.</li>
<li>Added persistent screen-reader labels to the Name, Group, and Clipboard text fields in mobile Entry Properties.</li>
<li>Removed Clipman's redundant iOS clipboard confirmation so the system Paste from Other Apps preference is the single permission and prompt authority.</li>
<li>Fixed Android update checks so Clipman client releases remain discoverable when a newer Clipman Server or command-line release is listed on GitHub.</li>
</ul>
<h3>2.5.0</h3>
<ul>
<li>Simplified private-CA Clipman Server setup. New server connection files can carry the public authority, and current clients keep that trust inside Clipman and bind it to the reviewed HTTPS host instead of requiring a device-wide certificate installation. This closes <a href="https://github.com/OnjLouis/Clipman/issues/46">issue #46</a>.</li>
<li>Added device filtering alongside group filters, and added a desktop Device name preference for future clipboard entries without rewriting old history.</li>
<li>Made group names case-insensitive across clients, so capitalization differences no longer create duplicate filter choices. Group and device filters now keep names unprefixed and separate their sections for faster screen-reader navigation.</li>
<li>Aligned mobile screen-reader actions in the order Open when available, View, Edit, Pin or Unpin, then Delete, and made one-link text entries expose Open directly to VoiceOver.</li>
<li>Added consistent deletion confirmations. Mobile users can turn them off in Settings; desktop confirmation dialogs can remember not to ask again.</li>
<li>Completed native iOS Shortcuts and Siri integration for adding the current clipboard to Clipman and copying the latest entry, including Action Button support. This closes <a href="https://github.com/OnjLouis/Clipman/issues/44">issue #44</a>.</li>
<li>Fixed the iOS Home Screen long-press actions so Add Clipboard opens the real paste-permission flow and Copy Latest runs after history has loaded.</li>
<li>Added Windows clipboard flood protection. If an application starts changing the clipboard at an implausibly high rate, Clipman stops reading, storing, and sounding those rapid updates until the clipboard has been quiet briefly.</li>
<li>Fixed Windows playing the skip sound after successfully storing a file clipboard event.</li>
</ul>
<h3>2.4.1</h3>
<ul>
<li>Fixed Dynamic Mode on Windows, Mac and Linux so a newly accepted clipboard type selects the next history opening once. Manual section changes then remain selected until another new clipboard event arrives.</li>
<li>Fixed Android Settings losing unsaved changes when authentication was enabled and a folder picker or another deliberate Settings destination was opened.</li>
<li>Combined Android checkbox labels, states and controls into one TalkBack stop in Settings and Entry Properties.</li>
<li>Fixed the iOS encrypted-backup folder button so it reliably opens the Files folder picker.</li>
<li>Restored VoiceOver three-finger vertical page scrolling through iOS history while preserving left and right section switching.</li>
<li>Reduced foreground server polling on iOS and Android to lower battery and network use while keeping immediate refreshes for launches and local changes.</li>
</ul>
<h3>2.4.0</h3>
<ul>
<li>Added optional encrypted mobile history backup on Android and iOS. Choose a cloud or document-provider folder in Settings; Clipman writes history only and never includes server tokens, settings, or passwords. Restore merges entries and deletions instead of replacing newer history. Closes <a href="https://github.com/OnjLouis/Clipman/issues/34">issue #34</a>.</li>
<li>Added explicit accessibility names to Android Settings' Cancel and Save controls, and combined each Local/Server storage choice with its radio button for consistent one-swipe TalkBack navigation across devices. Closes <a href="https://github.com/OnjLouis/Clipman/issues/40">issue #40</a>.</li>
</ul>
<h3>2.3.2</h3>
<ul>
<li>Fixed synchronization of edits to existing history entries. Changed text, names, groups, pinned/template state and manual position now replace older copies on other devices while creation and last-used times continue to merge independently.</li>
<li>Kept the Mac history window responsive while Clipman Server is unavailable. Availability checks now run in the background, local changes wait safely for reconnection, and the skip sound plays once per outage rather than on every retry.</li>
<li>Prevented held Windows global hotkeys from repeating. Show/Hide History, Toggle Monitoring, Quick Paste and Secrets hotkeys now act once until the keys are released.</li>
<li>Added a Mac history status line showing the active section and visible entry count. It remains outside normal Tab navigation while staying available to VoiceOver navigation.</li>
</ul>
<h3>2.3.1 (iOS)</h3>
<ul>
<li>Added native iOS Shortcuts and Siri actions for adding the current clipboard to Clipman and copying the latest Clipman entry. The actions can be assigned to the iPhone Action Button, preserve available rich text, honour Clipman's authentication setting, and use the encrypted local cache when the server is unavailable.</li>
<li>Added matching <strong>Add Clipboard to Clipman</strong> and <strong>Copy Latest Clip</strong> commands to the Clipman Home Screen icon's long-press menu.</li>
<li>Prevented VoiceOver Magic Tap from opening an unusable paste confirmation when the clipboard has no pasteable text, and made VoiceOver scrub cancel the confirmation reliably.</li>
</ul>
<h3>2.3.0</h3>
<ul>
<li>Added optional Rich Text history on Windows, Mac, Linux, Android and iOS. Enable <strong>Preserve copied formatting and show Rich Text history</strong> to retain available formatting with a plain-text fallback, review it in a separate accessible section, and restore it to compatible applications. Android captures and restores HTML; Windows, Mac, Linux and iOS support HTML and RTF. Closes <a href="https://github.com/OnjLouis/Clipman/issues/43">issue #43</a>.</li>
<li>Added per-device history tab ordering on Windows, Mac and Linux. Move the focused tab left or right from the View menu or with the platform shortcut; Mac keeps focus on the moved tab, includes the selected tab in the normal Tab and Shift+Tab sequence, and updates its visible <code>Command+number</code> shortcuts to match.</li>
<li>Improved the Mac F4 text-review window so clip details remain visible and Tab or Shift+Tab moves reliably among the text, details and Close button.</li>
<li>Improved Windows settings saves on mapped WebDAV and other remote filesystems that do not support atomic file replacement. Clipman uses a verified backup-and-copy fallback when necessary, so hiding history and saving list position continue to work.</li>
<li>Fixed Windows history closing and actions when another process holds the machine settings file. Saving the current list position is now best effort, so Escape, Alt+F4, Close, copy, cut, and delete continue while the failed background save is recorded in diagnostics.</li>
</ul>
<h3>2.2.1</h3>
<ul>
<li>Added the accessible Linux desktop app, with Text, Links and File History, groups, templates, Quick Paste, per-device Secrets, privacy exclusions, import/export, automatic updates, encrypted offline reading, global shortcuts under X11, and a dedicated Linux manual.</li>
<li>Fixed Windows startup when another process temporarily holds the existing machine settings file. Clipman now retries the atomic replacement and can continue with readable existing settings instead of failing to start. This addresses <a href="https://github.com/OnjLouis/Clipman/issues/41">issue #41</a>.</li>
<li>Fixed Mac history-password changes so local text history, per-device File History, and Secrets are re-encrypted together without making an existing local database unreadable.</li>
</ul>
<h3>2.2.0</h3>
<ul>
<li>Added private Clipman Server connection-file export to Preferences or Settings on Windows, Mac, Android, and iOS, with a warning that the exported token must be stored and shared securely.</li>
<li>Renamed visible source attribution and sorting from Machine to Device across clients, while keeping the existing shared database format compatible.</li>
<li>Improved Android and iOS foreground synchronization: both show their encrypted local cache before contacting the server, use a fixed five-second check, fetch the database only when its revision changes, pause while Settings is open or the app is in the background, and back off repeated connection failures.</li>
<li>Added optional mobile tips. Android opens Clipman's donation page, while iOS uses Apple's in-app purchase flow. Tips do not unlock features or change Clipman's free functionality.</li>
<li>Cleaned abandoned Windows updater temporary folders after interrupted updates.</li>
</ul>
<h3>2.1.0</h3>
<ul>
<li>Required a nonblank history password for Clipman Server connections and prevented imported server files from starting synchronization before the connection is deliberately applied.</li>
<li>Added private-CA HTTPS setup for Clipman Server, including certificate creation and renewal on Linux, Windows, macOS, and Docker. This closes <a href="https://github.com/OnjLouis/Clipman/issues/35">issue #35</a>.</li>
<li>Added short-lived sharing of only the public server certificate authority over a trusted LAN or VPN, with a random port and path, fingerprint verification, and automatic shutdown after one download or ten minutes. This closes <a href="https://github.com/OnjLouis/Clipman/issues/36">issue #36</a>.</li>
<li>Added an opt-in Android and iOS setting to require biometric or device authentication whenever Clipman returns to the foreground.</li>
<li>Improved Windows and macOS server wrappers so an unexpected server-process exit is restarted automatically, with a clear error after repeated failures.</li>
<li>Added Android support for Clipman Servers secured by a user-installed private certificate authority.</li>
<li>Added Android update checks in Settings. Automatic checks run at most once per day while Clipman is open; downloads are verified before Android asks the user to approve installation.</li>
<li>Added safe Linux Server updates with staged installation, service health verification, automatic program rollback, and an optional daily systemd timer.</li>
<li>Improved Clipman Server compatibility with HTTPS reverse proxies and clients that use standard continue-before-upload handling.</li>
</ul>
<h3>2.0.9</h3>
<ul>
<li>Fixed Windows connections to HTTPS Clipman Servers, including reverse proxies using current Let's Encrypt certificates.</li>
<li>Added a portable Clipman Server connection file that can fill the server address and hidden token in Windows, Mac, Android and iOS without copying individual values. Android and iOS also register the file type so opening it can take you directly to Clipman's review-and-save flow. This implements the portable setup part of <a href="https://github.com/OnjLouis/Clipman/issues/34">issue #34</a>.</li>
<li>Added explicit VoiceOver labels and instructions to the iOS server address, server token, and history password fields.</li>
<li>The optional iOS launch clipboard offer now appears only when the pasteboard contains text, avoiding an empty Paste screen.</li>
</ul>
<h3>2.0.8</h3>
<ul>
<li>Fixed deliberately recreated or edited clipboard text disappearing when an older deletion marker existed for the same content. Stale copies of deleted entries remain suppressed, while a newer paste or edit is kept and synchronized normally.</li>
<li>Custom <code>clipman://</code> server addresses now appear consistently in Links history on Windows, Mac, Android, and iOS.</li>
</ul>
<h3>2.0.7</h3>
<ul>
<li>Added an opt-in preference that makes <code>Enter</code> on a Text or Links history entry copy it, close Clipman, return to the previously active application, and paste it there. The selected entry remains on the clipboard, and existing Enter behavior is unchanged when the preference is off.</li>
<li>Added an opt-in dynamic history mode that opens Text, Links, or Files according to the most recent clipboard event Clipman successfully accepted during the current run. Links fall back to Text when Links history is disabled.</li>
<li>Fixed the Mac paste-after-Enter behavior so Clipman reliably returns focus to the previous application and only sends the paste command when an editable text control is focused.</li>
</ul>
<h3>2.0.6</h3>
<ul>
<li>Android build 7 makes the status message a button that moves to the bottom of the current history list. The separate Top button remains available for quickly returning to the beginning.</li>
<li>Mac releases are now signed with a stable Apple Developer ID and notarized by Apple, so Keychain's <strong>Always Allow</strong> approval persists across updates and macOS can verify the downloaded app. Closes <a href="https://github.com/OnjLouis/Clipman/issues/31">issue #31</a>.</li>
<li>The Mac updater now verifies that an update is intact and signed by the expected Clipman developer before installing it.</li>
<li>Mac 2.0.6 is a one-time manual upgrade because the older updater cannot preserve the new Apple signature. Download the Mac ZIP, replace Clipman.app, then choose <strong>Always Allow</strong> at the final Keychain prompt. Automatic updates resume afterward.</li>
</ul>
<h3>2.0.5</h3>
<ul>
<li>Added Local and Server storage modes to Android and iOS. Local mode keeps history in private app storage; Server mode keeps an offline local cache and merges additions, edits, pins, and deletions when connectivity returns.</li>
<li>Server address, token, and history password settings are retained while a mobile client uses Local mode, so switching back to Server does not require reconfiguration.</li>
<li>Changed iOS clipboard import to use Apple's explicit paste control. The optional launch action now opens an accessible Paste or Cancel screen, and VoiceOver scrub cancels without reading or adding clipboard text.</li>
<li>Added an opt-in Android and iOS setting to add the current mobile clipboard text after Clipman unlocks and loads the selected history.</li>
<li>Changed Android and iOS to lock whenever Clipman leaves the foreground and require biometric or device authentication each time the user returns.</li>
<li>Improved Android Settings with the same top Cancel and Save layout used on iOS.</li>
<li>Fixed Android Settings closing unexpectedly when the first history refresh finished.</li>
<li>Changed Android Back in Settings to discard unsaved changes and return to history.</li>
<li>Added VoiceOver scrub support for cancelling iOS Settings without saving.</li>
<li>Fixed standalone links whose normalized URL spelling caused them to appear in iOS Text history.</li>
<li>Changed the iOS status line to move to the bottom of the current history list when activated, while the standard iOS status-bar gesture remains available for returning to the top.</li>
<li>Improved iOS paste feedback so denied clipboard access and existing history text are not reported as newly added text.</li>
<li>Added a shared Clipman app icon to Android and iOS.</li>
</ul>
<h3>2.0.4</h3>
<ul>
<li>Fixed custom data-folder changes so Windows and Mac keep the selected folder authoritative across restarts. If an operating-system-mounted WebDAV folder, cloud folder, network share, or settings file is unavailable at startup, Clipman now reports the problem instead of silently reverting to the default folder. Closes <a href="https://github.com/OnjLouis/Clipman/issues/30">issue #30</a>.</li>
<li>Improved Clipman Server write safety by serializing simultaneous uploads to the same database, rejecting stale concurrent revisions, and applying an adjustable database upload-size limit.</li>
<li>Improved iOS server refresh reliability by preventing overlapping background refreshes and bounding conflict retries when creating a server database.</li>
</ul>
<h3>2.0.3</h3>
<ul>
<li>Improved cross-device clipboard handoff so text copied on iPhone or iPad through Apple Universal Clipboard is not re-added by the Mac as a new local clipboard entry after it has already synced through Clipman.</li>
<li>The <code>F4</code> text review window now includes a separate Details list or table after the text, showing metadata such as source machine, added and last-used times, text length, link count, pinned/template state, and entry ID.</li>
<li>Fixed Windows history-password removal so choosing <strong>Use no password</strong> no longer causes Clipman to ask for the old history password again on restart. Closes <a href="https://github.com/OnjLouis/Clipman/issues/27">issue #27</a>.</li>
<li>Fixed Windows server-to-local storage switching so Clipman merges the current server cache into the selected local database instead of falling back to an older local database. Closes <a href="https://github.com/OnjLouis/Clipman/issues/28">issue #28</a>.</li>
</ul>
<h3>2.0.2</h3>
<ul>
<li>Fixed the Windows Preferences dialog so checking or unchecking Remember history password no longer applies expensive storage changes immediately, preventing another source of screen-reader and UI stalls. Closes <a href="https://github.com/OnjLouis/Clipman/issues/24">issue #24</a>.</li>
</ul>
<h3>2.0.1</h3>
<ul>
<li>Fixed the Windows Preferences dialog so changing Clipman Server storage fields no longer applies expensive storage changes while tabbing through the dialog, preventing several-second screen-reader and UI stalls. Closes <a href="https://github.com/OnjLouis/Clipman/issues/23">issue #23</a>.</li>
</ul>
<h3>2.0.0</h3>
<ul>
<li>Clipman 2.0 introduces optional Clipman Server support, letting Windows and Mac clients share text history through a self-hosted server instead of relying only on cloud-synced folders or network shares.</li>
<li>The separate Clipman Server package supports Linux, macOS, Windows, Raspberry Pi, and VPS use. It includes setup helpers, startup helpers, readable connection details, logs, manual backups, rolling hourly backups, and database maintenance tools.</li>
<li>Server storage is designed for shared clipboard history: it uses token authentication, password-scoped database buckets, encrypted history support, revision checks, merge-before-upload behavior, delete propagation, retry/backoff handling, and reduced duplicate writes to avoid unnecessary disk churn on small always-on hosts.</li>
<li>Clipman Server can be used on a private network, over VPN, or with HTTPS for public/VPS deployments. Server settings generate a random high port and bearer token on first run instead of using a predictable fixed port.</li>
<li>Windows and Mac clients can connect to Clipman Server from Preferences while keeping each computer's local settings and cache folder separate from the shared server database. Diagnostics show server sync status when troubleshooting is needed.</li>
<li>Saved Clipman Server tokens are hidden in Preferences and protected per user: Windows uses DPAPI and Mac uses Keychain.</li>
<li>Server addresses can be entered as plain <code>host:port</code>; Clipman saves private-network addresses as <code>clipman://host:port</code>. Public or VPS deployments should use HTTPS.</li>
<li>Added an optional Secrets area for short private snippets that are stored in per-machine encrypted secret databases, kept out of normal clipboard history, unlocked with the current history password, and optionally pasted with their own global hotkeys.</li>
<li>Changed the data-folder pointer to remember locations per computer name and merge cloud conflict copies, so machines with different local paths do not overwrite each other's selected data folder.</li>
<li>Text review and Entry Properties text fields now use URL/code-friendly word navigation. <code>Ctrl+Left</code>/<code>Ctrl+Right</code> on Windows and <code>Option+Left</code>/<code>Option+Right</code> on Mac stop at punctuation and symbol boundaries inside long links, paths, and tokens.</li>
</ul>
<h3>1.9.0</h3>
<ul>
<li>Added an optional Links history tab for clipboard entries where the whole text is a single <code>http</code> or <code>https</code> link. Links history is off by default, and links remain part of the normal shared text-history database. Closes <a href="https://github.com/OnjLouis/Clipman/issues/18">issue #18</a>.</li>
<li>When Links history is enabled, the history areas are Text, Links, then Files. When Links history is disabled, the history areas remain Text then Files, preserving the existing File history shortcut.</li>
<li>Improved history tab remembering so Clipman remembers Text, Links, or Files by name rather than by a raw tab number.</li>
<li>Adjusted sensitive-data exclusions so ordinary full web links with long tracking parameters or date-like path segments are not excluded as raw secrets.</li>
<li>Added an opt-in startup preference on Windows and Mac to add the current clipboard item to Clipman once when the app starts. It is off by default and still follows monitoring, ignored-application, privacy, and sensitive-data rules.</li>
<li>Windows now plays the normal copy sound when an entry is chosen from Clipman history, matching the Mac confirmation behavior.</li>
</ul>
<h3>1.8.2</h3>
<ul>
<li>Fixed the Windows Preferences duplicate-handling combo box so its choices read as “Move to top”, “Ignore”, and “Keep both”, and so Up/Down navigation visits each option normally. Closes <a href="https://github.com/OnjLouis/Clipman/issues/14">issue #14</a> and closes <a href="https://github.com/OnjLouis/Clipman/issues/15">issue #15</a>.</li>
<li>Fixed opening Preferences from the Windows notification-area menu so it no longer forces the hidden history window to appear behind Preferences. Closes <a href="https://github.com/OnjLouis/Clipman/issues/16">issue #16</a>.</li>
<li>Added an Open settings folder command to the Windows notification-area menu and Options menu, plus the Mac menu bar, status menu, and in-window Clipman menu. Closes <a href="https://github.com/OnjLouis/Clipman/issues/17">issue #17</a>.</li>
</ul>
<h3>1.8.1</h3>
<ul>
<li>Windows now honors clipboard privacy signals before automatic capture. Clipboard updates marked with <code>Clipboard Viewer Ignore</code>, <code>ExcludeClipboardContentFromMonitorProcessing</code>, <code>CanIncludeInClipboardHistory</code> set to zero, or <code>CanUploadToCloudClipboard</code> set to zero are excluded from Clipman's text and file history and play the exclude sound when sounds are enabled.</li>
</ul>
<h3>1.8.0</h3>
<ul>
<li>Added Sensitive Data preferences for automatic clipboard text capture. The new mode is off by default; when set to Exclude from history, checked presets are not stored in Clipman history and the system clipboard is left unchanged. Built-in presets include credit card numbers with Luhn validation, US Social Security numbers, international phone numbers, long API keys or tokens, software license keys, and approximate US driver-license shapes. Addresses <a href="https://github.com/OnjLouis/Clipman/issues/13">issue #13</a>.</li>
<li>Added <code>exclude.wav</code> as a dedicated sound for sensitive-data exclusions, with fallback to <code>skip.wav</code> when the custom or bundled exclude sound is missing.</li>
<li>Improved template entries with Insert sample and Insert field commands in Entry Properties on Windows and Mac. Sample templates include compact numeric dates, day-month-year dates, month-day-year dates, a Today sentence, and an operating-system version snippet.</li>
</ul>
<h3>1.7.2</h3>
<ul>
<li>Improved temporarily unavailable shared-folder handling. If a cloud folder, network share, or mounted NAS disappears during background clipboard capture, Clipman no longer shows blocking storage alerts or plays the success sound for a failed write. Mac pauses monitoring and offers Retry Storage from the status menu; Windows reports the unavailable storage in the notification-area menu and offers Retry storage.</li>
</ul>
<h3>1.7.1</h3>
<ul>
<li>Fixed importing encrypted <code>.clipdb</code> files into an unencrypted or empty Clipman session. Clipman now asks for the import file's history password instead of failing silently.</li>
<li>Added export password choices for <code>.clipdb</code> backups: use the current history password, set a new export-only password, or export without a password. When the current history is password protected, Clipman requires the current history password before creating any <code>.clipdb</code> export.</li>
<li>Fixed Mac <code>.clipdb</code> export filenames so the save dialog does not produce a duplicated <code>.clipdb.clipdb</code> extension.</li>
<li>Updated the manual and README wording so the Mac app is described as a full Clipman app and release asset.</li>
</ul>
<h3>1.7.0</h3>
<ul>
<li>Added template entries. Mark a text entry as a template in Entry Properties and Clipman resolves date, time, timezone, operating system, and username variables when the entry is copied or quick-pasted. Closes <a href="https://github.com/OnjLouis/Clipman/issues/12">issue #12</a>.</li>
<li>Added Windows template preview and variable-reference buttons to Entry Properties.</li>
<li>Added the shared <code>IsTemplate</code> text-entry field so Windows and Mac can keep template status in sync without changing the stored template text.</li>
</ul>
<h3>1.6.6</h3>
<ul>
<li>Relaxed global hotkey validation for compatibility: one-modifier hotkeys are now allowed for function keys and grave/backslash-style punctuation keys, while single-modifier letters, numbers, comma, and unsafe operating-system shortcuts remain blocked.</li>
<li>Added warnings when saving a single-modifier global hotkey so users know it may conflict with other apps or keyboard layouts.</li>
</ul>
<h3>1.6.5</h3>
<ul>
<li>Improved ignored-application matching so related helper windows and helper processes can be ignored when they use the same app name or bundle/process prefix.</li>
<li>Fixed Mac Preferences so standard edit shortcuts such as <code>Command+V</code> work in settings text fields.</li>
<li>Clarified Mac Preferences password status so users can tell whether the selected history database is encrypted and whether the password is saved in Keychain.</li>
<li>Added Push to other machines for selected text entries. This lets an existing history entry be sent as a fresh shared event so other opted-in machines can receive it on their clipboard.</li>
</ul>
<h3>1.6.4</h3>
<ul>
<li>Improved Windows updates so the factory <code>sounds</code> folder is updated file-by-file instead of being deleted and replaced as one folder. This should make updates less fragile in cloud-synced folders where OneDrive or another sync client may briefly lock the folder.</li>
</ul>
<h3>1.6.3</h3>
<ul>
<li>Improved Windows updates so Clipman no longer creates an empty app-root <code>Backups</code> folder when no user files need preserving.</li>
<li>Added runtime crash logging so silent exits can be diagnosed more easily. Windows writes beside the app in <code>Logs\Runtime.log</code>; Mac writes to Clipman's Application Support log folder.</li>
</ul>
<h3>1.6.2</h3>
<ul>
<li>Improved hotkey editing: hotkey fields can now be cleared with Delete or Backspace.</li>
<li>Improved Windows hotkey capture so Windows-key combinations can be assigned where Windows allows them.</li>
<li>Improved Windows hotkey field accessibility so screen readers no longer announce the fields as read-only.</li>
</ul>
<h3>1.6.1</h3>
<ul>
<li>Changed per-entry global hotkeys from Quick Copy to Quick Paste. Pressing an assigned hotkey can paste the entry into the active app, paste and leave the target on the clipboard, or copy the target to the clipboard only.</li>
<li>Added Quick Paste target discovery: Windows has a Quick Paste menu and Mac has a Quick Paste Targets submenu in the Clipman menu. Assigned targets also show their hotkey and mode in the row text.</li>
<li>Added a Windows Groups menu so group filters and their numbered shortcuts are discoverable from the menu bar.</li>
<li>Added the missing Play sounds preference to the Mac build.</li>
</ul>
<h3>1.6.0</h3>
<ul>
<li>Updated the Windows and Mac builds together so shared clipboard databases, Quick Paste, remote clipboard receive, pinned rows, file history, sounds, packaging, and updates follow the same 1.6.0 behavior.</li>
<li>Added per-entry global hotkeys for chosen text entries from Entry Properties.</li>
<li>Changed Entry Properties to use F2 as the single shortcut on Windows and Mac. Windows no longer uses Alt+Enter for this command.</li>
<li>Quick Paste assignments made from Entry Properties now take effect immediately when global hotkeys are added, changed, or cleared.</li>
<li>Fixed Windows Alt+number group-filter shortcuts so they jump to the selected group without also moving focus to the menu bar.</li>
<li>Added an opt-in setting to put newly created text entries received from another machine onto this machine's clipboard. The setting is off by default, baselines current history when enabled, and ignores older entries that are merely reused on another machine.</li>
<li>Improved cross-platform parity with the Mac build: Quick Paste and latest-remote-text behavior are stored in machine-specific settings, not in the shared clipboard database.</li>
<li>Updated Mac release packaging so macOS downloads use a versioned ZIP name while the app inside remains <code>Clipman.app</code>.</li>
</ul>
<h3>1.5.12</h3>
<ul>
<li>Changed history password remembering to be explicit and optional. Encrypted databases can now be unlocked for the current Clipman session without saving an unlockable password in settings.</li>
<li>Clarified the password security model in the manual: remembered passwords are protected for the current user and machine only when Remember is enabled, and same-user malware can potentially recover them.</li>
<li>Improved the Mac build so database password remembering follows the same explicit, optional model as Windows, using Keychain only when Remember is enabled.</li>
<li>Fixed Mac Preferences so the history location is presented as a Clipman data/settings folder rather than a direct <code>.clipdb</code> file path. Closes <a href="https://github.com/OnjLouis/Clipman/issues/5">issue #5</a>.</li>
<li>Improved Mac VoiceOver labels on the main History window controls so useful shortcut hints are announced without adding visible text.</li>
</ul>
<h3>1.5.11</h3>
<ul>
<li>Changed the sort direction command wording to clearer first-style labels, such as oldest first, newest first, A first, Z first, fewest files first, or most files first depending on the active sort field.</li>
<li>Changed database selection in Preferences to choose a Clipman data folder instead of an individual <code>.clipdb</code> file. Clipman derives <code>clipman-history.clipdb</code> inside that folder while keeping existing explicit file paths compatible.</li>
<li>Changed custom data folders to keep this machine's active settings beside <code>clipman-history.clipdb</code>, with a small pointer in the app's local <code>Settings</code> folder so shared or synced Clipman data stays self-contained.</li>
</ul>
<h3>1.5.10</h3>
<ul>
<li>Added File history sorting from the View menu. File history can now sort normal file events by time captured, file count, name, operation, source application, or manual order.</li>
<li>Added <code>Backspace</code> on the File history tab to jump to the first normal file event below pinned file events, matching Text history navigation.</li>
<li>Added Clean link for sharing with <code>Ctrl+Shift+S</code>. It removes tracking parameters and YouTube share-state parameters such as timestamps, so shared video links can open from the start instead of the copied playback position.</li>
<li>Improved File history restore so restored file events also place the file paths on the clipboard as text, and added <code>Ctrl+Shift+1</code> through <code>Ctrl+Shift+0</code> to copy pinned file-event paths as text.</li>
<li>Improved Application key menus so selected pinned text entries and file events show their matching copy shortcuts when they are in the first ten pinned items.</li>
</ul>
<h3>1.5.9</h3>
<ul>
<li>Fixed Text history delete selection when deleting the last visible row. Clipman now keeps focus near the deleted row instead of jumping back to the top pinned entry.</li>
<li>Fixed a Save list position off focus race where pressing an arrow key immediately after opening history could be undone by delayed or duplicate focus resets.</li>
</ul>
<h3>1.5.8</h3>
<ul>
<li>Improved File history parity with Text history: file events can now be pinned with <code>Shift+Enter</code>, moved with <code>Alt+Up</code> and <code>Alt+Down</code>, and restored from the first ten pinned file events with <code>Ctrl+1</code> through <code>Ctrl+0</code>.</li>
<li>Improved File history presentation and navigation: file and folder names now come first in each row, and File history supports buffered type-to-jump by full filename prefix.</li>
<li>Changed File history Go to file from <code>Shift+Enter</code> to <code>Ctrl+Enter</code> so <code>Shift+Enter</code> consistently means pin or unpin in both history tabs.</li>
<li>Improved File history cleanup so pinned file events are kept during delete, clear, unavailable-event cleanup, and size trimming.</li>
<li>Fixed Text history delete and cut selection handling so Save list position no longer pulls focus back to an older saved row after the list refreshes.</li>
</ul>
<h3>1.5.7</h3>
<ul>
<li>Fixed: With Save list position off, reopening Text history now resets the live selection instead of keeping the hidden window's previous selection.</li>
</ul>
<h3>1.5.6</h3>
<ul>
<li>Fixed: Save list position now updates when the history window is hidden, closed, or toggled away, not only when an entry is copied.</li>
<li>Fixed duplicate Preferences access keys so Play sounds and Save list position no longer share the same mnemonic.</li>
</ul>
<h3>1.5.5</h3>
<ul>
<li>Fixed: Save list position now only saves and restores list position when enabled.</li>
<li>Fixed: File history Preferences now apply immediately to the running Clipman instance.</li>
<li>Added File history Go to file with <code>Shift+Enter</code>, plus multi-selection support for restoring several file events or copying their paths in one operation.</li>
</ul>
<h3>1.5.4</h3>
<ul>
<li>Improved menu mnemonics so menu items have unique access keys wherever practical.</li>
<li>Moved sort choices into <strong>View, Sort by</strong>, matching the Explorer-style menu pattern and avoiding View menu key conflicts.</li>
<li>Added <code>Ctrl+I</code> for Import and <code>Ctrl+E</code> for Export.</li>
<li>Improved File history cleanup: <code>Alt+Del</code> now removes non-restorable non-file clipboard events as well as file events whose paths no longer exist.</li>
<li>Added File history preferences for automatic unavailable-event cleanup and a configurable diagnostics event limit.</li>
</ul>
<h3>1.5.3</h3>
<ul>
<li>Improved: The history window and Preferences window now include clean Close buttons that expose <code>Esc</code> to screen readers without adding shortcut text to the visible button labels.</li>
<li>Improved: Preferences now opens as an owned dialog instead of a separate Alt+Tab window, keeping it in the same Clipman context as the history window.</li>
<li>Added File history shortcuts: <code>Ctrl+Del</code> clears file history and <code>Alt+Del</code> removes unavailable events.</li>
</ul>
<h3>1.5.2</h3>
<ul>
<li>Added persistent machine-specific File history storage using the same history password as text history.</li>
<li>Added File history cleanup commands: delete selected events, clear file history, and remove unavailable events.</li>
<li>Added a File menu command to clear all saved text history, with confirmation and password re-entry when a history password is set.</li>
</ul>
<h3>1.5.1</h3>
<ul>
<li>Fixed: Bundled factory sounds are now replaced cleanly during updates instead of being backed up every time.</li>
<li>Improved: Stale update backups of bundled factory sounds are cleaned automatically.</li>
<li>Improved: Launching Clipman from a different folder now asks the already-running copy to close and lets the new folder take over. Launching the same folder still shows the existing history window.</li>
</ul>
<h3>1.5.0</h3>
<ul>
<li>Added portable database path handling: the default <code>Settings\clipman-history.clipdb</code> path now follows the app folder when Clipman is moved.</li>
<li>Added explicit database path tracking so shared or custom database locations remain fixed across app-folder moves.</li>
<li>Improved database browsing so choosing an existing <code>.clipdb</code> file no longer looks like an overwrite operation.</li>
<li>Improved startup recovery when an explicit database path is missing, with options to locate the database, use the default database, or stop startup.</li>
</ul>
<h3>1.1.4</h3>
<ul>
<li>Fixed: Restored standard Options menu mnemonic behavior so Alt+O behaves like the other top-level menu keys.</li>
</ul>
<h3>1.1.3</h3>
<ul>
<li>Fixed: Preferences now uses a stronger foreground activation path when opened from the Options menu, covering systems where the first activation request is ignored.</li>
<li>Improved: Options menu mnemonics use the standard Windows menu behavior so they land in the menu consistently with the other top-level menus.</li>
<li>Improved: File history now normalizes raw DropEffect text anywhere it appears, so values such as DropEffect 5 are shown as Copy or Link.</li>
</ul>
<h3>1.1.2</h3>
<ul>
<li>Fixed: Preferences now comes to the foreground when opened from the Options menu. Closes <a href="https://github.com/OnjLouis/Clipman/issues/1">issue #1</a>.</li>
<li>Reviewed: Alt+O uses the standard Windows menu mnemonic path. The reported routing problem was isolated to Windows 7. See <a href="https://github.com/OnjLouis/Clipman/issues/2">issue #2</a>.</li>
<li>Improved: File history now describes combined file clipboard operations such as Copy or Link instead of showing raw DropEffect numbers. Closes <a href="https://github.com/OnjLouis/Clipman/issues/3">issue #3</a>.</li>
<li>Improved: Shared database paths now handle missing files and temporarily unavailable folders more gracefully, with diagnostics explaining the storage state. Closes <a href="https://github.com/OnjLouis/Clipman/issues/4">issue #4</a>.</li>
</ul>
<h3>1.1.1</h3>
<ul>
<li>Added a View menu command to toggle the current Text history sort direction.</li>
<li>Improved Preferences window activation so it appears more reliably the first time it is opened after Clipman starts.</li>
</ul>
<h3>1.1</h3>
<ul>
<li>Initial public release of the rebuilt Clipman.</li>
<li>Portable clipboard history with searchable entries, pinned items, manual ordering, import/export, sounds, global hotkeys, and optional synced database location.</li>
<li>Added entry editing with <code>F2</code>, where names display before entries but are not copied with clipboard text, and stored clipboard text can be cleaned up in place.</li>
<li>Added Send To support for text-oriented files.</li>
<li>Added a running-process picker for ignored applications.</li>
<li>Added groups, group filtering, quick named lookup, text cleanup actions, first-ten pinned-entry copy keys, diagnostics copy support, and command-line pause/resume/toggle/add/import/export options.</li>
<li>Added machine attribution for text history entries, with a Machine column and machine sort mode for shared database setups.</li>
<li>Added a File history tab for recent file copy/cut events captured while Clipman is running, with Enter to restore those files to the Windows clipboard, Ctrl+C to copy paths, F4 for details, and a separate file-event context menu.</li>
<li>Uses a compressed <code>.clipdb</code> history database so the live clipboard history is not stored as plain searchable text.</li>
<li>Added optional password-based history database encryption, with remembered passwords available as a per-user convenience when explicitly enabled.</li>
<li>Added automatic cleanup for common sync-conflict copies of Clipman's settings and history database.</li>
<li>Added shared update-state detection so synced-folder instances can restart after another machine publishes a newer build.</li>
<li>Added cooperative shared-folder update handling so instances on other computers can close briefly while a network-shared executable is replaced, then restart from the updated copy.</li>
<li>Added GitHub project links, release history, an update checker, and a self-updater.</li>
<li>Added Windows startup registration, automatic update-check preferences, optional silent update installs, and quick Help shortcuts for update checks, the project page, and diagnostics.</li>
<li>Added per-user sound overrides from <code>Settings\sounds</code>, with fallback to the bundled default sounds.</li>
<li>Added Help menu Contact and Donate links. Clipman remains free software.</li>
</ul>
<h2 id="notes">Notes</h2>
<p>Clipman runs as a portable Windows app, a Mac menu bar app, or a per-user Linux desktop app. It stores device-specific settings separately from shared clipboard history, so several computers can share history without sharing hotkeys, startup choices, or local-only preferences.</p>
<h2 id="basic-use">Basic Use</h2>
<ul>
<li>Copy normally. Clipman stores text clips and separate file-history events while monitoring is on.</li>
<li>Open history, choose an item, and press <code>Enter</code> to put it back on the clipboard. An optional preference can also paste it into the application that was active before Clipman opened. Press <code>Esc</code> or close the window to hide history without quitting.</li>
<li>Use search, groups, pinned entries, sort order, and Entry Properties as your history grows. The detailed commands are in the Keyboard Shortcuts table.</li>
<li>Use template entries for reusable text that should resolve date, time, system, or username variables only when copied or pasted.</li>
<li>Turn monitoring off temporarily when copying text that should not enter history, add sensitive apps to the ignored applications list, or enable sensitive-data exclusions for known text patterns.</li>
<li>On Mac, the native menu bar provides File, Edit, Actions, Groups, Quick Paste, View, Window, and Help while a Clipman window is open.</li>
</ul>
<h2 id="keyboard-shortcuts">Keyboard Shortcuts</h2>
<p>Most commands are shared between Windows and Mac, but the modifier keys follow each platform's conventions. Windows uses <code>Ctrl</code>, <code>Alt</code>, <code>Shift</code>, and sometimes <code>Win</code>. Mac uses <code>Command</code>, <code>Option</code>, and <code>Control</code>. Global hotkeys can be changed in Preferences where supported. The Linux download includes a dedicated manual with its GTK and X11 shortcuts.</p>
<table>
<thead>
<tr>
<th>What it does</th>
<th>Windows shortcut</th>
<th>Mac shortcut</th>
</tr>
</thead>
<tbody>
<tr><td>Show or hide clipboard history</td><td><code>Ctrl+Alt+\</code></td><td><code>Option+Shift+`</code></td></tr>
<tr><td>Toggle monitoring on or off</td><td><code>Ctrl+Alt+`</code></td><td><code>Option+Shift+\</code></td></tr>
<tr><td>Save the current clipboard to history, even while monitoring is off</td><td>User-assigned in Preferences; unset by default</td><td>User-assigned in Preferences; unset by default</td></tr>
<tr><td>Open Quick Clip from any application</td><td>User-assigned in Preferences; unset by default</td><td>User-assigned in Preferences; unset by default</td></tr>
<tr><td>Paste an entry assigned to Quick Paste</td><td>User-assigned in Entry Properties</td><td>User-assigned in Entry Properties</td></tr>
<tr><td>Paste a saved secret</td><td>User-assigned in Secrets</td><td>User-assigned in Secrets</td></tr>
<tr><td>Open Secrets</td><td><code>Ctrl+Shift+E</code></td><td><code>Command+Shift+E</code></td></tr>
<tr><td>Switch to Text history</td><td><code>Ctrl+Tab</code>, <code>Ctrl+Shift+Tab</code>, or <code>Alt+T</code></td><td>The <code>Command+number</code> shown in the View menu</td></tr>
<tr><td>Switch to Links history</td><td><code>Ctrl+Tab</code>, <code>Ctrl+Shift+Tab</code>, or <code>Alt+L</code> when Links history is enabled</td><td>The <code>Command+number</code> shown in the View menu</td></tr>
<tr><td>Switch to Rich Text history</td><td><code>Ctrl+Tab</code>, <code>Ctrl+Shift+Tab</code>, or <code>Alt+R</code> when Rich Text history is enabled</td><td>The <code>Command+number</code> shown in the View menu</td></tr>
<tr><td>Switch to File history</td><td><code>Ctrl+Tab</code>, <code>Ctrl+Shift+Tab</code>, or <code>Alt+I</code></td><td>The <code>Command+number</code> shown in the View menu</td></tr>
<tr><td>Move the current history tab left or right</td><td><code>Alt+Left</code> or <code>Alt+Right</code></td><td><code>Option+Left</code> or <code>Option+Right</code></td></tr>
<tr><td>Open Preferences</td><td><code>Ctrl+,</code></td><td><code>Command+,</code></td></tr>
<tr><td>Open search</td><td><code>Ctrl+F</code></td><td><code>Command+F</code></td></tr>
<tr><td>Find next search result</td><td><code>F3</code></td><td><code>F3</code></td></tr>
<tr><td>Find previous search result</td><td><code>Shift+F3</code></td><td><code>Shift+F3</code></td></tr>
<tr><td>Move to the first visible history row</td><td><code>Home</code></td><td><code>Home</code></td></tr>
<tr><td>Move to the last visible history row</td><td><code>End</code></td><td><code>End</code></td></tr>
<tr><td>Move up by one visible page</td><td><code>Page Up</code></td><td><code>Page Up</code></td></tr>
<tr><td>Move down by one visible page</td><td><code>Page Down</code></td><td><code>Page Down</code></td></tr>
<tr><td>Jump to first normal item below pinned items</td><td><code>Backspace</code></td><td><code>Backspace</code></td></tr>
<tr><td>Help for the focused control</td><td><code>F1</code></td><td><code>F1</code></td></tr>
<tr><td>Check for updates</td><td><code>Shift+F1</code></td><td><code>Shift+F1</code></td></tr>
<tr><td>Open the project page</td><td><code>Ctrl+F1</code></td><td><code>Control+F1</code></td></tr>
<tr><td>Open diagnostics</td><td><code>Alt+F1</code></td><td><code>Option+F1</code></td></tr>
<tr><td>Close or hide the history window</td><td><code>Esc</code></td><td><code>Escape</code></td></tr>
<tr><td>Switch Preferences tabs</td><td><code>Ctrl+1</code> to <code>Ctrl+6</code></td><td>Tab control navigation</td></tr>
<tr><td>Copy selected text entry and close history; optionally paste into the previous application</td><td><code>Enter</code></td><td><code>Enter</code></td></tr>
<tr><td>Copy selected text entry without closing history</td><td><code>Ctrl+C</code></td><td><code>Command+C</code></td></tr>
<tr><td>Copy each selected entry's Name and resolved content, then close history</td><td><code>Ctrl+Enter</code></td><td><code>Command+Enter</code></td></tr>
<tr><td>Cut selected unpinned text entries</td><td><code>Ctrl+X</code></td><td><code>Command+X</code></td></tr>
<tr><td>Paste clipboard text into history</td><td><code>Ctrl+V</code></td><td><code>Command+V</code></td></tr>
<tr><td>Create a new entry with Quick Clip</td><td><code>Ctrl+N</code></td><td><code>Command+N</code></td></tr>
<tr><td>Save Entry Properties or Quick Clip</td><td><code>Ctrl+Enter</code> or <code>Alt+S</code></td><td><code>Command+Enter</code> or <code>Command+S</code></td></tr>
<tr><td>Save Preferences or Sync Rules</td><td>Use the named Save button</td><td><code>Command+S</code></td></tr>
<tr><td>Open the selected image or standalone website link; reveal a File History item; close History on success</td><td><code>Alt+Enter</code></td><td><code>Option+Enter</code></td></tr>
<tr><td>Push selected text entry to other synced devices</td><td><code>Ctrl+P</code></td><td><code>Command+P</code></td></tr>
<tr><td>Pin or unpin selected entry</td><td><code>Shift+Enter</code></td><td><code>Shift+Enter</code></td></tr>
<tr><td>Open Entry Properties</td><td><code>F2</code></td><td><code>F2</code></td></tr>
<tr><td>View selected text in a read-only window</td><td><code>F4</code></td><td><code>F4</code></td></tr>
<tr><td>Move by URL/code boundary in text review or Entry Properties text</td><td><code>Ctrl+Left</code> or <code>Ctrl+Right</code></td><td><code>Option+Left</code> or <code>Option+Right</code></td></tr>
<tr><td>Assign selected entries to a group</td><td><code>Ctrl+G</code></td><td><code>Command+G</code></td></tr>
<tr><td>Move focus to the group filter</td><td><code>Alt+G</code></td><td><code>Option+G</code></td></tr>
<tr><td>Jump to one of the first ten group filters</td><td><code>Alt+1</code> to <code>Alt+0</code></td><td><code>Option+1</code> to <code>Option+0</code></td></tr>
<tr><td>Copy one of the first ten pinned text entries</td><td><code>Ctrl+1</code> to <code>Ctrl+0</code></td><td><code>Control+1</code> to <code>Control+0</code></td></tr>
<tr><td>Move selected entries in manual order</td><td><code>Alt+Up</code> or <code>Alt+Down</code></td><td><code>Option+Up</code> or <code>Option+Down</code></td></tr>
<tr><td>Delete selected unpinned text entries</td><td><code>Del</code></td><td><code>Command+Backspace</code></td></tr>
<tr><td>Import clipboard entries</td><td><code>Ctrl+I</code></td><td><code>Command+I</code></td></tr>
<tr><td>Import and replace clipboard entries</td><td><code>Ctrl+Shift+I</code></td><td>Not available</td></tr>
<tr><td>Open settings folder</td><td><code>Ctrl+Shift+O</code></td><td>Use the Clipman status menu</td></tr>
<tr><td>Export clipboard entries</td><td><code>Ctrl+E</code></td><td><code>Command+E</code></td></tr>
<tr><td>Clean URL tracking from selected text</td><td><code>Ctrl+Shift+R</code></td><td><code>Command+Shift+R</code></td></tr>
<tr><td>Clean link for sharing</td><td><code>Ctrl+Shift+S</code></td><td><code>Command+Shift+S</code></td></tr>
<tr><td>Restore selected file-history event to the clipboard</td><td><code>Enter</code></td><td><code>Enter</code></td></tr>
<tr><td>Pin or unpin selected file-history event</td><td><code>Shift+Enter</code></td><td><code>Shift+Enter</code></td></tr>
<tr><td>Go to selected file or folder</td><td><code>Ctrl+Enter</code></td><td><code>Command+Enter</code></td></tr>
<tr><td>Remove selected unpinned file-history events</td><td><code>Del</code></td><td><code>Command+Backspace</code></td></tr>
<tr><td>Clear normal file history</td><td><code>Ctrl+Del</code></td><td><code>Control+Backspace</code></td></tr>
<tr><td>Remove unavailable unpinned file-history events</td><td><code>Alt+Del</code></td><td><code>Option+Backspace</code></td></tr>
<tr><td>Restore one of the first ten pinned file events</td><td><code>Ctrl+1</code> to <code>Ctrl+0</code></td><td><code>Control+1</code> to <code>Control+0</code></td></tr>
<tr><td>Copy paths from one of the first ten pinned file events</td><td><code>Ctrl+Shift+1</code> to <code>Ctrl+Shift+0</code></td><td><code>Command+C</code> after selecting the event</td></tr>
</tbody>
</table>
<h2 id="preferences">Preferences</h2>
<p>Open Preferences from <strong>Options, Preferences</strong> on Windows, from the Clipman status menu on Mac, or with <code>Ctrl+,</code> on Windows and <code>Command+,</code> on Mac. Preferences controls monitoring, sounds, hotkeys, storage, history password, ignored applications, optional Links and Rich Text history, startup, update checks, and shared-database behavior. In hotkey fields, press a valid shortcut to assign it, or press <code>Delete</code> or <code>Backspace</code> to clear it.</p>
<p><strong>After Enter, paste into the previous application</strong> is off by default. When enabled, pressing <code>Enter</code> on a Text, Links, or Rich Text history entry copies it, closes Clipman, returns to the application that was active before history opened, and sends the normal paste command. On Mac, macOS asks for permission before Clipman can send that command; allow Clipman to control the computer when prompted, then quit and reopen Clipman if the first paste is blocked. Clipman only sends the paste command when the destination has an editable text control in focus. The selected entry remains on the clipboard. This does not change double-click, Copy, pinned-number shortcuts, or File history.</p>
<p><strong>Open history to the most recent clipboard type</strong> is also off by default. When enabled, a newly accepted clipboard event selects Text, Links, Rich Text, or Files the next time history opens. That automatic selection is used once; afterward, a section you choose manually remains selected until another new clipboard event arrives. Ignored, excluded, or failed captures do not change the destination. If an optional history view is disabled, its entries open through their plain-text fallback in Text history.</p>
<p><strong>Quick Paste:</strong> Assign Quick Paste from Entry properties or the selected entry's menu. Each assignment is stored in this machine's settings, so several entries can have their own global hotkeys, and each computer can use different Quick Paste assignments even when several computers share the same clipboard database. Quick Paste still works while clipboard monitoring is off, because it is an explicit user command rather than automatic capture.</p>
<p><strong>Save Current Clipboard to History</strong> is another deliberate command that works while monitoring is off. Use it from the Clipman menu, or assign its optional global hotkey in Preferences. It reads the clipboard once and sends supported text, links, rich text, or files through normal duplicate, storage, and synchronization handling without turning monitoring on. Ignored-application and sensitive-pattern rules apply to automatic capture, so they do not block this explicit save; cooperative private-clipboard markers and concealed pasteboard data remain protected.</p>
<p><strong>Quick Clip</strong> creates a new saved entry without changing or reading the system clipboard. Press <code>Ctrl+N</code> on Windows or Linux, or <code>Command+N</code> on Mac, then enter the text and optional Name, Group, pin, or template setting. Enter adds a new line in the Clipboard text field; tab to Save when finished, press <code>Ctrl+Enter</code> on Windows or Linux, or press <code>Command+Enter</code> on Mac. Windows also accepts <code>Alt+S</code>, and Mac accepts <code>Command+S</code>. Desktop Preferences can assign an optional global Quick Clip hotkey so the editor can be opened from another application. On mobile, use the Quick Clip button beside Paste or long-press the Clipman launcher icon. iOS also offers Quick Clip through Siri, Shortcuts and the Action Button. Android and iOS retain an unfinished Quick Clip draft when you switch away or the operating system suspends Clipman; iOS also retains an unfinished edit to an existing entry. Save applies the draft, while Cancel deliberately discards it.</p>
<p>On Windows and Mac, the global Quick Clip hotkey toggles one unfinished editor: press it to hide the draft, then again to restore it. Repeated Quick Clip commands do not create overlapping drafts. Reopening History restores a hidden Quick Clip too. The unfinished desktop draft stays in memory while Clipman is running; Save commits it to history, while Cancel, Escape or quitting Clipman discards it.</p>
<p><strong>Open Image or Link</strong> opens exactly one selected standalone HTTP or HTTPS entry in the default browser with <code>Alt+Enter</code> on Windows or Linux, or <code>Option+Enter</code> on Mac. It also works when Links history is disabled and the standalone link appears in Text history. In Rich Text, a selected embedded image opens in its default app; in File History, the command reveals a selected file or folder without running it. History closes after a successful open and remains available if opening fails. Clipman does not launch ordinary prose containing a link or private <code>clipman://</code> configuration links through this command.</p>
<p>Each Quick Paste target has a mode. <strong>Paste and restore previous clipboard</strong> temporarily places the entry on the system clipboard, sends the normal paste command to the active app, and then restores the previous clipboard contents where possible. <strong>Paste and keep target on clipboard</strong> pastes the entry and leaves that entry on the clipboard. <strong>Copy to clipboard only</strong> places the entry on the clipboard without sending a paste command.</p>
<p>Use the <strong>Quick Paste</strong> menu on Windows or Mac to review all entries that currently have Quick Paste hotkeys. Choosing one of those menu items moves focus to the matching entry so you can press <code>F2</code> to edit or remove its Quick Paste assignment. Entries with Quick Paste targets include the assigned hotkey and mode in the row text; entries without Quick Paste targets do not carry that extra wording.</p>
<p><strong>Template entries:</strong> In Entry Properties, mark a text entry as a template when you want variables to resolve at copy or paste time. The stored text remains unchanged in the database, exports, search, and Entry Properties. Clipman resolves the template only when the entry is copied, quick-pasted, or automatically copied as a new remote entry.</p>
<p>Template variables include <code>{{year_full}}</code>, <code>{{year_short}}</code>, <code>{{month_name}}</code>, <code>{{month_name_full}}</code>, <code>{{month_name_short}}</code>, <code>{{month_num}}</code>, <code>{{month_num_padded}}</code>, <code>{{day_of_month}}</code>, <code>{{day_of_month_padded}}</code>, <code>{{day_name_full}}</code>, <code>{{day_name_short}}</code>, <code>{{hour_24}}</code>, <code>{{hour_24_padded}}</code>, <code>{{hour_12}}</code>, <code>{{hour_12_padded}}</code>, <code>{{minute}}</code>, <code>{{minute_padded}}</code>, <code>{{second}}</code>, <code>{{second_padded}}</code>, <code>{{utc_offset}}</code>, <code>{{time_zone}}</code>, <code>{{time_zone_short}}</code>, <code>{{os_name}}</code>, <code>{{os_version}}</code>, and <code>{{username}}</code>. Unknown variables are left alone.</p>
<p>Example templates: <code>{{year_full}}-{{month_num_padded}}-{{day_of_month_padded}}</code>, <code>Today is {{day_name_full}}, {{month_name_full}} {{day_of_month}}, {{year_full}}</code>, or <code>{{os_name}} version {{os_version}}</code>. Entry Properties includes buttons to insert sample templates, insert individual fields at the current cursor, preview the resolved template, and view the variable list. Built-in samples include <code>{{year_full}}/{{month_num_padded}}/{{day_of_month_padded}}</code>, <code>{{day_of_month_padded}} {{month_name_short}} {{year_full}}</code>, and <code>{{month_name_short}} {{day_of_month_padded}}, {{year_full}}</code>.</p>
<p><strong>Automatically group new clips by source application</strong> is enabled by default for new installs where the setting is exposed. It places newly captured clipboard text into a group named after the application Clipman believes supplied the clipboard text, such as Chrome, Thunderbird, Outlook, Safari, TextEdit, or Logic. Disable it if you prefer all new entries to start ungrouped.</p>
<p>Windows first asks for the clipboard owner application, then falls back to the foreground application if Windows does not expose a useful owner. Mac uses the foreground application reported by macOS when the clipboard change is captured. Some background hotkeys or automation tools may still be attributed to the foreground application because operating systems do not always preserve reliable source metadata.</p>
<p>Global hotkey fields accept combinations with modifiers and one real key, such as <code>Ctrl+Alt+\</code>, <code>Ctrl+Shift+H</code>, <code>Option+Shift+1</code>, or <code>Control+Option+F1</code>. Two modifiers are safest. For compatibility with existing clipboard-manager habits, Clipman also allows one modifier with function keys or with the grave/accent and backslash-style punctuation keys. Single-modifier letters, numbers, comma, space, Tab, Delete, Backspace, Escape, and reserved operating-system shortcuts are rejected. Clipman warns before saving a single-modifier global hotkey because it may conflict with another app or keyboard layout.</p>
<p><strong>Storage and Password:</strong> Choose the shared Clipman data folder, set or change the history password, choose whether this computer remembers the password, remove password encryption, and manage ignored applications. Clipman stores shared text history as <code>clipman-history.clipdb</code> inside the chosen folder.</p>
<p>The Remember history password on this computer checkbox controls convenience versus exposure. When unchecked, Clipman asks for the history password when it starts and keeps the password only for the current run. When checked, Windows stores an unlockable password protected by Windows for the current user and machine, including on Windows 7, and Mac stores it in that user's Keychain for the selected database path. That is convenient for automatic startup, but it cannot protect against malware already running as the same signed-in user. The Use no password button clears the saved history password, clears any session-only password, and rewrites the current database without password encryption. It exists because blank password fields mean "keep the current password"; the explicit button prevents accidental decryption when you only meant to change another setting.</p>
<p>On Windows, startup unlocking also covers the encrypted offline cache used in Server mode and encrypted local File History or Secrets. If Windows cannot recover a remembered password, Clipman asks for it again. An incorrect password entered in this prompt can be retried; Cancel stops startup without changing encrypted history or saved password preferences. Enter the existing history password rather than generating a replacement, so your clients continue using the same server history.</p>
<p><strong>Sensitive data:</strong> Sensitive-data exclusions are off by default and device-specific. When the mode is set to Exclude from history, Clipman checks automatic clipboard text capture against the presets you enable. Matching text is not stored in Clipman history, and the system clipboard is not changed, so your immediate paste still works. This filter does not apply to existing history, imports, Send To, Quick Paste, Push to other devices, or entries manually copied from Clipman.</p>
<p>The built-in presets include credit card numbers with Luhn validation, US Social Security numbers, international phone numbers, long API keys or tokens, software license keys, and approximate US driver-license shapes. International phone numbers include compact E.164-style numbers such as <code>+447890123456</code> and common spaced, dashed, dotted, or bracketed variants. Built-in presets are deliberately unchecked by default because pattern matching can have false positives.</p>
<h2 id="platform-notes">Platform Notes</h2>
<p>The same manual ships with the Windows and Mac builds. The app name, shared history format, sounds folder behavior, password model, and database sync model are intended to stay aligned across platforms.</p>
<p><strong>Windows:</strong> Clipman runs in the notification area and opens the history window with the configured global hotkey. Windows Preferences includes Send To integration, Windows startup registration, command-line import/export support, and Windows-protected password remembering when explicitly enabled.</p>
<p><strong>Mac:</strong> Clipman is packaged as a signed and notarized <code>Clipman.app</code> and runs as a menu bar app. After unzipping, move or drag <code>Clipman.app</code> to <code>/Applications</code>, then open it normally.</p>
<p><strong>Linux:</strong> Clipman is a GTK 4 desktop app that connects to Clipman Server and keeps an encrypted offline read cache. Its archive includes a per-user installer and a dedicated accessible manual covering desktop dependencies, X11 and Wayland differences, shortcuts, updates, File History, Secrets, and installed files.</p>
<p>The Mac status menu includes Show or Hide History, Toggle Monitoring, Secrets, Open Manual, Check for Updates, Version History, Project Page, Contact, Donate, Diagnostics, Preferences, About, and Quit. While a Clipman window is open, its native File, Edit, Actions, Groups, Quick Paste, View, Window, and Help menus provide history commands. In File History, Actions includes Clear Unpinned File History and Remove Unavailable File Events. Clearing asks for confirmation and does not delete files from disk. Mac Preferences uses Keychain only when password remembering is explicitly enabled.</p>
<p><strong>Mac VoiceOver notes:</strong> Clipman keeps its menu extra while running. Opening a Clipman window shows it in the Dock and Command-Tab with native menus; after the last window closes, it returns to menu-extra-only mode. Use the Show History global hotkey to bring the history window forward. If VoiceOver reports that the system has a new window but focus lands badly, press the Show History hotkey once to dismiss Clipman and press it again to reopen with a fresh focus attempt. In the history window, use the native menu bar for commands and <code>Command+F</code> for search. The View menu shows the current <code>Command+number</code> for each visible history area; those numbers update immediately when tabs are moved. The status line shows the active history area and visible entry count. It is not part of normal Tab navigation, but VoiceOver can reach it with VoiceOver navigation. Pressing <code>Enter</code> from search returns focus to the history list.</p>
<p>Mac global hotkeys are stored by physical key code so the displayed shortcut remains readable on different keyboard layouts. Default Mac global hotkeys avoid common VoiceOver conflicts, but they can be changed in Preferences.</p>
<h2 id="startup-state">Startup State</h2>
<p>Clipman remembers whether monitoring was on or off. When sounds are enabled, it plays the on or off sound at launch so you know the app is running and which state it restored.</p>
<p>Use <strong>Preferences, Startup and updates, Run Clipman at Windows startup</strong> on Windows or <strong>Run Clipman at login</strong> on Mac to start Clipman automatically when you sign in. Windows creates a per-user startup entry for the current <code>clipman.exe</code> path. Mac creates a per-user LaunchAgent for the current <code>Clipman.app</code>. Neither requires administrator permission.</p>
<p>Use <strong>Add current clipboard item to Clipman on start</strong> if you want Clipman to try to save whatever is already on the system clipboard when Clipman launches. This is off by default. When enabled, it still follows normal monitoring state, ignored-application rules, clipboard privacy signals where supported, concealed pasteboard handling where supported, and Sensitive Data preferences.</p>
<h2 id="pinned-entries">Pinned Entries</h2>
<p>Pinned entries are grouped at the top of the history list. A separator marks the start of normal entries. Pinned entries are numbered when they can be copied by shortcut, so the first pinned entry starts with 1, the second with 2, and so on through 0 for the tenth. Pinned state is still shown in the Pinned column or metadata, but not before the item text.</p>
<p>Pinned entries are protected from normal cleanup: Delete skips them, and history size or age limits do not remove them. Use <code>Shift+Enter</code> or the menu command to change the pinned state. Use the pinned-entry shortcuts in the Keyboard Shortcuts table to copy one of the first ten pinned entries and close history.</p>
<p>Deletion confirmation is enabled by default. Android and iOS provide a Settings toggle. Windows, Mac and Linux also let you turn future entry confirmations off from the first confirmation dialog; the preference can be restored later. Commands that clear an entire history area keep their separate stronger confirmation.</p>
<h2 id="entry-names-and-text">Entry Names and Text</h2>
<p>Use <code>F2</code> to open Entry Properties for the selected entry. You can add a short name or hint, assign a group, configure a Quick Paste hotkey, and edit the stored clipboard text itself. Enter adds a new line in the Clipboard text field; tab to Save when finished, press <code>Ctrl+Enter</code> on Windows or Linux, or press <code>Command+Enter</code> on Mac. Windows also accepts <code>Alt+S</code>, and Mac accepts <code>Command+S</code>. This is useful when a clip contains extra lines or unwanted surrounding text and you want to clean it without using another editor.</p>
<p>In Entry Properties and the <code>F4</code> text review window, word navigation is tuned for URLs and code-like strings. On Windows, <code>Ctrl+Left</code> and <code>Ctrl+Right</code> stop at punctuation and symbol boundaries such as slashes, question marks, ampersands, equals signs, dashes, and underscores. On Mac, use <code>Option+Left</code> and <code>Option+Right</code>. Add <code>Shift</code> on either platform to extend the selection.</p>
<p>The <code>F4</code> text review window shows the clipboard text first, followed by a separate Details list or table in tab order. Details include useful metadata such as name, group, source device, pinned/template state, added and last-used times, manual order where present, text length, link count, and entry ID.</p>
<p>For example, an entry containing <code>1234</code> can be shown as <code>Test: 1234</code>. The name is metadata only: copying, cutting, exporting to text, and viewing full text use the clipboard text without the name.</p>
<p>Type-to-jump navigation normally uses the original clipboard text. Links use their assigned name or readable offline label, and image entries use their assigned name or filename, so those filtered lists remain practical without listening to a URL or content fingerprint first. Search checks names, original text, readable link labels, destinations, and image filenames.</p>
<p>For quick named lookup, type a slash followed by the entry name prefix, such as <code>/Test</code>. Clipman jumps to the matching named entry when it is visible in the current group filter.</p>
<h2 id="links-history">Links History</h2>
<p>Links history is an optional view controlled by <strong>Show Links history tab</strong> in Preferences or Settings. When enabled, Clipman adds a separate Links history view for entries where the whole clipboard text is a single absolute <code>http</code>, <code>https</code>, or <code>clipman</code> URL. Prose that merely contains a link, multiline text, <code>mailto:</code>, <code>file:</code>, and other custom schemes remain in Text history.</p>
<p>Links are not stored in a separate database and are not removed from shared text history. The Links tab is a filtered view of the same entries, so copy, cut, paste after selected, grouping, pinning, Quick Paste, templates, search, sorting, cleanup actions, and sharing across machines work like Text history wherever applicable. If the Links tab is disabled, links simply appear in Text history as before.</p>
<p>Clipman gives unnamed links a readable label from the address itself, such as <strong>Issues 50; github.com/OnjLouis/Clipman/issues/50</strong>. This works immediately, including for existing history, and never contacts the website. An F2 name remains first and always takes precedence.</p>
<p>On Android and iOS, <strong>Copy link names by default</strong> in mobile Settings controls how an ordinary activation copies a named link. It is off by default, so activation copies the unchanged link and the entry menu or screen-reader actions offer <strong>Copy Name and Link</strong>. When enabled, activation places the saved Name on the first line and the link on the next line, while the alternative action becomes <strong>Copy Link</strong>. This avoids presenting a second action that merely repeats the default behaviour.</p>
<p>For an unnamed HTTP or HTTPS link, use <strong>Use website title as name</strong> from the entry menu when you deliberately want Clipman to contact that site once. Clipman explains that the website can see the request and asks before continuing. The desktop confirmation includes <strong>Do not show this again</strong>; restore it with <strong>Ask before contacting a website for its title</strong> in Preferences. Clipman sends the selected link request without cookies, credentials, or other clipboard content. A deliberate request may contact an otherwise safe public link even when its path or query contains tracking data or looks token-like, but Clipman still refuses embedded credentials, local or private destinations, non-standard ports, unsafe redirects and overlong addresses. Automatic title naming remains more conservative and does not contact capability-looking links. A useful returned title is stored in the ordinary Name field, where it is visible and editable in Entry Properties. If the site cannot be reached or does not return a usable web-page title, Clipman instead saves the same generic offline label already shown for the URL; this works for direct downloads and ordinary pages without relying on a list of file extensions. The exact URL is never replaced and remains available in F4, Entry Properties, and copy operations. Because this is an ordinary name rather than a separate preview file, it follows the entry to other synced clients.</p>
<p>Windows, Mac and Linux also offer <strong>Automatically name copied website links from page headings</strong>. This per-device option is off by default. When enabled, it considers only newly captured, unnamed, link-only public HTTP or HTTPS entries and processes them one at a time in a small background queue. It does not scan existing history, imports, synchronized entries, manually added exceptions, or any address that the manual command would refuse. Automatic lookups do not delay clipboard capture, change the clipboard, play another sound, or display a failure dialog.</p>
<p>On Windows, routine automatic-title failures are counted in Diagnostics for the current session instead of written to the runtime log. The summary retains only counts and a brief reason such as an HTTP status, not website addresses. Restarting Clipman clears these counters.</p>
<p>Enabling Links history adds its tab at the saved per-device position. On Mac, the View menu shows its current <code>Command+number</code> shortcut. On Windows and Linux, <code>Alt+L</code> always opens Links when enabled, <code>Alt+I</code> always opens File history, and <code>Ctrl+Tab</code> or <code>Ctrl+Shift+Tab</code> moves through the visible history areas in their current order.</p>
<h2 id="rich-text-history">Rich Text History</h2>
<p>Rich Text history is optional and off by default on Windows, Mac, Linux, Android and iOS. Enable <strong>Preserve copied formatting and show Rich Text history</strong> in Preferences or mobile Settings when you want Clipman to retain formatting supplied by applications such as browsers, word processors, email clients, and rich-text editors. Enable it before copying formatted content; entries captured earlier as plain text cannot have their original formatting reconstructed. Clipman stores bounded rich data alongside the normal plain-text fallback in the shared text-history database. The separate Rich Text section is an accessible filtered list, not a second database.</p>
<p>For example, enable the preference, copy a formatted heading or link from a browser, and then select that new entry in Rich Text History. Press <code>Enter</code> or Copy and paste into a word processor or another rich-text destination. Clipman puts the available plain and rich formats on the clipboard together, so the destination chooses the richest format it supports.</p>
<p>Pressing <code>Enter</code>, Copy, Quick Paste, or receiving a newly created remote rich-text entry can place the available formats on the clipboard together. Templates and copies that combine several entries remain plain text. F4 shows the normal text and entry details; Windows and Mac safely preview stored RTF, while Linux safely presents common stored HTML formatting. Clipman does not load stored HTML into an active browser or execute scripts, remote content, or embedded objects.</p>
<p>Formatting belongs to the exact stored text. Editing the text in Entry Properties or applying a text transformation clears the old rich payload so stale formatting cannot be attached to different content. If HTML exceeds 768 KiB, RTF exceeds 1 MiB, the combined payload exceeds 1.75 MiB, or a payload is invalid, Clipman keeps the plain text and discards the rich data. Diagnostics reports aggregate rich-entry counts and byte totals but never includes the formatted payload itself.</p>
<p>Android captures and restores HTML, the rich-text format supported by Android's standard text clipboard. It preserves RTF received from desktop or iOS clients but uses the plain-text fallback when an entry contains only RTF. iPhone and iPad capture and restore both HTML and RTF through Apple's explicit Paste control. On mobile, use the section-switch button or the screen-reader page gesture to move through Text, Rich Text and Links while the option is enabled.</p>
<p><strong>Include copied images in rich text history</strong> is a separate option beneath Rich Text history and is also off by default. When enabled, Clipman can store a standalone PNG or JPEG clipboard image inside the existing history database. On Android or iPhone, choose Clipman from the system Share sheet to add one selected photo directly; Clipman waits for the normal device unlock and history load before storing it. The Rich Text row announces its filename rather than a content fingerprint, F4 or View provides an accessible image preview and dimensions, and copying the entry restores a native image format alongside its plain-text fallback. On mobile, an image row also provides <strong>Save to Photos</strong> followed by <strong>Share</strong> after the standard entry actions in both TalkBack and VoiceOver. These image-only actions save the stored image to the device photo library or open the system Share sheet without changing the history entry. The stored image follows the same local, shared-folder, or Clipman Server storage path as the rest of the history; no sidecar image folder or server change is required. When editing an image entry's properties, its embedded content is read-only; use Name to change how the entry appears without risking its stored image.</p>
<p>On iPhone and Android, open an image entry with View to see its preview, then activate the image to view it at screen size. Close the large preview to return to the entry. Clipman keeps an original filename when the source supplies one; otherwise it uses a generic image name rather than guessing which app supplied it.</p>
<p>Image capture accepts at most 16 MiB, 16 megapixels, and 4096 pixels in either dimension. An image already within 512 KiB and 2048 pixels keeps its original PNG or JPEG bytes and metadata. Larger accepted images are reduced to at most 2048 pixels and 512 KiB, retaining a bounded amount of metadata where the platform supports it. Metadata can include camera or location information and follows the history's encryption and sync choices. Clipman refuses another locally captured image when embedded images already occupy 8 MiB of the current database. Concurrent additions from several syncing devices can take a merged history beyond that threshold; Clipman keeps those existing entries and refuses further image capture rather than silently deleting data.</p>
<p>On Windows, Mac and Linux, copying one embedded-image entry also supplies a temporary file representation without removing its native image or rich-text formats. Paste normally into Explorer, Finder, or a Linux file manager to create an image file named from the capture date and source device. Its file date is also set to the date the image was originally added to Clipman, which preserves useful archival ordering when an older image is restored later. Paste into a document or image editor to use the richest format that application supports. Clipman preserves the stored PNG or JPEG bytes where possible and clears its bounded temporary file cache automatically. This does not turn File History into arbitrary cross-device file transfer.</p>
<p>Copying a PNG or JPEG file in Explorer, Finder, or a Linux file manager normally records it in machine-local File History, like any other file. To share that image through Rich Text history as well, open Clipman, switch to Rich Text, select the position where it belongs, and press <code>Ctrl+V</code> on Windows or Linux or <code>Command+V</code> on Mac. Clipman accepts exactly one available PNG or JPEG file and applies the same image limits and metadata rules described above. Other files, folders, and multi-file selections remain File History only.</p>
<p><strong>Also add copied PNG and JPEG files to Rich Text history</strong> is a separate desktop preference and is off by default. When enabled, copying exactly one supported image file records the normal File History event and also adds the image to shared Rich Text history automatically. The Rich Text and image-history options must also be enabled. Leave this preference off when you want explicit Rich Text paste to be the only way copied image files are shared.</p>
<h2 id="groups">Groups</h2>
<p>Use <code>Ctrl+G</code> on Windows, <code>Command+G</code> on Mac, or the group command in the history window to assign selected entries to a group. Type a new group name, or choose an existing group from the list and press <code>Enter</code> or OK. Choose No group, or leave the group name blank, to remove the group. The Filter control can show all entries, pinned entries, named entries, ungrouped entries, one custom group, or entries attributed to one device. Filter choices keep their names short for fast typed navigation, with device choices presented separately from groups.</p>
<p>Group names are case-insensitive. For example, <strong>GitHub</strong>, <strong>Github</strong>, and <strong>github</strong> are treated as one group instead of three. When old entries contain several capitalizations, Clipman displays the spelling used most often; the newest spelling resolves a tie. Assigning an entry with different capitalization reuses that displayed spelling.</p>
<p>On Windows, the <strong>Groups</strong> menu lists the same filters as the Group field. The first ten filters show their <code>Alt+1</code> through <code>Alt+0</code> shortcuts in the menu; additional groups appear by name without a numbered shortcut. The top-level Groups menu deliberately does not use <code>Alt+G</code>, because <code>Alt+G</code> moves focus directly to the Group field.</p>
<p>Use <code>Alt+1</code> through <code>Alt+0</code> on Windows, or <code>Option+1</code> through <code>Option+0</code> on Mac, to jump to one of the first ten group filters. These follow the same order as the Group filter field: All, Pinned, Named, Ungrouped, then custom groups.</p>
<p>On Windows, the Group filter applies when you press <code>Enter</code> in the group field or move focus away from it. Arrowing through the group list does not immediately throw focus back to the history list. On Mac, open the group filter with <code>Option+G</code> or the toolbar Filter button, then choose the filter from the menu.</p>
<p>Each Clipman client includes a Device name setting for new clipboard events. Changing it does not rewrite old history or move machine-specific data; it only changes the device label recorded on future entries from that client.</p>
<h2 id="sorting-and-manual-order">Sorting and Manual Order</h2>
<p>The Text history list includes the entry text, name, group, device, added time, and last-used time. The Device column records the computer, phone, or tablet that added or most recently re-added the entry, which helps when several devices share the same database.</p>
<p>The View menu on Windows includes Text history, Links history, Rich Text history, and File history commands with <code>Alt+T</code>, <code>Alt+L</code>, <code>Alt+R</code>, and <code>Alt+I</code> where those areas are enabled. Linux provides the same four history commands and shortcuts. Focus a tab and move it with <code>Alt+Left</code> or <code>Alt+Right</code> on Windows and Linux, or <code>Option+Left</code> or <code>Option+Right</code> on Mac. Mac keeps keyboard focus on the moved tab instead of entering its history list. The selected Mac tab is part of the normal Tab and Shift+Tab sequence; use Left or Right Arrow while it is focused to switch history areas, then Tab onward to the history list. Tab order is stored for the current device. Disabled optional tabs keep their place and return there when enabled; moving a tab does not change the fixed named shortcuts on Windows or Linux, while Mac updates the visible <code>Command+number</code> shortcuts immediately. The View menu on Windows and Linux, and the View menu or Sort control on Mac, can sort normal Text, Links, or Rich Text history entries by last used, added date, text, group, device, or manual order. On File history, the same controls sort by time captured, file count, name, operation, source application, or manual order.</p>
<p>Sort direction labels describe the next result plainly, such as oldest first, newest first, A first, Z first, fewest files first, or most files first. Pinned entries and pinned file events stay above normal items and keep their own manual order. Move pinned and normal items separately.</p>
<p>Android and iOS can show normal entries in Manual, Newest first, Oldest first, or Text order. Choose the mode directly in mobile Settings, cycle it from the history controls, or long-press the status bar. VoiceOver and TalkBack also expose a named action for each mode. The choice is saved on that phone or tablet and changes only the displayed list; it does not rewrite shared history or disturb pinned-entry order.</p>
<h2 id="cut-copy-and-paste-inside-clipman">Cut, Copy, and Paste Inside Clipman</h2>
<p><code>Ctrl+C</code> and <code>Ctrl+X</code> on Windows, or <code>Command+C</code> and <code>Command+X</code> on Mac, put normal text on the system clipboard, so the text can be pasted into other applications. On Windows, Mac and Linux, General preferences can join multiple selected entries with no separator, one new line, one blank line, a space, comma and space, or a custom separator. Custom separators accept <code>\n</code>, <code>\r\n</code>, <code>\r</code>, and <code>\t</code>. Windows also stores a private clipboard format at the same time, so if multiple entries are copied or cut and then pasted back into Clipman with <code>Ctrl+V</code>, they return as separate history entries regardless of the visible separator.</p>
<h2 id="clipmerge">ClipMerge</h2>
<p>ClipMerge is an optional Windows, Mac and Linux feature for building one clipboard value while moving through a document or file list. It is off by default. Enable it in General preferences, copy the first text or file selection normally, then copy the next selection twice within the configured merge window. Clipman replaces the clipboard with the combined result and plays <code>merge.wav</code>. The default window is 500 milliseconds and can be set from 200 to 2000 milliseconds.</p>
<p>Text can be separated by one new line, one blank line, a space, comma and space, or a custom separator. Custom separators accept <code>\n</code>, <code>\r\n</code>, <code>\r</code>, and <code>\t</code>. Combining separately copied formatted selections safely produces plain text; Clipman does not splice unrelated HTML or RTF documents.</p>
<p>File merging removes duplicate paths. Copy operations merge normally. Cut operations merge only while every source path in both selections still exists; if an earlier cut has already been pasted or moved, Clipman keeps the newer valid cut and does not combine it with the dead path. Clipman also requires both quick copies to contain the same payload and come from the same source application. Rapid duplicate clipboard notifications generated by one application command are coalesced without another history write or sound. A different application, clipboard type, operation, expired interval, ignored application, sensitive-data exclusion, deliberate Save Current Clipboard command, or clipboard value written by Clipman resets the pending merge. These rules favour missing an uncertain merge over combining unrelated or private data.</p>
<p>The first copy is stored normally so ordinary copying is never delayed. When the second copy completes the gesture, Clipman updates an unpinned history entry and removes the temporary partial entry. A pinned base is never modified; the merged result uses an unpinned entry instead. Text results use the shared text database, while file results remain in machine-local File History.</p>
<h2 id="history-limits">History Limits</h2>
<p>Preferences can limit the maximum number of entries or maximum entry age. Use <code>0</code> for no limit. Pinned entries and named entries are kept even when limits are applied.</p>
<h2 id="actions">Actions</h2>
<p>On Windows, the Actions menu contains simple text cleanup tools for selected entries: copy as plain text, trim whitespace, convert to single line, remove blank lines, remove URL tracking, clean links for sharing, line endings, uppercase, lowercase, HTML encode, HTML decode, HTML to readable text, URL encode, and URL decode. The most common actions also have shortcuts: <code>Ctrl+Shift+C</code> for plain-text copy, <code>Ctrl+Shift+T</code> for trim, <code>Ctrl+Shift+L</code> for single line, <code>Ctrl+Shift+B</code> for remove blank lines, <code>Ctrl+Shift+R</code> for remove URL tracking, <code>Ctrl+Shift+S</code> for clean link for sharing, <code>Ctrl+Shift+H</code> for HTML to readable text, and <code>Ctrl+Shift+U</code> for URL encode. Transform actions update the stored entry and also put the transformed result on the Windows clipboard. Mac includes URL cleanup and line-ending actions in the Clipman menu; <code>Command+Shift+R</code> removes URL tracking and <code>Command+Shift+S</code> cleans links for sharing. These update the stored entry and put the transformed result on the Mac clipboard.</p>
<p>On Windows, <strong>Copy as plain text</strong> copies the selected entry using only the Windows plain-text clipboard format. It does not strip HTML tags from stored HTML source. Use <strong>HTML to readable text</strong> when you want Clipman to remove HTML tags and keep the readable text.</p>
<p>On Windows, Mac and Linux, <strong>Copy Name and Content</strong> puts each selected entry's non-empty Name on one line followed by its content. Template content resolves when copied. Multiple selected entries use the separator chosen in General preferences. The command closes history and follows the existing paste-after-Enter preference; in File History, the same shortcut remains <strong>Go to file</strong>.</p>
<p>Text transforms change the stored plain text and therefore clear any previous Rich Text formatting for that entry. Copy as plain text does not modify the stored entry.</p>
<p><strong>Remove URL tracking</strong> removes common tracking query parameters from web links, including <code>utm_*</code>, <code>fbclid</code>, <code>gclid</code>, <code>msclkid</code>, and similar marketing identifiers. It works on plain links and common HTML link attributes such as <code>href</code> and <code>src</code>. Automatic URL-tracking removal is opt-in from Preferences; when enabled, newly copied text is cleaned before Clipman stores it, and the cleaned text is placed on the Windows clipboard.</p>
<p><strong>Clean link for sharing</strong> removes tracking parameters and also removes share-state parameters that can change how a shared link opens. For YouTube links this includes timestamp parameters such as <code>t</code>, <code>start</code>, and <code>time_continue</code>, plus common share metadata such as <code>pp</code>, <code>si</code>, and <code>feature</code>. Use this when you want to share the clean video or page URL rather than a link that opens from the middle of a video.</p>
<p><strong>Line endings</strong> normalizes selected text entries to Windows <code>CRLF</code>, Unix <code>LF</code>, or old Mac <code>CR</code>. Use Windows <code>CRLF</code> when text copied from macOS, Linux, web tools, or scripts appears as one long line in an older Windows editor. This is an explicit action rather than an automatic default, because code, scripts, patches, and configuration files may need their original line endings preserved.</p>
<p><strong>URL encode</strong> is for text that needs to be safe inside a URL. For example, <code>Where's My Car?</code> becomes <code>Where%27s%20My%20Car%3F</code>. <strong>HTML encode</strong> is for text that needs to be safe inside HTML source, where characters such as ampersands and quotes may need to become HTML entities. Use URL encode for web links, query strings, podcast episode links, and similar copy/paste jobs.</p>
<h2 id="menus">Menus</h2>
<table>
<thead>
<tr>
<th>Menu</th>
<th>What it contains</th>
</tr>
</thead>
<tbody>
<tr>
<td>File</td>
<td>Import, import and replace, export, clear text history, close the history window, or exit Clipman completely.</td>
</tr>
<tr>
<td>Edit</td>
<td>Clipboard entry commands on Text history, including copy, cut, paste after selected, edit entry, group entry, properties, push to other devices, view full text, pin or unpin, delete, and search. On File history it changes to file-event commands: restore files to the clipboard, copy file paths, view event details, delete selected events, remove unavailable events, and clear file history. When a selected pinned text entry or file event is in the first ten pinned items, the menu also shows the relevant pinned shortcut.</td>
</tr>
<tr>
<td>Actions</td>
<td>Text cleanup and transformation commands for selected Text history entries, including plain-text copy, trim, single line, remove blank lines, remove URL tracking, clean link for sharing, line-ending normalization, uppercase, lowercase, HTML encode, HTML decode, HTML to readable text, URL encode, and URL decode.</td>
</tr>
<tr>
<td>View</td>
<td>Sort Text history or File history entries from the Sort by submenu, toggle the sort direction with plain first-style labels such as oldest first or A first, and move selected entries up or down in manual order. The sort fields change to match the active tab.</td>
</tr>
<tr>
<td>Options</td>
<td>Open Preferences or toggle clipboard monitoring on and off.</td>
</tr>
<tr>
<td>Help</td>
<td>Open the manual, check for updates, review version history, open the project page, contact the project, donate, show diagnostics, or view About Clipman.</td>
</tr>
</tbody>
</table>
<h2 id="sensitive-data">Sensitive Data Exclusions</h2>
<p>Sensitive-data exclusions live in Preferences. They are off by default. Set the mode to <strong>Exclude from history</strong>, then check the presets you want. When automatic clipboard text matches a checked preset, Clipman does not save that text to history. The system clipboard or Mac pasteboard is not changed, so your immediate paste still works.</p>
<p>This feature is deliberately conservative. It applies only to automatic text capture. It does not filter existing history, imports, Send To, Quick Paste, Push to other devices, or entries manually copied from Clipman. Presets can have false positives, so enable only the ones that fit the work you do.</p>
<table>
<thead>
<tr><th>Preset</th><th>What it looks for</th><th>Notes</th></tr>
</thead>
<tbody>
<tr><td>Credit card number</td><td>13 to 19 digits, with optional spaces or dashes</td><td>Uses a Luhn checksum, so random 16-digit numbers usually do not match.</td></tr>
<tr><td>US Social Security number</td><td>Three digits, two digits, four digits</td><td>Can match dashed, spaced, or run-together forms.</td></tr>
<tr><td>International phone number</td><td>A plus sign followed by 8 to 15 digits, allowing common separators</td><td>Examples include compact E.164-style numbers such as <code>+447890123456</code>.</td></tr>
<tr><td>Long API key or token</td><td>A run of 32 or more letters and numbers</td><td>Useful for many raw tokens. Complete <code>http</code> and <code>https</code> URLs are not excluded by any sensitive-data preset, so ordinary shopping/search/archive links with long tracking parameters or date-like path segments can still be saved as links.</td></tr>
<tr><td>Software license key</td><td>Five groups of five letters or numbers separated by hyphens</td><td>Covers common Windows-style product keys and similar software serials. Clipman checks the shape only; it does not validate vendor-specific keys.</td></tr>
<tr><td>US driver license, approximate</td><td>One letter followed by 6 to 13 digits</td><td>Approximate because US license formats vary by state.</td></tr>
</tbody>
</table>
<p>Use these harmless test values to check that a preset is enabled and that the exclude sound plays. Copying one of these from the button should trigger <code>exclude.wav</code> when that preset is checked and sounds are enabled. If the browser or reader blocks clipboard buttons, select the text manually and copy it.</p>
<div class="copy-test"><code>4111111111111111</code><button type="button" data-copy-test="4111111111111111">Copy credit-card test number</button></div>
<div class="copy-test"><code>+447890123456</code><button type="button" data-copy-test="+447890123456">Copy international phone test number</button></div>
<div class="copy-test"><code>AAAAA-BBBBB-CCCCC-DDDDD-EEEEE</code><button type="button" data-copy-test="AAAAA-BBBBB-CCCCC-DDDDD-EEEEE">Copy software license key test</button></div>
<div class="copy-test"><code>0123456789ABCDEF0123456789ABCDEF</code><button type="button" data-copy-test="0123456789ABCDEF0123456789ABCDEF">Copy API-token test string</button></div>
<p>The credit-card test number is a common non-real test value that passes the Luhn checksum. It is useful precisely because Clipman should exclude it while ignoring most random 16-digit strings.</p>
<h2 id="clipboard-privacy-signals">Clipboard Privacy Signals</h2>
<p>On Windows, Clipman also honors standard clipboard privacy signals added by the application that placed data on the clipboard. If a clipboard update contains <code>Clipboard Viewer Ignore</code>, <code>ExcludeClipboardContentFromMonitorProcessing</code>, <code>CanIncludeInClipboardHistory</code> set to zero, or <code>CanUploadToCloudClipboard</code> set to zero, Clipman treats that update as private, plays <code>exclude.wav</code> when sounds are enabled, and stores nothing in text history or file history.</p>
<p>This helps with password managers and secure-copy workflows that mark their own clipboard data as not suitable for history or sync. It is still cooperative: if Chrome, a webpage, a password manager, or another app puts only ordinary text on the clipboard with no privacy format, Clipman cannot reliably tell whether that text came from a password field or a normal webpage. Use ignored applications and Sensitive Data Exclusions for cases where the source app does not mark private clipboard updates itself.</p>
<h2 id="ignored-applications">Ignored Applications</h2>
<p>Preferences can list applications that Clipman should ignore, one per line. This is useful for password managers, banking tools, private notes, or any app where clipboard history should not be recorded.</p>
<p>On Windows, enter process names with or without <code>.exe</code>, or use <strong>Add running app</strong> to choose from currently running processes. On Mac, enter the app name, bundle identifier, or executable name, such as <code>Safari</code>, <code>com.apple.TextEdit</code>, or <code>KeePassXC</code>. Ignored applications are machine-specific settings. Clipman also treats related helper names as ignored when they use the same name or bundle/process prefix. On Mac, Clipman also refuses concealed pasteboard data and can use pasteboard type metadata from password-manager quick-access panels where macOS does not report the password manager as the foreground app.</p>
<p>Ignored applications and sensitive-data exclusions solve different problems. Ignored applications are best when an entire app should never be captured. Sensitive-data exclusions are best when ordinary apps sometimes copy text matching a known sensitive pattern.</p>
<h2 id="database-and-sync">Database and Sync</h2>
<p>Clipman supports three storage approaches. <strong>Local storage</strong> keeps history on one device. <strong>Shared-folder storage</strong> lets Windows and Mac use a folder provided by a cloud-sync service, network share, or filesystem mount, and lets Android, iPhone, and iPad use a folder selected through the operating system's file picker. iOS Files can expose iCloud Drive, supported third-party providers, and configured network locations; Android's picker can expose on-device and supported provider folders. Clipman receives only access to the folder you choose and does not need the provider account. <strong>Clipman Server</strong> lets Windows, Mac, Linux, Android, and iOS clients synchronize through a separately hosted server while retaining a local cache. Clipman does not contain a WebDAV client and cannot connect directly to a WebDAV URL; WebDAV works only when the operating system or another tool has already exposed or mounted it as a normal folder.</p>
<p>On Windows, Clipman defaults to a portable <code>Settings</code> folder beside <code>clipman.exe</code>. On Mac, Clipman stores a small pointer under Application Support and keeps the active machine settings in the selected Clipman data folder. Settings are machine-specific and use the computer name, such as <code>Settings\Desktop-settings.json</code>, <code>Settings\Laptop-settings.json</code>, or <code>MacBook-settings.json</code>. This lets multiple computers share one data folder without fighting over hotkeys, monitoring state, startup choices, or window position. The shared text history database is <code>clipman-history.clipdb</code>.</p>
<p>If you choose a different data folder, Clipman stores this machine's active settings in that folder beside <code>clipman-history.clipdb</code> and the machine-specific file-history database. A small <code>settings-location.json</code> pointer remains in the app's local <code>Settings</code> folder so Clipman can find the selected data folder on the next launch. That pointer stores locations per computer name, so two machines using different local paths to reach the same cloud or network data folder do not overwrite each other's location. If a cloud service creates a conflict copy of the pointer, Clipman merges the known clients back into one pointer file. If the selected folder is unavailable when Clipman starts, Clipman reports that location and stops rather than silently switching to the default folder; reconnect the drive, cloud service, mounted filesystem, or network share and start Clipman again.</p>
<p>If the default data folder is in use, Clipman treats it as portable and relocates it when the app folder is moved. If you choose or type a different data folder, Clipman stores the shared history as <code>clipman-history.clipdb</code> inside that folder. Existing explicit <code>.clipdb</code> file paths remain readable for compatibility. If an explicit data location is missing at startup, Clipman asks whether to browse for the data folder in a new location, use the default database beside Clipman, or stop startup.</p>
<p>The live history database uses Clipman's compressed <code>.clipdb</code> format. By default, compression keeps clipboard text out of casual plain-text searches by Windows Search, Spotlight, cloud sync indexers, archive tools, or similar tools. To share clipboard history between machines, set each machine's data folder to the same synced or network-shared folder. Clipman uses the <code>clipman-history.clipdb</code> file inside that folder for shared text history.</p>
<p>On Windows, you can paste a data folder copied from Explorer using <strong>Copy as path</strong>, including the surrounding quotation marks. If a previously saved custom folder is visible but this computer's settings file has not synced, Clipman stops without replacing it with defaults. Let the folder finish syncing or restore the settings file before relaunching. The history password is remembered only when <strong>Remember history password on this computer</strong> is checked.</p>
<p>Multiple running Clipman instances can use the same history database. When one device writes a new entry, the database is saved atomically and the other devices reload it when the changed file arrives. Each text entry stores the device name that added or most recently re-added it, and the history list includes a Device column and device sort mode so shared setups can tell which computer, phone, or tablet supplied an entry.</p>
<p>Preferences can optionally put newly created text entries received from another device onto this device's clipboard. On Windows, the same option also puts successful Send To and <code>--add</code> additions onto the originating computer's clipboard. This is off by default. When enabled, Clipman baselines the current newest remote entry first, so enabling the option does not unexpectedly copy older history. Reusing an older entry with Quick Paste on another device updates that entry's last-used time, but it does not trigger remote auto-copy because it is not a newly created entry. To intentionally send an existing selected entry to other devices, use <strong>Push to other devices</strong> from the entry menu, or press <code>Ctrl+P</code> on Windows and <code>Command+P</code> on Mac. This creates a fresh shared-history event from the selected text so other opted-in devices can receive it as the latest remote text. When duplicate removal is enabled, Clipman refreshes the selected entry instead of leaving an extra duplicate behind. This preference is device-specific and does not change the shared database format.</p>
<p>If the shared database file is missing but its folder is available, Clipman starts with an empty history and creates the file when it next saves. If the shared folder or drive is temporarily unavailable, Clipman keeps running, reports the storage problem, and avoids crashing. Background clipboard captures do not display blocking error dialogs while storage is missing. On Mac, Clipman pauses monitoring and adds a Retry Storage command to the status menu until the data folder returns. On Windows, the notification-area menu and tooltip report that storage is unavailable and offer Retry storage. On Android and iOS, the encrypted local cache remains usable and changes retry while Clipman is open. When the location becomes available again, Clipman merges the existing database and recognised provider conflict copies before saving so it does not blindly overwrite shared history.</p>
<p><strong>History password:</strong> Preferences can encrypt the shared history database with a password. On Windows and Mac, local or shared-folder storage may use compressed <code>.clipdb</code> storage without password encryption. Android and iOS Shared Folder sync and Clipman Server require a nonblank password before the mode can be applied. If you enter and confirm a history password, the database is encrypted with AES and checked with a message authentication code before loading. The password is not stored inside the shared <code>.clipdb</code> file.</p>
<p>New settings do not remember the history password by default. In that mode, Clipman prompts for the password when it starts, keeps it only while Clipman is running, and clears any saved platform password. If you check Remember history password on this computer, Windows stores the password using Windows user protection for this account and machine, including on Windows 7, and Mac stores it in that user's Keychain for the selected database path. On Mac, Preferences reports whether database encryption is on and whether the password is saved in Keychain; the password field stays blank for security even when a remembered password exists. Copying a settings file to another computer does not copy a working key; that computer must be given the same history password through its own Preferences window. Remembered passwords are still recoverable by software already running as the same signed-in user, so leave Remember unchecked if you prefer startup prompts over same-user recoverability.</p>
<p>The Generate password button, where available, creates a random history password, fills both password fields, and copies it to the clipboard. Clipman deliberately ignores that generated password copy, so it is not added to clipboard history. You are responsible for saving that password somewhere safe and entering it on each computer that shares the encrypted history. If the password is lost, Clipman cannot recover the encrypted history.</p>
<p>When typing a history password manually, enter it in both password fields. The Show history password checkbox temporarily reveals both fields so you can verify what you typed. Leave both password fields blank to keep the current encrypted database password. Use the Use no password button if you want to remove password encryption and rewrite the current database without a history password. Windows command-line import, export, and Send To operations can open encrypted databases only when this computer is set to remember the password; the already-running Clipman window can use a session-only password.</p>
<p>If a sync service creates conflict copies of Clipman's settings or history database, Clipman attempts to tidy them automatically when it next loads the affected file. History database conflicts are merged by entry, then the conflict copies are removed. Machine settings conflicts use the newest copy for that machine, then remove the extra files. This is intended only for Clipman's own settings and <code>.clipdb</code> files.</p>
<p>When Windows uses the install-local <code>Settings</code> folder beside <code>clipman.exe</code>, Clipman writes a small shared update-state file there. It records the current public version, an internal UTC build stamp, the machine that published it, and the expected executable hash. If another running Clipman instance from that same shared installation sees a newer build stamp and the updated executable has synced to that machine, it restarts itself so it runs the current copy. A custom data folder elsewhere may still share history and settings, but it does not coordinate executable replacement; each separately installed Clipman updates normally without being stopped by another machine's build marker.</p>
<p>During an online or automatic update, Clipman downloads the release ZIP to a temporary folder, asks other instances running from the same install-local shared folder to close briefly, replaces the app files while preserving <code>Settings</code>, then starts the updated copy. When the new copy starts it publishes the new shared update state, so other computers using that same shared installation can restart after their cloud service or network share exposes the updated executable. Separately installed clients that share only a custom data folder remain running and use their own updater.</p>
<h2 id="iphone-ipad-setup">iPhone and iPad Setup</h2>
<h3>Allow clipboard access without repeated prompts</h3>
<p>Apple controls access to content copied in another app. To let Clipman read it without asking each time, open the iOS <strong>Settings</strong> app, select <strong>Apps</strong>, <strong>Clipman</strong>, <strong>Paste from Other Apps</strong>, then <strong>Allow</strong>. Select <strong>Ask</strong> if you prefer an iOS confirmation each time, or <strong>Deny</strong> to block access. Clipman follows this system choice and does not add a second paste-confirmation dialog.</p>
<h3>Share history through iCloud Drive or Files</h3>
<ol>
<li>Create a dedicated folder such as <strong>Clipman Shared</strong> in iCloud Drive, or in another location that the Files app exposes with persistent read and write access. If iCloud Drive is not available in Files, enable <strong>Sync this iPhone</strong> or <strong>Sync this iPad</strong> under your Apple Account's iCloud Drive settings first.</li>
<li>In Clipman, open <strong>Settings</strong>. Under <strong>History storage</strong>, set <strong>Storage mode</strong> to <strong>Shared Folder</strong>.</li>
<li>Enter a nonblank <strong>Shared history password</strong>, select <strong>Shared folder</strong>, then choose the dedicated folder itself.</li>
<li>Select <strong>Save</strong>. Configure every participating device with the same folder and exactly the same history password.</li>
<li>Keep Clipman in the foreground until its status confirms synchronization. iOS controls when a document provider transfers files, so the first synchronization can take longer than Clipman Server or a local network share.</li>
</ol>
<p><strong>Shared Folder</strong> is live two-way synchronization. <strong>Encrypted history backup</strong> is a separate one-way recovery file and does not keep devices synchronized. Export a backup before joining an existing history, keep the history password in a password manager outside the shared folder, and do not manually edit, rename, or delete Clipman's <code>.clipdb</code>, revision, channel, or conflict files. Clipman cannot recover an encrypted history if its password is lost.</p>
<p>iCloud Drive is the simplest choice between iPhone, iPad, Mac, and Windows. Other providers and configured network locations can work when they appear in Files and grant persistent folder access, but their availability and transfer timing are controlled by the provider. Use Clipman Server when you need more predictable cross-platform synchronization or do not want to depend on a document provider.</p>
<h3>Use the same iCloud folder on Windows</h3>
<ol>
<li>Follow <a href="https://support.apple.com/en-gb/118443">Apple's iCloud Drive setup guide</a> to install iCloud for Windows from the Microsoft Store, sign in to the same Apple Account, and enable iCloud Drive.</li>
<li>In File Explorer, open iCloud Drive and locate the same dedicated folder selected on the iPhone or iPad. Use iCloud's <strong>Always keep on this device</strong> command for that folder so Clipman's database remains locally available.</li>
<li>In Clipman for Windows, open <strong>Preferences</strong>. Set <strong>Storage type</strong> to <strong>Local or shared folder</strong>, then set <strong>Data folder</strong> to that folder. Select the folder, not an individual <code>.clipdb</code> file.</li>
<li>Enter and confirm the same history password, save Preferences, and allow iCloud Drive to finish transferring changes before expecting another client to show them.</li>
</ol>
<h3>If a server works on desktop but not on iPhone</h3>
<p>A public Clipman Server must use HTTPS with a complete, currently valid certificate chain. Enter the host name covered by the certificate; replacing that host name with its numeric IP address fails certificate-name validation. A normal public certificate such as Let's Encrypt does not need a custom authority in Clipman. For a private certificate authority, import the current <code>.clpconf</code> connection file so Clipman can trust that authority only for its configured server host. Confirm that the saved address uses <code>https://</code>, the certificate covers that exact host, and any reverse proxy supplies the intermediate certificates before investigating the history password or token.</p>
<h2 id="sync-rules-and-channels">Sync Rules and Channels</h2>
<p>Sync rules are an optional way to split shared history into named <strong>sync channels</strong> so a device downloads and uploads only the channels it wants instead of the entire database. Sync rules are off by default. While they are off, and for any entry no channel claims, history works exactly as described in <a href="#database-and-sync">Database and Sync</a>: everything lives together in the <strong>core</strong> channel, which is the existing shared history database. Turning sync rules on does not move anything by itself; an entry only moves once a routing rule is set up to claim it.</p>
<p>Each channel has a routing rule made of one or more conditions: a group, one or more source devices, or rich-text entries that contain an embedded image. When a rule combines more than one kind of condition, an entry must match all of them to route to that channel. Channels are checked in the order they are listed, and an entry goes into the first channel whose rule matches it. An entry that matches no channel's rule stays in core.</p>
<p>Every named device also has its own list of subscribed channels; core is always included and cannot be removed from a device's subscription. An updated device that sync rules do not mention initially subscribes to everything and adds itself to the device list after a successful sync. Older Clipman versions do not understand channel buckets and continue to synchronize core only. Subscriptions only control what that one updated device downloads and displays; they do not affect what other devices see.</p>
<p>Sync channels are an organization and transfer-size feature, not an access-control boundary. Every client configured with the same server token and history password can change its subscription and decrypt any of those channels. Use a separate server token and history password when devices or people must not have access to one another's history.</p>
<p>Edit sync rules from the Sync rules dialog in Windows Preferences, from the Preferences window on Mac, or from the settings dialog on Linux. The Clipman CLI offers the same editing through <code>clipman-cli rules show</code>, <code>rules enable</code>, <code>rules disable</code>, <code>rules channel add</code>, <code>rules channel remove</code>, and <code>rules device set</code>. Android and iOS Settings can view the current channels and rules and change which channels this device subscribes to; adding, removing, or changing a channel's rule remains a desktop or CLI task.</p>
<p>If a device captures an entry that routes to a channel it does not itself subscribe to, Clipman still delivers that entry to the channel so your other devices receive it. The entry does not appear in this device's own history, and Clipman announces the delivery once, in the wording <code>Added to <channel name> for your other devices.</code> If the device is offline at that moment, the delivery is held locally and retried automatically after the next successful sync.</p>
<p>Enable sync rules only after every device runs a version that supports them; older devices keep syncing the main history only, lose nothing, and their new entries are sorted into channels by updated devices later.</p>
<p>Deleting a channel does not delete any entries. Its entries fall through to the next channel whose rule matches them, or to core if none does. The emptied server-side database bucket left behind for that channel is not deleted automatically; a server administrator can prune it with the server's existing database maintenance tools.</p>
<p>With sync rules enabled, manual order is kept separately within each channel. The combined history list preserves each channel's order while merging newer entries after older history, so a new channel entry does not unexpectedly jump to the top. Reordering entries in one channel does not reorder entries that live in a different channel.</p>
<p><strong>Known limitations:</strong></p>
<ul>
<li>A Quick Paste hotkey that targets an entry in a channel this device no longer subscribes to behaves the same as a hotkey that targets a deleted entry.</li>
<li>Duplicate detection at capture time only consults the channels a device subscribes to, so identical text captured on two devices with disjoint subscriptions can exist once in each of their channels.</li>
<li>History Limits are evaluated against the entries a device is subscribed to, not the complete shared history. Pinned entries and named entries remain exempt from history limits as they are today.</li>
<li>Deleting an entry on one device while another device concurrently moves it to a different channel can bring the entry back instead of deleting it. This is rare and resolves the next time that entry is edited or deleted again.</li>
</ul>
<p>Sync rules exist mainly to reduce transfer size and processing cost. Each poll and each save touch only the channels a device subscribes to, plus core, instead of the whole database. A device that excludes an images channel or a large group's channel transfers noticeably less data on every sync than a device subscribed to everything.</p>
<h2 id="secrets">Secrets</h2>
<p>Clipman 2.0 includes a small optional Secrets area for short private snippets that you type deliberately, such as a system password or code that you sometimes need to paste quickly outside a web browser. Secrets are not captured automatically from the clipboard, are not shown in normal Text history, and are not included in ordinary history import or export. Open <strong>Options, Secrets</strong> on Windows, or <strong>Secrets</strong> from the Mac status menu or Clipman application menu. You can also open Secrets directly with <code>Ctrl+Shift+E</code> on Windows or <code>Command+Shift+E</code> on Mac.</p>
<p>Secrets require a history password. They are stored in a separate per-machine <code><computer-name>-secrets.clipdb</code> file beside the active settings/history files and use the same history password as the main database. They do not sync through the shared text-history database. Opening the Secrets manager asks for the current history password so names and assigned hotkeys are not shown casually from an unlocked desktop. The secrets list shows names and assigned hotkeys only; secret values are hidden in the list and are edited in password fields. If you remove the history password, Clipman does not rewrite secrets as an unencrypted file.</p>
<p>In the Secrets manager, press <code>Insert</code> to add a secret, <code>F2</code> to edit the selected secret, <code>Delete</code> to remove it, <code>Enter</code> to Quick Paste it immediately, and <code>Esc</code> to close the window. The secret editor has fields for a name, the secret value, confirmation, and an optional Quick Paste hotkey. <code>Ctrl+A</code> on Windows and <code>Command+A</code> on Mac work in the password and secret text fields so a mistyped value can be selected and replaced without holding Backspace.</p>
<p>Each secret can have its own Quick Paste hotkey. Pressing that hotkey temporarily places the secret value on the system clipboard, sends the normal paste command to the active app, then restores the previous clipboard where the platform allows it. This is meant for convenience, not as a full password manager: any app that can monitor keystrokes, inspect the clipboard at the wrong moment, or run as the same signed-in user may still be able to see what you paste.</p>
<h2 id="clipman-server">Clipman Server</h2>
<p>Clipman 2.0 adds an optional Clipman Server path for people who want to host the shared history database from one machine, a Raspberry Pi, or a VPS instead of relying only on a cloud service, synced folder, or network share. This is an additional storage path, not a replacement for the existing local and shared-folder workflow.</p>
<p>The normal Clipman app packages are client-only. Clipman Server is distributed as a separate cross-platform server package. Use the <a href="https://onjlouis.github.io/Clipman/server/download.html">stable latest-server download</a>, or browse the <a href="https://github.com/OnjLouis/Clipman/releases">complete release history</a>. That package runs the same Python server on Linux, macOS, and Windows so the safety model stays consistent: random high port and random bearer token on first run, password-scoped database buckets, cheap revision polling, rolling backups, private file permissions where supported, rotating logs, database-ID log redaction, lightweight runtime counters, and optional direct TLS.</p>
<p>The server stores and serves raw <code>.clipdb</code> files. It does not know, request, or store the history password. Encrypted databases remain encrypted on the server; Clipman clients unlock, merge, and save history locally, then upload the updated database with a revision check. If another client has already uploaded a newer copy, the server rejects the stale upload so the client can download, merge, and try again instead of overwriting newer history.</p>
<p>Each server token plus each history password maps to a separate server-side database bucket. That means two clients using the same server token and same history password see the same history, while a wrong password or intentionally different password does not overwrite the existing database. Clipman Server requires a nonblank, preferably unique history password; passwordless history remains available only with local or shared-folder storage.</p>
<p>Backups are written under each database bucket. The default backup schedule is hourly, with roughly 24 hours of backups kept and a maximum of 48 backup files.</p>
<p>For private LAN, localhost, or VPN-only use, clients can use <code>clipman://host:port</code>. Clipman displays that form to avoid making the server look like a normal web page, then uses the local server transport internally. Do not expose plain <code>clipman://</code> or plain HTTP to the public internet. For VPS or internet-facing use, put the server behind HTTPS or start the server with <code>--cert-file</code> and <code>--key-file</code> so clients connect using an <code>https://</code> address.</p>
<p>Clipman Server 2.4 can embed its public private-certificate authority in the generated <code>.clpconf</code> connection file. Current clients validate that authority and trust it only inside Clipman, only for the HTTPS host shown during import, while still requiring a valid server certificate and matching host name. It is not installed as a device-wide root, and public HTTPS connections continue to use the operating system trust store. Transfer the connection file through a channel you trust because it also contains the private server token. The older operating-system certificate installation and <code>share-ca</code> flow remain available for older clients and recovery; after a current client connects with the embedded authority, an old Clipman authority can be removed from the operating-system trust store.</p>
<p>On Linux, <code>Linux/install-clipman-server.sh</code> installs the server and its startup helper. On first setup, Clipman Server creates <code>clipman-server-connection.clpconf</code> beside its settings file. In Clipman Preferences, choose <strong>Import server file</strong> on Windows or <strong>Import Server File</strong> on Mac, review the server address, enter a unique history password if one is not already configured, then apply the settings. On Android or iOS, tap the <code>.clpconf</code> file in the system file browser to open it in Clipman, or use <strong>Import server connection file</strong> in Clipman Settings. Clipman can export the currently configured connection from the same Preferences or Settings area on Windows, Mac, Android, and iOS. Mobile export offers both Save to Files and the native share sheet, so the connection can be sent through Messages, WhatsApp, AirDrop, Nearby Share, or another chosen app. Clipman warns before export because the file contains the private server token; store and share it securely, and never keep it beside an exported clipboard history. Imported details still require review and Save before synchronization begins. The server also writes a readable <code>clipman-server-connection.txt</code> file for manual setup and older clients. Both files contain the private server token; delete them or move the details to a password manager once every client is configured.</p>
<h3>Linux service management</h3>
<p>The Linux server installer supports systemd and runit. It detects the active service manager automatically, or an administrator can select <code>systemd</code> or <code>runit</code> with <code>CLIPMAN_SERVER_INIT_SYSTEM</code>. Per-user runit supervision uses turnstile and service directories under <code>~/.config/service</code>. A system-wide runit service uses <code>/etc/sv</code> and <code>/var/service</code> and does not require turnstile.</p>
<p>The generated <code>clipmanserver</code> helper uses the selected service manager for starting, stopping, restarting and checking the server, as well as for enabling or disabling automatic updates. If runit is present without turnstile, the normal user-local program and helper are installed without claiming that a persistent per-user service is available.</p>
<p>To start a server from an existing history, connect first from the Clipman client that already has the desired history and history password. Do not manually copy a <code>.clipdb</code> into the server's database folders; clients derive the correct server bucket from the server token and the history password, and the server deliberately does not know the history password.</p>
<p>To use a server from the Windows or Mac client, open <strong>Preferences</strong>, set <strong>Storage type</strong> to <strong>Clipman Server</strong>, enter the server host and token, and keep the data folder set to a local cache/settings folder. The host can be typed as <code>home-server:49152</code>; Clipman infers the local server protocol. The server token field is hidden on screen and saved with per-user protection: Windows uses current-user DPAPI protection, and Mac uses the user's Keychain. The client still watches and saves a local cache, but text history is synchronized through the server.</p>
<p>Clients normally poll the server cheaply by checking the database revision. If the server, network, or VPN is temporarily unavailable, Clipman keeps its local cache, backs off repeated polling failures, and retries automatically. Diagnostics include the last server poll, last successful sync, last upload, current server revision, and failure count so sync problems can be diagnosed without guessing.</p>
<p>Android and iOS clients can choose <strong>Local</strong>, <strong>Shared Folder</strong>, or <strong>Server</strong> in Settings. Local mode keeps <code>clipman-history.clipdb</code> in the mobile operating system's private app storage. Server mode uses that private file as an offline cache. Shared Folder mode synchronizes the same encrypted <code>clipman-history.clipdb</code>, channel, and sync-rules files used by desktop Clipman. Select the same folder and enter the same nonblank history password on every participating device. The system picker may offer iCloud Drive, on-device storage, third-party providers such as Dropbox, Google Drive or OneDrive, or configured network locations; only locations that grant Clipman persistent read and write access can be used. Clipman does not learn the provider account or bypass the provider's own access rules. Both mobile clients synchronize while Clipman is in the foreground, keep their private cache available offline, reread the shared revision before writing, retry interrupted changes, and merge entries, edits, pins, groups, deletions, channels, and recognised provider conflict copies rather than replacing one device's history with another. Storage details remain saved while another mode is selected, and switching modes merges local work with the selected synchronized history.</p>
<p>Android and iOS Settings can optionally create a separate one-way encrypted history backup in a folder chosen through the system file picker. A nonblank history password is required. This backup writes <code>Clipman History.clipdb</code> and does not become live synchronized storage; use <strong>Restore and merge history backup</strong> to combine its entries and deletion records with current history. Server details, tokens, settings, and passwords are never included. Choose <strong>Shared Folder</strong> as the storage mode instead when two-way synchronization is wanted. When an upgraded mobile installation already has a backup folder, Clipman offers that folder as the initial Shared Folder selection without asking for access twice. Live sync still uses its own <code>clipman-history.clipdb</code> file, and choosing a different shared folder later does not move or replace the backup location.</p>
<p>When a mobile client starts in a synchronized mode, it displays its encrypted on-device cache first and refreshes from the shared folder or server in the background. A normal launch therefore does not show an empty history merely because remote storage has not responded yet. If both startup clipboard import and automatic copying of new remote entries are enabled, Clipman preserves a snapshot of supported phone clipboard content across the initial refresh and adds it only when it is not already in history. Across every client, startup capture never reassigns an existing entry's device, group, or timestamp merely because that client relaunched.</p>
<p>After a normal Android or iOS addition, edit, pin, title change, or deletion, Clipman writes the encrypted local cache and commits that database against the last synchronized revision it received. It does not download and process the complete history again unless another client changed synchronized storage first. In that conflict case, Clipman downloads, decrypts, merges, and retries through the normal conflict resolver. Mobile status reports synchronization in progress and does not claim the change is synced until the shared folder or server accepts it.</p>
<p>Clipman iOS provides <strong>Quick Clip</strong>, <strong>Add Clipboard to Clipman</strong> and <strong>Copy Latest Clip</strong> actions through Apple's Shortcuts app and Siri. Any action can be assigned to the iPhone Action Button. Quick Clip opens a blank entry editor, Add Clipboard stores the current iOS clipboard text and available formatting, and Copy Latest refreshes the selected synchronized storage before placing the newest Clipman history entry on the iOS clipboard. If current synchronized history cannot be reached, Copy Latest reports the failure instead of silently copying a stale cached entry. The actions honour Clipman's biometric or device-authentication setting. Long-press the Clipman Home Screen icon to use the same three commands without creating a shortcut. Suggested Siri phrases include <strong>Create a Quick Clip in Clipman</strong>, <strong>Add clipboard to Clipman</strong> and <strong>Copy latest from Clipman</strong>. Clipboard access follows the <strong>Paste from Other Apps</strong> choice in iOS Settings; Clipman does not add a second confirmation screen.</p>
<p>Android and iOS also provide <strong>Quick Clip</strong> beside Paste and in the launcher icon's long-press menu. It opens a labelled editor for a new entry, optional Name and Group, pinning, and template fields, then saves through the same local-cache and server-conflict path as an edited entry.</p>
<p>Android and iOS Settings also offer <strong>Require biometric or device authentication</strong>. It is off by default. When enabled, Clipman asks for Face ID, Touch ID, biometrics, or the device credential before showing history after the app returns to the foreground.</p>
<p>Mobile Settings includes optional ways to support Clipman. Android opens Clipman's donation page, while iOS keeps one-time Apple in-app purchases inside a collapsed <strong>Support Clipman</strong> disclosure. Tip choices are loaded only when that disclosure is opened. Tips do not unlock features, content, or services.</p>
<p>Android and iOS Settings include <strong>Open Manual</strong> in a separate Help section. It opens the rendered Clipman manual in the default browser and does not save or discard Settings changes.</p>
<p>Clipman Android can check GitHub for updates automatically while the app is open, at most once per day. Use <strong>Check Now</strong> in Settings for an immediate check. Clipman verifies the downloaded package name, version, digest when supplied by GitHub, and application signing key before opening Android's installer. Android always asks the user to approve the installation; Clipman does not silently replace itself. TestFlight provides update delivery for iPhone and iPad.</p>
<p>Read the server package's <code>Manual.html</code> for setup, security, service-path, TLS, logging, backup, and API details.</p>
<h2 id="send-to">Send To</h2>
<p>Send To is a Windows feature. Windows Preferences can add Clipman to the Windows Send To menu. Sending a supported text-oriented file to Clipman adds the file's text content to clipboard history. Supported examples include plain text, logs, Markdown, CSV, JSON, XML, HTML, CSS, JavaScript, PowerShell, batch files, INI/config files, AutoHotkey scripts, registry files, common source-code files, and extensionless documents named README, LICENSE, LICENCE, NOTICE, CHANGELOG, COPYING or AUTHORS. The imported text uses the current duplicate and history-limit preferences.</p>
<p>The Send To shortcut is named <strong>Clipman - add text to history</strong> with <code>C</code> as its menu accelerator.</p>
<p>The Send To entry calls Clipman with the selected file path. The file is imported into the active local, shared-folder or server-cache history database. Preferences can choose whether a successful Send To import also brings the history window to the front. If Clipman is not already running, it imports the file using the settings in the <code>Settings</code> folder beside <code>clipman.exe</code>. When automatic grouping is enabled, Send To imports are placed in a group named <strong>Send To</strong>. Mac does not currently ship a Send To equivalent.</p>
<h2 id="file-history">File History</h2>
<p>The File history tab shows file, folder, and non-text clipboard events captured by Clipman. File history is stored separately from text history in a machine-specific database named like <code>Settings\Desktop-file-history.clipdb</code>, <code>Desktop-file-history.clipdb</code> inside a custom data folder, or <code>MacBook-file-history.clipdb</code> inside the selected Mac data folder. If you set a history password, file history uses the same password; there is not a second password to remember. File history stores paths and clipboard-format details only. It does not copy or preserve the actual file contents.</p>
<p>Copying the same file set again moves the existing event to the top instead of adding another duplicate. File history rows start with the file or folder name, then show the operation and file count. Press <code>Enter</code> to restore all existing files and folders from the selected file events to the clipboard and close the history window, matching Text history behavior. Press <code>Ctrl+C</code> on Windows or <code>Command+C</code> on Mac to copy all selected file paths as text without closing. Use the View menu on Windows, or the Sort controls and Clipman menu on Mac, to sort normal file events by time captured, file count, name, operation, source application, or manual order. Press <code>Home</code>, <code>End</code>, <code>Page Up</code>, and <code>Page Down</code> for larger list jumps. Press <code>Backspace</code> to jump to the first normal file event below pinned file events. Press <code>Shift+Enter</code> to pin or unpin selected file events. Press <code>Ctrl+Enter</code> on Windows or <code>Command+Enter</code> on Mac to go to a single selected file or folder in Explorer or Finder. Press <code>Alt+Up</code> or <code>Alt+Down</code> on Windows, or <code>Option+Up</code> or <code>Option+Down</code> on Mac, to move selected file events within the pinned or normal section. Moving file events switches File history back to manual order. Press <code>Del</code> on Windows or <code>Command+Backspace</code> on Mac to remove selected unpinned file-history events from the list.</p>
<p>On Mac, restoring files from a network share may require macOS permission to access network volumes. Allow the native permission request if you want to restore those files. If access is denied, Clipman leaves history open and reports the problem without replacing your clipboard. Review an earlier refusal under System Settings, Privacy & Security, Files and Folders, Clipman. Full Disk Access is not required for this feature. The original share must also be connected and mounted; file history does not reconnect an unavailable share or keep a backup of its files.</p>
<p>Pinned file events are grouped at the top of File history, with the same normal-entries separator used by Text history. They are numbered when they can be restored by shortcut, and their pinned state is shown in the Pinned column or metadata rather than before the event name. They are protected from delete, clear-normal cleanup, automatic unavailable-event cleanup, and file-history size trimming. Use <code>Ctrl+1</code> through <code>Ctrl+0</code> on Windows, or <code>Control+1</code> through <code>Control+0</code> on Mac, from the File history tab to restore one of the first ten pinned file events and close history. Windows also supports <code>Ctrl+Shift+1</code> through <code>Ctrl+Shift+0</code> to copy paths from one of the first ten pinned file events as text and close history.</p>
<p>File history can clear normal file-history events or remove unavailable unpinned events. Unavailable events include non-file clipboard events that cannot be restored as files, and file events where all referenced files and folders are now missing. These actions are also available from the keyboard with <code>Ctrl+Del</code> and <code>Alt+Del</code> on Windows, or <code>Control+Backspace</code> and <code>Option+Backspace</code> on Mac. Windows Preferences can also remove unavailable unpinned events automatically as new file-history events are captured.</p>
<h2 id="import-and-export">Import and Export</h2>
<ul>
<li><strong>Import</strong> adds entries from a <code>.clipdb</code>, JSON, or text file on both platforms. Windows can also import old Clipman <code>clipman.db</code> or Ditto SQLite databases.</li>
<li><strong>Import and replace</strong> replaces the current clipboard database with the selected file on Windows. Mac currently imports into the existing history.</li>
<li><strong>Export</strong> saves the current clipboard history as compressed <code>.clipdb</code>, JSON, or text on both platforms.</li>
</ul>
<p>When importing an encrypted <code>.clipdb</code>, Clipman asks for that import file's password if it is different from the current database password. When exporting a <code>.clipdb</code> from the app, Clipman asks whether to use the current history password, a new export-only password, or no password. If the current history database is password protected, Clipman asks you to re-enter the current history password before creating any <code>.clipdb</code> export, including an export that uses no password. JSON and text exports are deliberately readable interchange formats, so use <code>.clipdb</code> when exporting private history that should stay encrypted.</p>
<p>Old Clipman and Ditto imports are Windows-only and read text entries only. They do not import images or every custom clipboard format. Imported entries are grouped as <strong>Imported from old Clipman</strong> or <strong>Imported from Ditto</strong> so they are easy to review after import.</p>
<h2 id="updates">Updates</h2>
<p>On Windows, Mac and Linux, press <code>F1</code> on a control to read a short explanation of its purpose and relevant choices. Explanations for preferences, entry editing, templates and other controls are available there instead of being repeated automatically by a screen reader. Control names, current values and safety warnings remain available normally. Tab and Shift+Tab move between the help text, Open Manual and Close; Escape closes help and returns to the previous control. Plain F1 also works in hotkey fields without replacing the shortcut. The complete manual remains available from <strong>Help, Manual</strong> and from <strong>Open Manual</strong> in the help dialog.</p>
<p>Use <strong>Help, Check for updates</strong> on Windows, the Clipman application menu or menu extra on Mac, or <code>Shift+F1</code> on either platform to check GitHub releases. If a newer release includes a Clipman ZIP package for your platform, Clipman can download it and update the app. Mac downloads are separate for Apple Silicon and Intel; choose the matching ZIP for a manual install, while the in-app updater chooses automatically.</p>
<p>Use <strong>Preferences, Startup and updates</strong> to choose whether Clipman checks for updates never, at startup, hourly, or daily. If <strong>Install updates silently when possible</strong> is enabled, automatic checks can install a newer ZIP release without prompting where supported. Manual update checks still show the normal update dialog.</p>
<p>Use <strong>Help, Version history</strong> on Windows or <strong>Version History</strong> on Mac to review the latest release notes. Use <strong>Help, Project page</strong> or <code>Ctrl+F1</code> on Windows and <strong>Project Page</strong> or <code>Control+F1</code> on Mac to open the GitHub project page. Use <strong>Help, Contact</strong> on Windows or <strong>Contact</strong> on Mac for feedback, and <strong>Help, Donate</strong> on Windows or <strong>Donate</strong> on Mac to support Clipman. Use <strong>Help, Diagnostics</strong> or <code>Alt+F1</code> on Windows and <strong>Diagnostics</strong> or <code>Option+F1</code> on Mac to open diagnostics.</p>
<p>For a macOS startup problem that prevents the menu extra or Diagnostics window from appearing, first quit or force-quit every existing Clipman process. Then run <code>CLIPMAN_DEBUG_LOG=1 /Applications/Clipman.app/Contents/MacOS/Clipman 2>&1 | tee ~/Desktop/clipman-debug.log</code> in Terminal. Reproduce the launch once, stop the command with <code>Control+C</code> if Clipman remains stuck, and share <code>clipman-debug.log</code>. This opt-in trace records startup phases, result states, timings, and error types, but not passwords, server tokens, clipboard contents, or history data.</p>
<h2 id="sounds">Sounds</h2>
<p>Clipman can play short sounds when text is copied, selections are merged, remote text is copied from another synced machine, monitoring is turned on, monitoring is turned off, a clipboard item is ignored because monitoring is off, or a sensitive-data exclusion blocks automatic capture. Sounds can be enabled or disabled in preferences.</p>
<p>The default sounds are ordinary WAV files. On Windows they live in the <code>sounds</code> folder beside <code>clipman.exe</code>. On Mac they are bundled inside <code>Clipman.app</code>. To keep custom sounds safe across updates, create a <code>sounds</code> folder inside Clipman's active settings/data folder and put any replacement WAV files there. For a default Windows portable install this is usually <code>Settings\sounds</code> beside <code>clipman.exe</code>; if you choose a different data folder, use the <code>sounds</code> folder inside that chosen data folder instead. Clipman checks custom sounds first, then falls back to the bundled/default sounds for any missing file. Keep the same file names: <code>copy.wav</code>, <code>merge.wav</code>, <code>remote.wav</code>, <code>on.wav</code>, <code>off.wav</code>, <code>skip.wav</code>, and <code>exclude.wav</code>. If <code>merge.wav</code> is missing, Clipman falls back to <code>copy.wav</code>; if <code>exclude.wav</code> is missing, Clipman falls back to <code>skip.wav</code>.</p>
<h2 id="application-files">Application Files</h2>
<p>A normal Windows portable Clipman folder contains only the files needed to run the app. A Mac package contains <code>Clipman.app</code>, which bundles the executable, manual, sounds, and supporting resources inside the app package.</p>
<table>
<thead>
<tr>
<th>File or Folder</th>
<th>Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>clipman.exe</code></td>
<td>The Windows Clipman application.</td>
</tr>
<tr>
<td><code>Clipman.app</code></td>
<td>The Mac Clipman application bundle. Move or drag this to <code>/Applications</code> for normal use. VoiceOver users can copy and paste the app in Finder instead of dragging if preferred.</td>
</tr>
<tr>
<td><code>Manual.html</code></td>
<td>This user manual, available from Help, Manual or the Open Manual button in focused-control help. On Mac, the manual is bundled inside <code>Clipman.app</code>.</td>
</tr>
<tr>
<td><code>LICENSE.txt</code></td>
<td>The MIT License text for Clipman.</td>
</tr>
<tr>
<td><code>sqlite3.dll</code></td>
<td>Windows SQLite runtime used only when importing old Clipman or Ditto SQLite databases.</td>
</tr>
<tr>
<td><code>sounds</code></td>
<td>Default WAV files for copy, remote sync copy, on, off, and skipped-copy feedback.</td>
</tr>
<tr>
<td><code>Settings</code></td>
<td>Created on first run on Windows. By default it stores machine-specific settings, the shared text-history database, the machine-specific file-history database, optional custom sounds, logs, and shared update state. If you choose a custom data folder, this folder keeps a small <code>settings-location.json</code> pointer and the active data moves to the selected folder. The pointer stores one location per computer name so machines with different local cloud paths can share the same app folder without fighting. On Mac, the active settings and databases live in the selected data folder, with a small Application Support pointer back to that folder.</td>
</tr>
</tbody>
</table>
<p>The source package also includes <code>README.md</code>, source files, and build project files. Those source-only files are not required in the portable runtime folder.</p>
<h2 id="non-text-clipboard-events">Non-text Clipboard Events</h2>
<p>Clipman stores text history in the main history database and stores file or non-text clipboard events in a separate machine-specific file-history database. Use the File history tab to review those events. It can show files copied or cut in Windows Explorer or macOS Finder, file-like clipboard operations from other programs, and specialist formats such as audio-editor clipboard data. Clipman cannot retrieve events from before it was running, and file events are useful only while the referenced files still exist at the same paths.</p>
<p>Press <code>Enter</code> on a file event to put its files back on the clipboard, ready to paste into Explorer, Finder, or another file-aware application. Press <code>Ctrl+C</code> on Windows or <code>Command+C</code> on Mac to copy the file paths as text, <code>Shift+Enter</code> to pin or unpin selected events, <code>Del</code> on Windows or <code>Command+Backspace</code> on Mac to remove selected unpinned events from file history, <code>F4</code> to view event details, or <code>Ctrl+Enter</code> on Windows and <code>Command+Enter</code> on Mac to go to one selected file or folder. Non-file events are informational; they can be reviewed, pinned, moved, or deleted, but they cannot be restored as files. Open diagnostics for a text report of the same events.</p>
<h2 id="command-line">Command Line</h2>
<p>The command-line interface is currently Windows-focused. The Mac app is intended to be used through <code>Clipman.app</code>, the menu bar item, global hotkeys, and the history window.</p>
<table>
<thead>
<tr>
<th>Command</th>
<th>Effect</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>clipman.exe --show</code></td>
<td>Shows the history window for the running Clipman instance.</td>
</tr>
<tr>
<td><code>clipman.exe --close</code></td>
<td>Closes the running Clipman instance.</td>
</tr>
<tr>
<td><code>clipman.exe --pause</code></td>
<td>Turns clipboard monitoring off in the running Clipman instance.</td>
</tr>
<tr>
<td><code>clipman.exe --resume</code></td>
<td>Turns clipboard monitoring on in the running Clipman instance.</td>
</tr>
<tr>
<td><code>clipman.exe --toggle</code></td>
<td>Toggles clipboard monitoring in the running Clipman instance.</td>
</tr>
<tr>
<td><code>clipman.exe --add "Some text"</code></td>
<td>Adds the provided text directly to Clipman history.</td>
</tr>
<tr>
<td><code>clipman.exe --export "C:\Path\backup.clipdb"</code></td>
<td>Exports the current Clipman database to a compressed <code>.clipdb</code> file. Existing files are not overwritten.</td>
</tr>
<tr>
<td><code>clipman.exe --import "C:\Path\backup.clipdb"</code></td>
<td>Imports entries from a <code>.clipdb</code>, JSON, or text file into the current database without replacing existing entries.</td>
</tr>
<tr>
<td><code>clipman.exe --import-replace "C:\Path\backup.clipdb"</code></td>
<td>Asks for confirmation, creates a timestamped backup of the current database, then replaces the current database with entries from the selected <code>.clipdb</code>, JSON, or text file.</td>
</tr>
<tr>
<td><code>clipman.exe --import-replace "C:\Path\backup.clipdb" --yes</code></td>
<td>Runs the same replacement silently for scripts. A timestamped backup is still created first.</td>
</tr>
<tr>
<td><code>clipman.exe "C:\Path\Example.txt"</code></td>
<td>Adds supported text-oriented file content to Clipman history. Examples include <code>.txt</code>, <code>.log</code>, <code>.md</code>, <code>.csv</code>, <code>.json</code>, <code>.xml</code>, <code>.html</code>, <code>.ps1</code>, <code>.cmd</code>, <code>.bat</code>, <code>.ini</code>, <code>.ahk</code>, <code>.reg</code>, and common source-code files.</td>
</tr>
</tbody>
</table>
<h2 id="license">License</h2>
<p>Clipman is released under the MIT License. The portable and source packages include the full license text in <code>LICENSE.txt</code>.</p>
<h2 id="credits">Credits</h2>
<p>Clipman is based on work initially by Tyler Spivey. The original Clipman served as the practical foundation for this rebuilt version.</p>
<p>SQLite import support uses the public-domain SQLite runtime from the SQLite project.</p>
<p>Questions and feedback can be sent through <strong>Help, Contact</strong> in the app or <a href="https://onj.me/contact">https://onj.me/contact</a>.</p>
<p>Clipman is free software. If you want to support Andre's work, use <strong>Help, Donate</strong> in the app or visit <a href="https://onj.me/donate">https://onj.me/donate</a>.</p>
<script>
(function () {
var buttons = document.querySelectorAll("button[data-copy-test]");
for (var i = 0; i < buttons.length; i++) {
buttons[i].addEventListener("click", function () {
var text = this.getAttribute("data-copy-test") || "";
var button = this;
function done(message) {
button.setAttribute("aria-label", message);
button.textContent = message;
}
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text).then(function () {
done("Copied test value");
}, function () {
fallbackCopy(text, done);
});
} else {
fallbackCopy(text, done);
}
});
}
function fallbackCopy(text, done) {
var area = document.createElement("textarea");
area.value = text;
area.setAttribute("readonly", "readonly");
area.style.position = "fixed";
area.style.left = "-9999px";
document.body.appendChild(area);
area.focus();
area.select();
try {
done(document.execCommand("copy") ? "Copied test value" : "Could not copy automatically");
} catch (e) {
done("Could not copy automatically");
}
document.body.removeChild(area);
}
}());
</script>
</body>
</html>