-
NoorPaste v0.6.0 Stable
released this
2026-10-14 01:18:19 +08:00 | 0 commits to main since this releaseAdded
- Offline models are downloaded on demand from ModelScope instead of being put in place
by hand: PaddleOCR (31 MB) when it is chosen or used without its files, and the Opus-MT
English → Chinese / Chinese → English models (about 172 MB each) when a translation
needs one, or both when Opus-MT is chosen in Preferences. NoorPaste asks first (size,
source, licence), shows a progress dialog with Cancel, checks every file against a
SHA-256 pinned in the program and keeps files that are already there. The local
translation engine now always offers those directions.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Offline models are downloaded on demand from ModelScope instead of being put in place
-
NoorPaste v0.5.0 Stable
released this
2026-10-10 06:50:46 +08:00 | 0 commits to main since this releaseAdded
- Canvas: Ctrl+C / Ctrl+X and the item menu's Copy / Cut work on the selected pictures
and annotations. The clipboard gets a transparent picture of them alone (Output
settings apply) and Ctrl+V pastes them back as editable items, each paste offset
from the last; cutting is one undo step and does not ask. With nothing selected
Ctrl+C still copies the whole canvas. - Preferences → Snip → Behavior, Gemini: the model box lists the key's text models
(fetched from the API at most daily or when the key changes, cached in
gemini_models.jsonin the data folder) and still takes any typed name; Get a key…
shows how to create an API key; Test translates a word and tells how long Gemini
took. The Gemini settings show only while Gemini is the translation engine. The
default model is nowgemini-3.1-flash-lite(3.5-flash-lite took 12–35 s to answer). - OCR and translation failures: the bar's status ends in a
?mark whose tooltip gives
the technical reason (engine and model, HTTP status and Gemini's error code and
message, or the HRESULT), also written to the log. - Pin toolbar: select button (left of the tools), as on the snip toolbar. While on, a
click selects an annotation and a drag selects several; they move together and Delete
removes them. A tool, a second click or hiding the toolbar gives the mouse back to the
pin (dragging moves it again). - Recognize text (OCR) while snipping: O on the monitor under the cursor or on the
selection or the snip toolbar's OCR button. Snip and recognize text / Snip and
translate (hotkeyshotkeys.ocr/hotkeys.translate, unassigned by default, or tray
actions) go straight from the chosen region to recognition (and translation of all
text), without the toolbar. Two offline engines, switched in the bar or in
Preferences → Snip → Behavior (snip.ocr_engine): Windows OCR (small text recognized
again enlarged with high-quality resampling;丨/」inside Latin words read as
l) and PaddleOCR (PP-OCRv6 small models inocr_models/, run by the built-in
Windows ML runtime on the CPU). Words are marked and selected like text (drag, double
/ triple click, Alt+drag box, Ctrl+A); the bar under the area switches the engine and
the Windows OCR language (snip.ocr_language), joins lines into the paragraphs the
layout shows (wider spacing, short last lines, indents and list items end one; line-end
hyphens are joined back) and
copies; Ctrl+C copies (with nothing selected: everything, also for Copy and Enter,
shown as "Copied all"; "Nothing to copy" before there is text), Enter copies and
quits, Esc / right click leaves. The mode's shortcuts show in the snip hint card (it
makes way for the bar); the bar's status sits in its own tinted segment with a
coloured dot, divided from the buttons. - OCR translation in place: T or the snip toolbar's Translate button (recognize and
translate at once, also T while choosing a region for the monitor under the cursor),
and in the OCR mode its bar's Translate button or T, translates the
selection (or everything) block by block — columns found by a recursive XY-cut (a
heading over columns too), paragraphs ending where the next line's first word would
have fitted (text wrapped at any width, hanging indents and pieces of one line kept
together; line numbers and other lines without letters left out and visible), the
columns of a speech balloon together — and
draws each translation over its covered text: speech balloons and buttons (a closed
region of the text's background colour) are painted over and the translation centred
in them, flat backgrounds filled, busy ones frosted (blurred and tinted); the font is
the original's (estimated from character advances: CJK one em, others 0.55 em) with the
original's line spacing, kept a quarter em inside the area, smaller when that does not
fit, else the text wraps further down to the next translation or the area's edge (the
bar then says some text is cut short). While recognizing or translating, the area is
blurred under a spinner (re-translating keeps the last translation with the spinner).
A bar (replacing the OCR bar) switches
original / translation (hold Space too), engine, target and the panel (the translation
as text, hanging under the bar), copies the text or the translated area as an image (Copy ▾),
pins the translated area as an image (the panel: its text) and closes (Esc / right
click). Engines: Opus-MT models in
translate_models/<source>-<target>/run by the built-in Windows ML runtime
(SentencePiece tokenizer, cached greedy decoding), one block per line; and Gemini
(online,snip.gemini_api_key, modelsnip.gemini_model, default
gemini-3.1-flash-lite) with the blocks sent and answered as a JSON object keyed by
number (enforced by a response schema). Gemini asks once before the first text goes to
Google (snip.gemini_consent), retries an overloaded model once, gives up after 20 s
and the panel explains overload, used-up quota and timeouts. The target and engine are
remembered (snip.translate_target,snip.translate_engine). - The OCR and translation bars (with the panel) go where they cover the least recognized
text — outside the area first, then inside its corners — and can be dragged by their
grip (⠿) for the rest of the snip. - PaddleOCR reads vertical text (columns turned a quarter before reading), and its word
boxes cover the glyphs (the detector only marks their core).
Changed
- The translation panel's text is 10 pt (was 11 pt).
- Tray icon middle click is configurable (
mouse.tray_middle_click); the tray actions
also offer snip, translate and paste. - Defaults: the theme colour is the periwinkle
#8080FF(the original's is the blue
#2080F0), a tray click recognizes text and a middle click translates; settings you
changed stay.
Fixed
- Snip toolbar tooltips no longer pop up over the hidden toolbar (Space).
- In-place translation: the cover stays inside its region — trimmed where a text box
reaches past a tab or cell, grown only up to borders and other shades — and the
background is judged without the recognized text around it, so terminals and documents
are filled flat rather than frosted; table cells and other text side by side more than
a line height apart are no longer read as one line. - In-place translation keeps the layout: a closed region filling nearly all of its
bounds (a table cell, a button, a panel) is a box, not a speech balloon, so its text is
no longer centred; a paragraph keeps its left / centred / right alignment and a single
line in a box its side of it; text with no word (icons read as letters) is left alone,
and a translation equal to its source (a name, a path) keeps the original pixels. - In-place translation in tight table cells: a block's background is the most common
colour inside its own box (not the rules around it), the cover is trimmed only by
one-colour edge lines (never the text itself), horizontal rules (table lines) end
paragraphs, and a single line may run on over the free background to its right. - Menus and lists are no longer merged into one paragraph: a Latin line of one or two
words is an item of its own (unless it ends on a comma, hyphen or a word such as
"and", "of", "the"); Gemini is told short paragraphs may be interface labels and words
them as software does; a single line's free room to the right ignores neighbouring
lines' boxes grazing its edges.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Canvas: Ctrl+C / Ctrl+X and the item menu's Copy / Cut work on the selected pictures
-
NoorPaste v0.4.0 Stable
released this
2026-10-06 19:08:48 +08:00 | 0 commits to main since this releaseAdded
- Auto backup (Preferences → General, on by default) now does what the original's does:
pins (open and recently closed, with groups, position, zoom, opacity, orientation,
filters, thumbnail view and annotations) and the snip history (,/.records andR
regions) are saved as they change and restored at the next start. Pins whose monitor
is gone come back on the primary one. - Updates (Preferences → Update, like the original's page without the proxy group):
checks the public release pagestart_delayseconds after start (60 by default) and
every 24 hours, both switchable, optionally including betas, or on demand with Check
for Updates. A newer version shows a notification; its dialog lists what is new and
Update and Restart downloads the executable, verifies its SHA-256 against the
published checksum, swaps it in (the old file is removed at the next start) and
restarts. Settings and data stay untouched; pins and the snip history come back through
auto backup.
Changed
- The storage folder became the data storage location in Preferences → General → Data
(an existingcanvas.storage_foldersetting carries over). Besides the snip cache and
canvas tabs it holds the pin and snip history backups. Changing it asks Yes (move) /
No (leave the data; what is open is saved in the new place) / Cancel, says when the new
place already holds data, checks that it is writable, moves in the background with a
progress window and reports files that could not be moved. - Canvas dot grid reads like tldraw's: faint fine dots every grid step are shown from
100 % zoom, with larger, darker round dots every fourth step (one major level at a time,
so dots no longer stack darker where levels coincide).
Fixed
- Work handed back from background threads (or deferred) while a dialog opened from
deferred work was showing waited until that dialog closed.
Removed
config.toml.bak(what Auto backup used to write).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Auto backup (Preferences → General, on by default) now does what the original's does:
-
NoorPaste v0.3.0 Stable
released this
2026-10-06 01:05:23 +08:00 | 0 commits to main since this releaseAdded
- Snip toolbar: send to canvas. The button puts the snip into the current canvas tab, its
drop-down into the current or a new tab; the annotations stay editable on top of the
picture (all selected, so they move together; one undo step). Snips with eraser
strokes go flattened, since the eraser restores the screenshot the canvas does not
have. The snip also joins the snip cache, auto-save and history. - Snip toolbar: select button (left of the tools). While on, a click selects an
annotation and a drag selects several (Ctrl/Shift add); they move together, Delete
removes them and Ctrl+A selects all. The region's edges and anchors still resize it;
a tool or a second click on the button gives the mouse back to the region.
Changed
- Snip: Esc and the close button ask before quitting when the selection has annotations,
and so does a right click (select again), which used to drop them silently. Ask
for confirmation on Esc now also asks without annotations. No is the default button. - Canvas title bar (Windows 11) takes the tab row's colour and text colour in every frame
colour mode, with a matching window border; the title text fades while the canvas is
inactive.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Snip toolbar: send to canvas. The button puts the snip into the current canvas tab, its
-
NoorPaste v0.2.0 Stable
released this
2026-10-06 01:05:05 +08:00 | 0 commits to main since this releaseAdded
- Annotation palette themes: Classic (the original's), Morandi, Macaron, High contrast
and a user-editable Custom palette. Switch them from the drop-down next to the palette
in the tool sub panel, or in Preferences → Interface → Annotation. - Step-number annotation tool: each click places the next number as a circle or a
label (customisable text with{n}), optionally with a dragged leader arrow. Start
number in the sub panel; automatic renumbering or kept numbers in Preferences. - Callout annotation tool: a text box filled with the chosen colour (text in black or
white for contrast). Click places the box; dragging from the press pulls a pointer to
the release point, either a leader arrow or a speech-bubble tail. Square or rounded
corners, bold / italic, font and size in the sub panel; double-click edits the text,
the tip has its own handle. Saved canvas tabs keep callouts. - Canvas (Alt+F1, tray menu): collect pictures from the clipboard (Ctrl+V) or from the
scrollable snip cache strip, move/resize them (no tool) or annotate over them (any
tool), zoom a picture with Alt+wheel, change its stacking order from its right-click
menu, and copy, save or pin everything on the tab (content bounds plus a margin).
Endless canvas: wheel / Shift+wheel / tilt wheel scroll, Ctrl+wheel zooms at the
cursor, middle-button or Space drag pans, Ctrl+0 resets to 100 %, Ctrl+1 fits all; the
zoom shows at the bottom-left; each tab keeps its view. Browser-like tabs (Ctrl+T / Ctrl+W /
Ctrl+Tab; rename by double-click, F2 or the tab's right-click menu, which also closes
the tab or the other tabs; confirmation before closing tabs with content).
Per-tab background with curated presets, the three most recent ones on the toolbar,
transparent and custom colours; picture-shadow, always-on-top and clear buttons. Snips
copied to the clipboard are kept in the snip cache (count and size limits in
Preferences → Canvas). The strip header deletes single snips (trash can, then
× on each thumbnail) or clears the cache (broom, after a confirmation); deleted snips go
to the Recycle Bin. - Canvas tabs, their content and the window placement are saved and reopened after a
restart (switchable in Preferences → Canvas). The snip cache and the saved
tabs share one storage folder (snip_cache/andcanvas/inside), chosen with
Browse…, which offers to move the current data to the new folder. - Canvas mosaic/blur samples everything beneath it (pictures, earlier annotations) like
frosted glass that stays in place; copies, saves and pins show it, the saved tab keeps
the original pictures. Snips and pins keep sampling the screenshot, like the original. - Canvas zoom bar at the bottom-left: − / + in fixed steps (10 %–800 %), the zoom, 1:1
and show everything (clicking the percentage no longer resets the zoom). - Canvas shortcut help: hovering the ? button at the right of the toolbar row shows the
canvas's mouse and keyboard shortcuts in the snip overlay's hint panel style. - Canvas annotations change stacking order like pictures: right-click any item (without
switching tools) for front / forward / backward / back / delete; Ctrl+] / Ctrl+[ (with
Shift: front / back) for the selected item. - Canvas Ctrl+V turns text, HTML and non-image files' paths into pictures like a pin
paste (Preferences → Paste → Conversion). - Canvas toolbar in one row: the tool options float over the canvas with a soft shadow;
a Select (arrow) button leaves the tool. - Canvas multiple selection: drag on empty canvas to select every item the box touches,
Ctrl+click to add or remove one, Ctrl+drag for a box over items, Ctrl+A for all. The
selection moves together, arranges keeping its order, and Delete asks before removing
several items. - Canvas full screen (F11 or the toolbar button): covers the monitor without the tab row;
Esc leaves the tool or selection, then full screen, then hides the canvas. Not restored
after a restart. - Canvas clipboard watching (clipboard button on the snip cache strip, or Preferences →
Canvas; off by default): images other programs copy join the snip cache.
NoorPaste's own copies, a repeat of the last cached image and content its owner marks
as excluded from clipboard monitors / history are skipped. - Canvas select mode: clicking an annotation selects it without switching tools, and the
floating panel edits its colour, width or font; Shift works like Ctrl for adding to
the selection. - Snip cache hover preview: hovering a thumbnail shows the snip in a fixed card left of
the strip (700 DIP wide, 16:9 picture area, size and time underneath; the picture fits
inside, never enlarged), decoded on a worker; the thumbnail stands in meanwhile. It hides
as soon as the pointer leaves the strip. The card fades in (80 ms) and out, and
pictures cross-fade (120 ms) when moving between thumbnails or when the sharp image
replaces the thumbnail; with Windows' animation effects off, changes are immediate. - Canvas frame colour (Preferences → Canvas → Appearance): Auto (default; light or dark by
the tab background, in the background's hue: each frame colour keeps its lightness and
takes the background's hue and saturation, capped at 35 %), Light or Dark, for the tab
row, toolbar and strip (and a dark or light title bar). Snip and pin toolbars keep the
original light look. - Preferences: the canvas settings have their own top-level tab (Appearance, Snip cache,
Tabs) instead of Output → Canvas. - Canvas right-button drag pans (a right click that does not move still opens the menu),
alongside the middle button (which some mouse utilities such as Logi Options+ take). - Canvas backgrounds Lavender mist (
#ECE8F2) and Dusk violet (#2C2836). - Tray icon click actions (Preferences → Control → Mouse): click and double click each run
snip, show/hide canvas, show/hide pins or nothing; defaults snip / canvas. With a
double-click action, a click waits for the system's double-click time. - Freehand smoothing (pencil, marker, brush mosaic and eraser): a pulled-string
stabilizer while drawing, then simplification and a corner-cut curve on release; the
sub-panel button cycles off / low / medium / high (default low; Shift-straight strokes
are left alone). - Canvas snapping (magnet button, on by default): moving and resizing snap to other items'
edges and centres (geometry, not stroke paint) with pink guides; Alt suspends it. - Canvas dot grid (grid button): tldraw-style levels that fade in with the zoom, dark or
light dots by background, never exported; with the grid on, moves and resizes snap to
its 10 px step.
Changed
- Shortcut hint panels (snip overlay, canvas help) have a new look: dark rounded card
with a soft shadow, filled key caps joined by "+", 9 pt text; the canvas help is
grouped (View, Select & edit, Clipboard & output, Tabs & window) in two columns. - The snip cache is written on a worker thread (under a temporary name, then renamed),
so copying a large snip no longer stalls the UI. - Tray icon: a double click now shows / hides the canvas by default, so a single click
snips after the double-click time (set the double click to None for instant snips).
Fixed
- Preferences: the frame line of the Paste → Conversion and Output → File groups no longer
runs through their caption check boxes (Text to image, Auto Save). - Folder pickers open even when the start folder is written with forward slashes.
- Text annotations can be moved: drag an existing text (a click still edits it), or drag
the frame of the text being edited. Applies to snips, pins and the canvas.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Annotation palette themes: Classic (the original's), Morandi, Macaron, High contrast