clippa 1.0.2 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -27
- package/bin/install-clippa.js +3 -3
- package/docs/assets/app-icon.png +0 -0
- package/docs/assets/screenshot-panel.svg +61 -35
- package/outputs/Clippa.app.zip +0 -0
- package/package.json +5 -2
package/README.md
CHANGED
|
@@ -5,7 +5,13 @@
|
|
|
5
5
|
<h1 align="center">Clippa</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
|
-
|
|
8
|
+
Private, keyboard-first clipboard history for macOS.
|
|
9
|
+
</p>
|
|
10
|
+
|
|
11
|
+
<p align="center">
|
|
12
|
+
<a href="https://github.com/Vaniawl/Clippa/releases/latest"><img alt="Latest release" src="https://img.shields.io/github/v/release/Vaniawl/Clippa?style=flat-square"></a>
|
|
13
|
+
<img alt="macOS 26+" src="https://img.shields.io/badge/macOS-26%2B-111111?style=flat-square">
|
|
14
|
+
<a href="LICENSE"><img alt="MIT License" src="https://img.shields.io/badge/license-MIT-087f78?style=flat-square"></a>
|
|
9
15
|
</p>
|
|
10
16
|
|
|
11
17
|
<p align="center">
|
|
@@ -22,36 +28,33 @@
|
|
|
22
28
|
|
|
23
29
|
## Install Clippa
|
|
24
30
|
|
|
25
|
-
|
|
31
|
+
Recommended:
|
|
26
32
|
|
|
27
33
|
```bash
|
|
28
|
-
|
|
34
|
+
brew tap Vaniawl/clippa
|
|
35
|
+
brew install clippa
|
|
29
36
|
```
|
|
30
37
|
|
|
31
|
-
|
|
38
|
+
Update later with:
|
|
32
39
|
|
|
33
40
|
```bash
|
|
34
|
-
|
|
35
|
-
clippa
|
|
41
|
+
brew update
|
|
42
|
+
brew upgrade clippa
|
|
36
43
|
```
|
|
37
44
|
|
|
38
|
-
|
|
45
|
+
You can also install the current version directly from GitHub:
|
|
39
46
|
|
|
40
47
|
```bash
|
|
41
|
-
npx github:Vaniawl/Clippa
|
|
48
|
+
npx --yes github:Vaniawl/Clippa#main
|
|
42
49
|
```
|
|
43
50
|
|
|
44
|
-
Do not use `npx install clippa`: npm treats `install` as the package name in that command. The correct npx command is `npx clippa`.
|
|
45
|
-
|
|
46
51
|
After it opens, grant Accessibility access when macOS asks. Clippa needs that permission only to paste the selected item into the app where your cursor is already active.
|
|
47
52
|
|
|
48
53
|
Useful installer options:
|
|
49
54
|
|
|
50
55
|
```bash
|
|
51
|
-
npx
|
|
52
|
-
npx
|
|
53
|
-
npx github:Vaniawl/Clippa -- --no-open
|
|
54
|
-
npx github:Vaniawl/Clippa -- --install-dir ~/Applications
|
|
56
|
+
npx --yes github:Vaniawl/Clippa#main --no-open
|
|
57
|
+
npx --yes github:Vaniawl/Clippa#main --install-dir ~/Applications
|
|
55
58
|
```
|
|
56
59
|
|
|
57
60
|
You can also download `Clippa.app.zip` from the latest GitHub release, unzip it, move `Clippa.app` to `/Applications`, and open it.
|
|
@@ -59,17 +62,24 @@ You can also download `Clippa.app.zip` from the latest GitHub release, unzip it,
|
|
|
59
62
|
## How It Works
|
|
60
63
|
|
|
61
64
|
- Runs quietly in the background as a menu-bar app.
|
|
62
|
-
- Press `Command-Shift-
|
|
65
|
+
- Press `Command-Shift-V` anywhere to open clipboard history.
|
|
63
66
|
- Use `Up` / `Down` to choose a clipboard item.
|
|
67
|
+
- Use `Left` / `Right` to switch between clipboard filters.
|
|
68
|
+
- Press `Command-P` to pin or unpin the selected item.
|
|
64
69
|
- Press `Enter` or click an item to paste it.
|
|
70
|
+
- Keeps the newest copied item at the top and shows pinned items only in the Pinned filter.
|
|
71
|
+
- Optionally adds one space after pasted text or links.
|
|
72
|
+
- Use the context menu to copy, pin, delete, open, or Quick Look an item.
|
|
73
|
+
- Drag text, links, images, and files directly into other apps.
|
|
65
74
|
- Press `Esc` or click outside the panel to close it.
|
|
66
75
|
- Stores recent text, links, images, and file references locally on your Mac.
|
|
76
|
+
- Supports configurable retention, history limits, excluded apps, and Launch at Login.
|
|
67
77
|
|
|
68
78
|
## Privacy
|
|
69
79
|
|
|
70
80
|
Clippa does not upload clipboard contents, does not use analytics, and does not require an account. Clipboard history is stored only on your Mac and encrypted locally with a per-user AES-GCM key file in Application Support. Clippa does not read or write Keychain items at startup, so locally signed reinstall builds do not trigger Keychain password prompts.
|
|
71
81
|
|
|
72
|
-
Accessibility permission is only used to
|
|
82
|
+
Accessibility permission is only used to restore focus and paste the selected clip into the app that was active before Clippa opened. If automatic paste is unavailable, Clippa keeps the item on the system clipboard and shows a direct link to the required permission.
|
|
73
83
|
|
|
74
84
|
## Requirements
|
|
75
85
|
|
|
@@ -91,15 +101,6 @@ The packaged app is written to:
|
|
|
91
101
|
outputs/Clippa.app.zip
|
|
92
102
|
```
|
|
93
103
|
|
|
94
|
-
## npm Publish
|
|
95
|
-
|
|
96
|
-
The npm installer package is prepared as `clippa`. Publishing to npm requires an authenticated npm session:
|
|
97
|
-
|
|
98
|
-
```bash
|
|
99
|
-
npm adduser
|
|
100
|
-
npm publish --access public
|
|
101
|
-
```
|
|
102
|
-
|
|
103
104
|
## Update From Git
|
|
104
105
|
|
|
105
106
|
For an existing checkout:
|
|
@@ -111,6 +112,6 @@ git pull origin main
|
|
|
111
112
|
## Production Notes
|
|
112
113
|
|
|
113
114
|
- Bundle identifier: `com.ivandovhosheia.Clippa`
|
|
114
|
-
- Version: `1.0.
|
|
115
|
+
- Version: `1.0.9`
|
|
115
116
|
- Release builds use hardened runtime.
|
|
116
|
-
-
|
|
117
|
+
- History retention and item limits are configurable; the default is 100 items for one week.
|
package/bin/install-clippa.js
CHANGED
|
@@ -10,7 +10,7 @@ const appName = "Clippa";
|
|
|
10
10
|
const bundleIdentifier = "com.ivandovhosheia.Clippa";
|
|
11
11
|
const localZipPath = path.resolve(__dirname, "../outputs/Clippa.app.zip");
|
|
12
12
|
const packageJson = require("../package.json");
|
|
13
|
-
const defaultZipUrl = "https://github.com/Vaniawl/Clippa/releases/download/v1.0.
|
|
13
|
+
const defaultZipUrl = "https://github.com/Vaniawl/Clippa/releases/download/v1.0.9/Clippa.app.zip";
|
|
14
14
|
const zipUrl = process.env.CLIPPA_ZIP_URL || defaultZipUrl;
|
|
15
15
|
|
|
16
16
|
function usage() {
|
|
@@ -28,7 +28,7 @@ Options:
|
|
|
28
28
|
--help Show this help.
|
|
29
29
|
|
|
30
30
|
The installer copies Clippa.app to /Applications when possible, otherwise to ~/Applications.
|
|
31
|
-
Press Command-Shift-
|
|
31
|
+
Press Command-Shift-V in a text field to open Clippa.
|
|
32
32
|
`);
|
|
33
33
|
}
|
|
34
34
|
|
|
@@ -189,7 +189,7 @@ async function main() {
|
|
|
189
189
|
if (!options.noOpen) {
|
|
190
190
|
console.log("Opening Clippa...");
|
|
191
191
|
run("/usr/bin/open", [installPath]);
|
|
192
|
-
console.log("Press Command-Shift-
|
|
192
|
+
console.log("Press Command-Shift-V in a text field to open Clippa. Grant Accessibility access if macOS asks.");
|
|
193
193
|
}
|
|
194
194
|
} finally {
|
|
195
195
|
fs.rmSync(tempDir, { recursive: true, force: true });
|
package/docs/assets/app-icon.png
CHANGED
|
Binary file
|
|
@@ -1,39 +1,65 @@
|
|
|
1
|
-
<svg width="
|
|
2
|
-
<rect width="
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
<filter id="shadow" x="300" y="124" width="840" height="600" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse">
|
|
6
|
-
<feDropShadow dx="0" dy="26" stdDeviation="28" flood-color="#000000" flood-opacity=".34"/>
|
|
1
|
+
<svg width="1600" height="900" viewBox="0 0 1600 900" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<rect width="1600" height="900" fill="#0E1011"/>
|
|
3
|
+
<filter id="shadow" x="535" y="90" width="1030" height="700" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse">
|
|
4
|
+
<feDropShadow dx="0" dy="34" stdDeviation="38" flood-color="#000000" flood-opacity=".52"/>
|
|
7
5
|
</filter>
|
|
8
6
|
<g filter="url(#shadow)">
|
|
9
|
-
<rect x="
|
|
10
|
-
<rect x="
|
|
7
|
+
<rect x="610" y="150" width="850" height="560" rx="34" fill="#202223" fill-opacity=".94"/>
|
|
8
|
+
<rect x="610.5" y="150.5" width="849" height="559" rx="33.5" stroke="#FFFFFF" stroke-opacity=".14"/>
|
|
11
9
|
</g>
|
|
12
|
-
|
|
13
|
-
<
|
|
14
|
-
<text x="
|
|
15
|
-
<text x="
|
|
16
|
-
<
|
|
17
|
-
<
|
|
18
|
-
<
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
<
|
|
22
|
-
<
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
10
|
+
|
|
11
|
+
<image href="app-icon.png" x="650" y="188" width="46" height="46"/>
|
|
12
|
+
<text x="714" y="207" fill="#F5F5F3" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="25" font-weight="700">Clippa</text>
|
|
13
|
+
<text x="714" y="231" fill="#A2A6A5" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="15" font-weight="500">4 Items</text>
|
|
14
|
+
<rect x="1328" y="197" width="84" height="28" rx="14" fill="#0A84FF" fill-opacity=".14"/>
|
|
15
|
+
<path d="M1344 211l4-5 4 5v6h-8v-6z" fill="#6DB8FF"/>
|
|
16
|
+
<text x="1360" y="216" fill="#6DB8FF" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="14" font-weight="650">2</text>
|
|
17
|
+
|
|
18
|
+
<rect x="650" y="255" width="762" height="42" rx="11" fill="#FFFFFF" fill-opacity=".07"/>
|
|
19
|
+
<circle cx="671" cy="276" r="6" stroke="#9DA3A2" stroke-width="2"/>
|
|
20
|
+
<path d="M676 281l5 5" stroke="#9DA3A2" stroke-width="2" stroke-linecap="round"/>
|
|
21
|
+
<text x="693" y="281" fill="#929897" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="15">Search clipboard</text>
|
|
22
|
+
|
|
23
|
+
<g font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="13" font-weight="600">
|
|
24
|
+
<rect x="650" y="314" width="70" height="30" rx="15" fill="#0A84FF"/>
|
|
25
|
+
<text x="674" y="334" fill="white">All</text>
|
|
26
|
+
<rect x="729" y="314" width="90" height="30" rx="15" fill="#FFFFFF" fill-opacity=".07"/>
|
|
27
|
+
<text x="749" y="334" fill="#D6D9D8">Pinned</text>
|
|
28
|
+
<rect x="828" y="314" width="75" height="30" rx="15" fill="#FFFFFF" fill-opacity=".07"/>
|
|
29
|
+
<text x="849" y="334" fill="#D6D9D8">Text</text>
|
|
30
|
+
<rect x="912" y="314" width="78" height="30" rx="15" fill="#FFFFFF" fill-opacity=".07"/>
|
|
31
|
+
<text x="932" y="334" fill="#D6D9D8">Links</text>
|
|
32
|
+
<rect x="999" y="314" width="90" height="30" rx="15" fill="#FFFFFF" fill-opacity=".07"/>
|
|
33
|
+
<text x="1018" y="334" fill="#D6D9D8">Images</text>
|
|
34
|
+
<rect x="1098" y="314" width="76" height="30" rx="15" fill="#FFFFFF" fill-opacity=".07"/>
|
|
35
|
+
<text x="1119" y="334" fill="#D6D9D8">Files</text>
|
|
36
|
+
</g>
|
|
37
|
+
|
|
38
|
+
<rect x="650" y="362" width="762" height="68" rx="13" fill="#0A84FF" fill-opacity=".15"/>
|
|
39
|
+
<rect x="650.5" y="362.5" width="761" height="67" rx="12.5" stroke="#0A84FF" stroke-opacity=".34"/>
|
|
40
|
+
<rect x="663" y="375" width="42" height="42" rx="9" fill="#FFFFFF" fill-opacity=".08"/>
|
|
41
|
+
<path d="M674 403h20M674 393h24M674 383h17" stroke="#E6E8E7" stroke-width="3" stroke-linecap="round"/>
|
|
42
|
+
<text x="720" y="391" fill="#F7F8F7" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="18" font-weight="650">Release checklist</text>
|
|
43
|
+
<text x="720" y="414" fill="#AAB0AE" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="13">Text · Notes · now</text>
|
|
44
|
+
<text x="1380" y="402" fill="#9AA09E" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="17">↵</text>
|
|
45
|
+
|
|
46
|
+
<rect x="650" y="438" width="762" height="68" rx="13" fill="#FFFFFF" fill-opacity=".035"/>
|
|
47
|
+
<rect x="663" y="451" width="42" height="42" rx="9" fill="#64D2C8" fill-opacity=".12"/>
|
|
48
|
+
<path d="M674 482l11-13 8 9 5-5 8 12h-32v-3z" fill="#64D2C8"/>
|
|
49
|
+
<text x="720" y="467" fill="#F7F8F7" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="18" font-weight="650">Clipboard image</text>
|
|
50
|
+
<text x="720" y="490" fill="#AAB0AE" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="13">Image · 1280 × 720 · Preview</text>
|
|
51
|
+
|
|
52
|
+
<rect x="650" y="514" width="762" height="68" rx="13" fill="#FFFFFF" fill-opacity=".035"/>
|
|
53
|
+
<rect x="663" y="527" width="42" height="42" rx="9" fill="#0A84FF" fill-opacity=".12"/>
|
|
54
|
+
<path d="M674 549c5-7 10-7 15 0s10 7 15 0" stroke="#69B4FF" stroke-width="4" stroke-linecap="round"/>
|
|
55
|
+
<text x="720" y="543" fill="#F7F8F7" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="18" font-weight="650">https://example.com/research</text>
|
|
56
|
+
<text x="720" y="566" fill="#AAB0AE" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="13">URL · Safari · 2 min ago</text>
|
|
57
|
+
|
|
58
|
+
<rect x="650" y="590" width="762" height="68" rx="13" fill="#FFFFFF" fill-opacity=".035"/>
|
|
59
|
+
<rect x="663" y="603" width="42" height="42" rx="9" fill="#FFCC66" fill-opacity=".12"/>
|
|
60
|
+
<path d="M675 611h17l8 8v18h-25v-26z" stroke="#FFD479" stroke-width="3" stroke-linejoin="round"/>
|
|
61
|
+
<text x="720" y="619" fill="#F7F8F7" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="18" font-weight="650">invoice.pdf</text>
|
|
62
|
+
<text x="720" y="642" fill="#AAB0AE" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="13">File · Finder · yesterday</text>
|
|
63
|
+
|
|
64
|
+
<text x="610" y="772" fill="#7F8583" font-family="-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif" font-size="16" font-weight="600">⇧⌘V to open · ↑↓ to select · ←→ to filter · Return to paste</text>
|
|
39
65
|
</svg>
|
package/outputs/Clippa.app.zip
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clippa",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Installer for Clippa, a private
|
|
3
|
+
"version": "1.0.9",
|
|
4
|
+
"description": "Installer for Clippa, a private keyboard-first clipboard history app for macOS.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"install-clippa": "bin/install-clippa.js",
|
|
7
7
|
"clippa": "bin/install-clippa.js"
|
|
@@ -28,6 +28,9 @@
|
|
|
28
28
|
"keywords": [
|
|
29
29
|
"macos",
|
|
30
30
|
"clipboard",
|
|
31
|
+
"clipboard-manager",
|
|
32
|
+
"clipboard-history",
|
|
33
|
+
"privacy",
|
|
31
34
|
"swiftui",
|
|
32
35
|
"productivity"
|
|
33
36
|
],
|