diff --git a/PRIVACY.md b/PRIVACY.md index 8c141a9b..bdb022e3 100644 --- a/PRIVACY.md +++ b/PRIVACY.md @@ -108,7 +108,7 @@ When you explicitly click one of the links in **Settings → About**, CoPanda op - **Sponsor the project** → `https://github.com/sponsors/rgdevment` - **Buy me a coffee** → `https://buymeacoffee.com/rgdevment` - **Rate it on the Store** (Windows only) → opens the Microsoft Store app on CoPanda's review page -- **Other tools** → `https://rgdevment.com/tisty/` and `https://rgdevment.com/linkunbound/` +- **Other tools** → `https://www.tisty.app/` and `https://www.linkunbound.app/` The same goes for a link you open from a card in the panel. If [LinkUnbound](https://github.com/rgdevment/LinkUnbound) is installed, these web links go through it so it can pick the browser; otherwise they go straight to your default browser. diff --git a/README.md b/README.md index 8f302f07..32b2357a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
- CoPanda — Free Open Source Clipboard Manager for Windows and macOS + CoPanda — Free Open Source Clipboard Manager for Windows and macOS

CoPanda (formerly CopyPaste) — Free Open Source Clipboard Manager

An extra thumb for your clipboard.

@@ -92,23 +92,23 @@ This isn't a company product. I'm a developer who needed a better **copy paste** ## See CoPanda in Action
- CoPanda clipboard manager demo — search clipboard history, paste with keyboard shortcuts, cross-platform on Windows and macOS + CoPanda clipboard manager demo — search clipboard history, paste with keyboard shortcuts, cross-platform on Windows and macOS
Fast search, clean cards, and a native feel across Windows and macOS.

- CoPanda, an extra thumb for your clipboard: searchable, private and always on your machine + CoPanda, an extra thumb for your clipboard: searchable, private and always on your machine

- CoPanda clipboard history — the panel with everything you copied, opened with Ctrl+Alt+V on Windows and macOS - CoPanda copy tool — type #image, #link or #token to filter the clipboard history by kind + CoPanda clipboard history — the panel with everything you copied, opened with Ctrl+Alt+V on Windows and macOS + CoPanda copy tool — type #image, #link or #token to filter the clipboard history by kind

- CoPanda paste as — paste a token as a header or curl, a colour in rgb(), JSON minified or a link in Markdown - CoPanda privacy — 100% local, no account, no telemetry, passwords from 1Password or Bitwarden are ignored + CoPanda paste as — paste a token as a header or curl, a colour in rgb(), JSON minified or a link in Markdown + CoPanda privacy — 100% local, no account, no telemetry, passwords from 1Password or Bitwarden are ignored

- CoPanda settings — light, dark or system theme, six accent colours and your own shortcut - CoPanda is a free and open source clipboard manager for Windows and macOS under GPL-3.0 + CoPanda settings — light, dark or system theme, six accent colours and your own shortcut + CoPanda is a free and open source clipboard manager for Windows and macOS under GPL-3.0
--- @@ -675,19 +675,13 @@ way you work. I build free, open source tools focused on privacy and productivity. If you like CoPanda, you might also find these useful: -

- - LinkUnbound - -

- -### [LinkUnbound](https://rgdevment.com/linkunbound/) +### [LinkUnbound](https://www.linkunbound.app/) A free, open source browser picker for Windows and Mac. Every link you click gets intercepted — domain rules open the assigned browser instantly, or a small picker appears near your cursor to let you choose. Resolves Microsoft SafeLinks and redirect wrappers before matching rules. No ads. No telemetry. No accounts. Everything local. -### [Tisty](https://rgdevment.com/tisty/) +### [Tisty](https://www.tisty.app/) Notes, documents and tasks that stay on your machine, in plain files you can read without it. Same rules as everything else here: no accounts, no telemetry, no cloud. diff --git a/app/src-tauri/capabilities/default.json b/app/src-tauri/capabilities/default.json index b6168aca..c653017a 100644 --- a/app/src-tauri/capabilities/default.json +++ b/app/src-tauri/capabilities/default.json @@ -17,6 +17,12 @@ { "url": "https://rgdevment.com/*" }, + { + "url": "https://www.tisty.app/*" + }, + { + "url": "https://www.linkunbound.app/*" + }, { "url": "https://github.com/*" }, diff --git a/app/src/index.css b/app/src/index.css index 19c4c28b..38a0deac 100644 --- a/app/src/index.css +++ b/app/src/index.css @@ -873,15 +873,10 @@ button:disabled { } .tool .ico { - width: 24px; - height: 24px; + width: 28px; + height: 28px; flex: none; - display: grid; - place-items: center; - border-radius: var(--r-inset); - color: #ffffff; - font-size: var(--fs-small); - font-weight: 600; + object-fit: contain; } .tool b { @@ -1508,7 +1503,8 @@ button:disabled { @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .welcome-panda, :root:not([data-theme="light"]) .welcome-mark, - :root:not([data-theme="light"]) .brow .mark { + :root:not([data-theme="light"]) .brow .mark, + :root:not([data-theme="light"]) .tool .ico { filter: drop-shadow(0 0 1px rgb(248 250 255 / 0.9)) drop-shadow(0 0 10px rgb(248 250 255 / 0.25)); } @@ -1516,7 +1512,8 @@ button:disabled { :root[data-theme="dark"] .welcome-panda, :root[data-theme="dark"] .welcome-mark, -:root[data-theme="dark"] .brow .mark { +:root[data-theme="dark"] .brow .mark, +:root[data-theme="dark"] .tool .ico { filter: drop-shadow(0 0 1px rgb(248 250 255 / 0.9)) drop-shadow(0 0 10px rgb(248 250 255 / 0.25)); } diff --git a/app/src/linkunbound.svg b/app/src/linkunbound.svg new file mode 100644 index 00000000..7470f0dd --- /dev/null +++ b/app/src/linkunbound.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/app/src/tests/links.test.ts b/app/src/tests/links.test.ts index a9cd6071..1d7ebb51 100644 --- a/app/src/tests/links.test.ts +++ b/app/src/tests/links.test.ts @@ -5,7 +5,7 @@ import { LINKS } from "../ui/About"; type Allowed = { url: string }; type Permission = string | { identifier: string; allow?: Allowed[] }; -const TOOLS = ["https://rgdevment.com/tisty/", "https://rgdevment.com/linkunbound/"]; +const TOOLS = ["https://www.tisty.app/", "https://www.linkunbound.app/"]; function allowed(): string[] { const said = readFileSync("src-tauri/capabilities/default.json", "utf8"); @@ -40,7 +40,7 @@ describe("the links in About", () => { it("the other tools lead to their own page, not to the repository", () => { for (const url of TOOLS) { - expect(url.startsWith("https://rgdevment.com/")).toBe(true); + expect(url.startsWith("https://github.com/")).toBe(false); } }); }); diff --git a/app/src/tisty.svg b/app/src/tisty.svg new file mode 100644 index 00000000..8a91cb0b --- /dev/null +++ b/app/src/tisty.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/ui/About.tsx b/app/src/ui/About.tsx index 3d099cda..81fc0dc9 100644 --- a/app/src/ui/About.tsx +++ b/app/src/ui/About.tsx @@ -3,9 +3,11 @@ import { invoke } from "@tauri-apps/api/core"; import { openUrl, revealItemInDir } from "@tauri-apps/plugin-opener"; import { useEffect, useRef, useState } from "react"; import { licences, notices, type Route, useUpdate } from "../core"; +import linkunbound from "../linkunbound.svg"; import { fill, t } from "../locales"; import { composed } from "../markdown"; import panda from "../panda.svg"; +import tisty from "../tisty.svg"; import { CloudOff, Code, Gift, Info, Key } from "./Icons"; const STARS = "https://github.com/rgdevment/CopyPaste"; @@ -57,15 +59,15 @@ function Newer() { const TOOLS = [ { name: "Tisty", - hue: "#7c6cf0", + icon: tisty, says: "toolTisty", - at: "https://rgdevment.com/tisty/", + at: "https://www.tisty.app/", }, { name: "LinkUnbound", - hue: "#3fbfa6", + icon: linkunbound, says: "toolLinkUnbound", - at: "https://rgdevment.com/linkunbound/", + at: "https://www.linkunbound.app/", }, ]; @@ -266,9 +268,7 @@ export default function About() {
{t("otherTools")}
{TOOLS.map((tool) => (