{
  "name": "clipboard",
  "kind": "bundled",
  "title": "Clipboard",
  "description": "Everything you copied, text, images and files, searchable and a keystroke from being pasted back into the app in front. Pin what you reuse; edit, name or save an entry, or copy the text out of an image.",
  "version": "0.1.0",
  "icon": {
    "tile": {
      "glyph": "󰅍",
      "bg": "violet"
    }
  },
  "author": "pal",
  "spec": "github:zcag/pal/extensions/clipboard@v0.17.4",
  "source": "https://github.com/zcag/pal-extensions/tree/HEAD/clipboard",
  "commit": "4d2559cf9c04d0133c97d7c897f19a14acb9eace",
  "manifest": {
    "name": "clipboard",
    "title": "Clipboard",
    "description": "Everything you copied, text, images and files, searchable and a keystroke from being pasted back into the app in front. Pin what you reuse; edit, name or save an entry, or copy the text out of an image.",
    "version": "0.1.0",
    "icon": {
      "tile": {
        "glyph": "󰅍",
        "bg": "violet"
      }
    },
    "author": "pal",
    "repo": "bundled",
    "license": "MIT",
    "settings": [
      {
        "kind": "boolean",
        "id": "ocr_concealed",
        "label": "OCR copies are private",
        "text": "Text read from an image (Copy text from image) is kept out of this history",
        "default": false
      },
      {
        "kind": "select",
        "id": "primary_action",
        "label": "Primary action",
        "description": "What Enter does on an entry.",
        "options": [
          {
            "id": "paste",
            "title": "Paste into the app in front"
          },
          {
            "id": "copy",
            "title": "Copy to the clipboard"
          }
        ],
        "default": "paste"
      }
    ],
    "store": {
      "tagline": "Everything you copied, with images; Enter pastes it back",
      "category": "productivity",
      "features": [
        "Text, images and files you copied, searched as you type, with a preview beside the list",
        "Pinned entries stay at the top and never expire",
        "Filters for text, images, files, links and colours (drawn as swatches)",
        "`enter` pastes into the app in front, `cmd+shift+v` as plain text, `cmd+shift+t` copies the text in an image",
        "Edit, name, save as a file or snippet, or show as a QR code",
        "Password manager copies and excluded apps are never recorded"
      ],
      "permissions": [
        "accessibility"
      ],
      "platforms": [
        "macos",
        "linux"
      ],
      "screenshots": [
        {
          "file": "1-list.png",
          "caption": "The history with the pane open: pinned first (a named entry by its name), then newest, the source app and the time on the right"
        },
        {
          "file": "2-image.png",
          "caption": "An image entry: the picture in the pane, under its pixels and size"
        },
        {
          "file": "3-colors.png",
          "caption": "The Colors filter: a copied colour is its own swatch on the row and in the pane"
        },
        {
          "file": "4-actions.png",
          "caption": "Paste, Copy, Open link, Edit, Pin, Name, Save as file, Save as snippet, Show as QR code, Delete, Clear history"
        },
        {
          "file": "5-edit.png",
          "caption": "Edit (cmd+E): the text in a textarea; the submit copies it, so the edited text is the newest entry"
        },
        {
          "file": "6-qr.png",
          "caption": "Show as QR code (cmd+shift+K): the entry's text as a code to scan, large in a level"
        }
      ],
      "actions": [
        {
          "title": "Paste",
          "description": "Hides the panel and pastes the entry into the app that was in front.",
          "keys": "enter"
        },
        {
          "title": "Copy",
          "description": "Puts the entry back on the clipboard.",
          "keys": "cmd+enter"
        },
        {
          "title": "Open link",
          "description": "On an entry that is one url.",
          "keys": "cmd+o"
        },
        {
          "title": "Paste as plain text",
          "keys": "cmd+shift+v"
        },
        {
          "title": "Copy image file",
          "description": "The PNG the recorder keeps, as a file.",
          "keys": "cmd+shift+c"
        },
        {
          "title": "Copy text from image",
          "description": "OCR over the image (Vision on macOS, tesseract on Linux); the text goes on the clipboard.",
          "keys": "cmd+shift+t"
        },
        {
          "title": "Edit…",
          "description": "On a text entry: a textarea with the text; the submit copies the edited text (a box pastes it too), so it is the newest entry.",
          "keys": "cmd+e"
        },
        {
          "title": "Pin / Unpin",
          "description": "Pinned entries sort first and never expire.",
          "keys": "cmd+p"
        },
        {
          "title": "Name / Rename",
          "description": "The name typed in the bar titles the row and is searched like the text; blank clears it.",
          "keys": "cmd+shift+r"
        },
        {
          "title": "Save as file…",
          "description": "A folder (the Desktop) and a name from the entry: the text, the image's PNG, or the file list as paths. An existing name is refused.",
          "keys": "cmd+s"
        },
        {
          "title": "Save as snippet",
          "description": "On a text entry: the Snippets form, pre-filled.",
          "keys": "cmd+shift+s"
        },
        {
          "title": "Show as QR code",
          "description": "On a text entry up to 2000 characters: the code large in a level.",
          "keys": "cmd+shift+k"
        },
        {
          "title": "Delete",
          "description": "Asks first.",
          "keys": "cmd+d"
        },
        {
          "title": "Delete all unpinned",
          "description": "Asks first; pinned entries stay."
        },
        {
          "title": "Clear history",
          "description": "Asks first; pinned entries included.",
          "keys": "cmd+shift+d"
        }
      ]
    },
    "links": {
      "copy": {
        "description": "Put a history entry back on the clipboard",
        "params": {
          "index": {
            "description": "Which entry, newest first: 0 is the newest (the default)",
            "type": "number"
          }
        }
      }
    },
    "palettes": {
      "rows": {
        "title": "Clipboard",
        "kind": "input",
        "description": "What is on the clipboard now, as the things it could be: a web address (open, private window, markdown link, QR code), a colour (the picker, every notation), paths (open, reveal, open with), an email, a phone number, JSON (pretty, minified), an expression or a number (the answer, other bases), a timestamp or ISO date (local and relative), hex or base64 that decodes to text, a tracking number (the carrier), a git sha or owner/repo#12 (GitHub), an image (save, copy as file, OCR), and the text itself (counts, case and slug transforms, paste as plain, save as snippet). The root's Clipboard section before you type; Hide keeps it away until the next copy. Only what history recorded is read: a concealed copy or one from an excluded app never shows.",
        "settings": [
          {
            "kind": "boolean",
            "id": "fetch_titles",
            "label": "Fetch page titles",
            "text": "Ask a copied web address for its title (one request, 1 s at most; the only thing these rows send off the machine)",
            "default": true
          },
          {
            "kind": "text",
            "id": "shortener",
            "label": "URL shortener",
            "description": "A URL with {url} in it whose response body is the short link, for the Shorten action (https://is.gd/create.php?format=simple\u0026url={url}). Empty: no Shorten action.",
            "placeholder": "https://is.gd/create.php?format=simple\u0026url={url}",
            "default": ""
          },
          {
            "kind": "text",
            "id": "private_browser",
            "label": "Private window browser",
            "description": "Which browser opens a private window: Google Chrome, Brave Browser, Microsoft Edge, Chromium, Vivaldi or Firefox. Empty: the first of those that is installed.",
            "placeholder": "Firefox",
            "default": ""
          }
        ],
        "keys": [
          {
            "keys": "enter",
            "title": "What the row is for: open, call, paste as plain, copy the answer"
          },
          {
            "keys": "cmd+shift+h",
            "title": "Hide the section until the next copy"
          },
          {
            "keys": "cmd+shift+o",
            "title": "Open the address in a private window"
          },
          {
            "keys": "cmd+shift+m",
            "title": "Copy as a Markdown link, or minified JSON"
          },
          {
            "keys": "cmd+s",
            "title": "Save the text as a snippet"
          }
        ]
      },
      "history": {
        "title": "Clipboard History",
        "on": [
          "clipboard"
        ],
        "kind": "input",
        "description": "Every copy, pinned ones first, then newest.",
        "keys": [
          {
            "keys": "enter",
            "title": "Paste into the app in front"
          },
          {
            "keys": "cmd+enter",
            "title": "Copy back to the clipboard"
          },
          {
            "keys": "cmd+o",
            "title": "Open the link"
          },
          {
            "keys": "cmd+shift+v",
            "title": "Paste as plain text"
          },
          {
            "keys": "cmd+shift+c",
            "title": "Copy an image as a file"
          },
          {
            "keys": "cmd+shift+t",
            "title": "Copy the text in an image (OCR)"
          },
          {
            "keys": "cmd+e",
            "title": "Edit a text entry; the edited text is copied"
          },
          {
            "keys": "cmd+p",
            "title": "Pin or unpin"
          },
          {
            "keys": "cmd+shift+r",
            "title": "Name or rename the entry to what is typed in the bar"
          },
          {
            "keys": "cmd+s",
            "title": "Save as a file"
          },
          {
            "keys": "cmd+shift+s",
            "title": "Save a text entry as a snippet"
          },
          {
            "keys": "cmd+shift+k",
            "title": "Show a text entry as a QR code"
          },
          {
            "keys": "cmd+d",
            "title": "Delete the entry"
          },
          {
            "keys": "cmd+shift+d",
            "title": "Clear history"
          },
          {
            "keys": "tab",
            "title": "Text, Images, Files, Links, Colors"
          }
        ]
      }
    }
  },
  "playable": false,
  "updated_at": "2026-11-02T04:38:11Z",
  "url": "https://pal.cagdas.io/extensions/clipboard",
  "tagline": "Everything you copied, with images; Enter pastes it back",
  "category": "productivity",
  "screenshots": [
    "https://pal.cagdas.io/extensions/clipboard/screenshots/1-list-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/1-list.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/2-image-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/2-image.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/3-colors-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/3-colors.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/4-actions-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/4-actions.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/5-edit-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/5-edit.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/6-qr-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/6-qr.png"
  ],
  "panel_screenshots": [
    "https://pal.cagdas.io/extensions/clipboard/screenshots/1-list.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/2-image.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/3-colors.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/4-actions.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/5-edit.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/6-qr.png"
  ],
  "bar_screenshots": [],
  "panel_screenshots_dark": [
    "https://pal.cagdas.io/extensions/clipboard/screenshots/1-list-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/2-image-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/3-colors-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/4-actions-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/5-edit-dark.png",
    "https://pal.cagdas.io/extensions/clipboard/screenshots/6-qr-dark.png"
  ],
  "bar_screenshots_dark": [],
  "has_bar": false,
  "bar_items": [],
  "has_links": true,
  "links": [
    {
      "route": "copy",
      "url": "pal://clipboard/copy",
      "cli": "pal call clipboard/copy",
      "description": "Put a history entry back on the clipboard",
      "params": [
        {
          "name": "index",
          "description": "Which entry, newest first: 0 is the newest (the default)",
          "type": "number"
        }
      ]
    }
  ],
  "multi": false,
  "has_readme": true
}
