Skip to content

ekjaisal/Pasted

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 PGP signature.

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

  4. 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.

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

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

Verification

Released installers are signed with a PGP key. The public key is available on keys.openpgp.org.

Fingerprint: C4A8 E4F9 1650 7DD9 49D4 5DF8 B4ED 8851 B020 2101

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 uses custom-compiled SQLite3, statically linked to the executable to make it fully standalone and self-contained. The steps to build the project from source are as follows:

Build Prerequisites

  • Lazarus IDE v4.4

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

  • WinLibs (or a similar GCC-based C compiler toolchain).

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

Build Instructions

  1. Compile SQLite3

    Open the terminal and navigate to the vendor/sqlite3/ directory and execute the build-sqlite3.bat script to compile the SQLite3 amalgamation source to an optimised sqlite3.o object file.

    Note: This step uses GCC; therefore, it should be added to the PATH.

  2. Configure Library Paths in Lazarus

    Open Pasted.lpi in the IDE. Navigate to ProjectProject OptionsCompiler OptionsPaths. In the Libraries (-Fl) field, add the required C library paths.

    Example for WinLibs:

    • C:\winlibs\mingw64\lib\
    • C:\winlibs\mingw64\x86_64-w64-mingw32\lib\
    • C:\winlibs\mingw64\lib\gcc\x86_64-w64-mingw32\15.2.0\
  3. Compile the Application

    Build using RunBuild or Shift + F9 in the Lazarus IDE.

Acknowledgements

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

License

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

Sponsor

About

A swift, stubbornly lightweight, native text-substitution utility

Topics

Resources

License

Stars

Watchers

Forks

Contributors