Skip to content

ekjaisal/Pasted

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pasted Logo

Pasted

Pass Trigger; Emit Definition

GitHub Release License: BSD-3-Clause GitHub Downloads GitHub Stars

Pasted is a swift, stubbornly lightweight, native text-substitution utility designed to work system-wide on Windows (see § Limitations). It combines the convenience of text-substitution with a fully-featured graphical user interface for management, maintaining a minimal footprint on system resources while working offline to ensure privacy.

The application monitors keystrokes and substitutes trigger strings when matches are detected. It also includes a Quick Search dialog for searching triggers and inserting definitions with ease. Pasted thus helps save time by reducing look-ups for characters not readily available on the keyboard and by lessening repetitive typing of long text snippets.

Features

The main interface has three sections: a Collections panel for organisation, a Triggers panel displaying details (including the last triggered timestamp), and a Definition Preview panel.

Main Interface

Trigger Management

Triggers can be easily created and categorised into collections using the graphical user interface. It is highly recommended to prefix trigger sequences with a designated symbol (e.g. a semicolon ;) to prevent accidental substitutions during regular typing.

Edit Trigger

Dynamic Content

Pasted supports dynamic date and time variables, allowing triggers to resolve to the current local time upon execution. The variables should be formatted by wrapping standard date/time tags in ${} delimiters.

  • ${yyyy-mm-dd} → e.g. 2026-02-25
  • ${dd/mm/yyyy} → e.g. 25/02/2026
  • ${hh:nn:ss AM/PM} → e.g. 02:30:45 PM
  • ${dddd, dd mmmm yyyy} → e.g. Wednesday, 25 February 2026

To output a literal tag without triggering dynamic resolution, prefix it with a backslash (\${yyyy-mm-dd}).

Quick Search

It is not hard to forget triggers as collections grow bigger. Pasted, therefore, includes a global Quick Search dialog for swiftly finding forgotten triggers (by searching their name, trigger, or definition) and inserting them directly into the active text field. To call it from anywhere, press Alt + ; (or Ctrl + Alt + ;).

Quick Search

Data Management

The application uses a local SQLite3 database for data storage. Users can back up the entire database or restore from a previous snapshot via the Data menu. Furthermore, triggers (full set or specific collections) can be imported and exported as JSON documents to facilitate seamless sharing across devices.

Usage

  1. Download the installer from the Releases page or from https://pasted.jaisal.in.

  2. Install and launch the application.

Note

Windows SmartScreen may flag the installer as an unrecognised application. Provided the installer is sourced from the locations specified in step 1, bypass the prompt by clicking More infoRun anyway. For added assurance, verify the SHA256SUMS.

  1. Add or import triggers to get Pasted springing into action.

  2. Toggle the start-up checkbox in the bottom-left corner to ‘Enabled on system start-up’ to ensure Pasted runs automatically when the system boots.

  3. Close the application window. Pasted will minimise to the tray and work silently in the background.

  4. Refer to the user guide or navigate to HelpUser Guide in the application menu for more details on usage.

Verification

A PGP-signed SHA256SUMS file is included with the release artefacts for integrity verification.

Fingerprint Key Server
C4A8 E4F9 1650 7DD9 49D4 5DF8 B4ED 8851 B020 2101 keys.openpgp.org

Limitations

  • Permissions: If the target application is running with administrative privileges while Pasted is running as a standard user, the Windows User Account Control (UAC) may block the definitions from reaching the target.
  • Third-Party Interference: Aggressive clipboard managers, remote desktop protocols (RDP), or intensive security configurations may interfere with Pasted’s functionality.

Building from Source

Pasted is built and shipped with a ready-to-set-up installer. However, if required, it can be rebuilt exactly (or with modifications) by following the Windows build process specified below:

Build Prerequisites

  • Lazarus IDE v4.4 or later

  • Free Pascal Compiler v3.2.2 (included with Lazarus IDE)

  • w64devkit (or a similar GCC-based C compiler toolchain for Windows)

    Note: Add the binary directory (e.g. C:\w64devkit\bin) to the system’s PATH environment variable.

Build Instructions

  1. Compile SQLite3

    Clone the Pasted repository, navigate to the scripts/ directory, and execute the setup-deps.bat script to download and compile the latest SQLite3 amalgamation into an optimised sqlite3.o object file in the deps/ directory.

  2. Configure Library Paths in Lazarus

    Open Pasted.lpi in the IDE. Navigate to ProjectProject OptionsCompiler OptionsPaths. In the Libraries (-Fl) field, and confirm (or modify, if required) the C library paths:

    • C:\w64devkit\lib\
    • C:\w64devkit\lib\gcc\x86_64-w64-mingw32\16.1.0\
  3. Compile the Application

    Build using RunBuild or Shift + F9 in the Lazarus IDE. The executable will be compiled to the bin/ directory.

Note

For most users, the ready-to-set-up installer from the Releases page should suffice.

Acknowledgements

Pasted is built using the Lazarus IDE and the Free Pascal Compiler and relies on third-party libraries and resources. Please see the NOTICE file for details. The project has benefited significantly from Google Gemini 3.1 Pro’s assistance for ideation, code generation, and refactoring.

License

The project is under the BSD 3-Clause License and is provided “as is”, without any warranties. Please see the LICENSE file for details.