chore: rebrand from Kon/Corbie to Magnotia
Replace all instances of the legacy product names "Kon" and "Corbie" with "Magnotia" across user-facing copy, code identifiers, package names, bundle ids, file paths, and documentation. Preserves the unrelated "konsole" (KDE terminal) reference and the parent CORBEL company name. - Renames 10 Rust crates (kon-* → magnotia-*) and the tauri binary - Updates package.json, tauri.conf.json (productName + identifier) - Renames CSS classes (kon-rh-* → magnotia-rh-*) and animations - Renames brand and roadmap docs - Regenerates Cargo.lock and package-lock.json Verified: svelte-check passes; pure-rust crates compile under new names.
This commit is contained in:
@@ -42,7 +42,7 @@
|
||||
const prefs = getPreferences();
|
||||
const tauriRuntimeAvailable = hasTauriRuntime();
|
||||
|
||||
// On Linux Kon uses native KWin/Mutter decorations (see
|
||||
// On Linux Magnotia uses native KWin/Mutter decorations (see
|
||||
// src-tauri/tauri.linux.conf.json and windows.rs). Frameless custom
|
||||
// chrome stays for macOS and Windows. Default to false so Linux users
|
||||
// don't see a flash of custom titlebar before loadOsInfo resolves.
|
||||
@@ -68,7 +68,7 @@
|
||||
});
|
||||
|
||||
// Global hotkey registration — dual backend
|
||||
// Wayland: evdev via kon-hotkey crate (works without display server)
|
||||
// Wayland: evdev via magnotia-hotkey crate (works without display server)
|
||||
// X11/macOS/Windows: tauri-plugin-global-shortcut (native)
|
||||
let registeredHotkey = null;
|
||||
let hotkeyBackend = $state("unknown"); // "evdev" | "tauri" | "unavailable"
|
||||
@@ -123,7 +123,7 @@
|
||||
await mod.register(hotkey, () => {
|
||||
if (page.current !== "dictation") page.current = "dictation";
|
||||
requestAnimationFrame(() => {
|
||||
window.dispatchEvent(new CustomEvent("kon:toggle-recording"));
|
||||
window.dispatchEvent(new CustomEvent("magnotia:toggle-recording"));
|
||||
});
|
||||
});
|
||||
registeredHotkey = hotkey;
|
||||
@@ -159,13 +159,13 @@
|
||||
async function setupEvdevListener() {
|
||||
if (!tauriRuntimeAvailable) return;
|
||||
const { listen } = await import("@tauri-apps/api/event");
|
||||
unlistenEvdev = await listen("kon:hotkey-pressed", () => {
|
||||
unlistenEvdev = await listen("magnotia:hotkey-pressed", () => {
|
||||
const now = Date.now();
|
||||
if (now - lastHotkeyAtMs < HOTKEY_DEBOUNCE_MS) return;
|
||||
lastHotkeyAtMs = now;
|
||||
if (page.current !== "dictation") page.current = "dictation";
|
||||
requestAnimationFrame(() => {
|
||||
window.dispatchEvent(new CustomEvent("kon:toggle-recording"));
|
||||
window.dispatchEvent(new CustomEvent("magnotia:toggle-recording"));
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -217,7 +217,7 @@
|
||||
let unlistenWindDown = null;
|
||||
async function setupWindDownListener() {
|
||||
if (!tauriRuntimeAvailable) return;
|
||||
unlistenWindDown = await listen("kon:open-wind-down", () => {
|
||||
unlistenWindDown = await listen("magnotia:open-wind-down", () => {
|
||||
page.current = "shutdown";
|
||||
});
|
||||
}
|
||||
@@ -325,7 +325,7 @@
|
||||
invoke("check_for_update")
|
||||
.then((version) => {
|
||||
if (version) {
|
||||
toasts.info(`Kon ${version} is available. Download and restart to update.`);
|
||||
toasts.info(`Magnotia ${version} is available. Download and restart to update.`);
|
||||
}
|
||||
})
|
||||
.catch(() => { /* update check failure must not affect the app */ });
|
||||
@@ -442,7 +442,7 @@
|
||||
in the bottom-right of the viewport. (Day 3 of the upgrade plan) -->
|
||||
<ToastViewport />
|
||||
|
||||
<!-- Global focus-timer overlay. Renders nothing until a `kon:start-timer`
|
||||
<!-- Global focus-timer overlay. Renders nothing until a `magnotia:start-timer`
|
||||
event fires; then pins a shrinking colour ring to the top-right.
|
||||
Phase 1 of the 2026-04-23 feature-complete roadmap — closes the
|
||||
visual-time-representation gap from docs/brief/feature-set.md and
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
<main class="h-full overflow-hidden" aria-label="Kon application content">
|
||||
<main class="h-full overflow-hidden" aria-label="Magnotia application content">
|
||||
{#if page.current === "first-run"}
|
||||
<FirstRunPage />
|
||||
{:else if page.current === "dictation"}
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
// Listen for settings changes from main window
|
||||
if (typeof window !== "undefined") {
|
||||
window.addEventListener("storage", (e) => {
|
||||
if (e.key === "kon_settings" && e.newValue) {
|
||||
if (e.key === "magnotia_settings" && e.newValue) {
|
||||
try {
|
||||
Object.assign(settings, JSON.parse(e.newValue));
|
||||
} catch {}
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
onpointerdown={handleDragStart}
|
||||
>
|
||||
<span class="text-[12px] font-medium text-text-secondary tracking-wide">
|
||||
Kon - To-do
|
||||
Magnotia - To-do
|
||||
</span>
|
||||
|
||||
<div class="flex-1"></div>
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
if (typeof window !== "undefined") {
|
||||
window.addEventListener("storage", (event) => {
|
||||
if (event.key === "kon_settings" && event.newValue) {
|
||||
if (event.key === "magnotia_settings" && event.newValue) {
|
||||
try { Object.assign(settings, JSON.parse(event.newValue)); } catch {}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
// Sync settings from main window
|
||||
if (typeof window !== "undefined") {
|
||||
window.addEventListener("storage", (e) => {
|
||||
if (e.key === "kon_settings" && e.newValue) {
|
||||
if (e.key === "magnotia_settings" && e.newValue) {
|
||||
try { Object.assign(settings, JSON.parse(e.newValue)); } catch {}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -92,8 +92,8 @@
|
||||
}
|
||||
|
||||
onMount(() => {
|
||||
loadFromHandoff(localStorage.getItem("kon_viewer_item"));
|
||||
const mode = localStorage.getItem("kon_viewer_mode");
|
||||
loadFromHandoff(localStorage.getItem("magnotia_viewer_item"));
|
||||
const mode = localStorage.getItem("magnotia_viewer_mode");
|
||||
if (mode === "edit" || mode === "view") viewerMode = mode;
|
||||
|
||||
// Listen for new items via storage events
|
||||
@@ -139,7 +139,7 @@
|
||||
}
|
||||
|
||||
function handleStorageChange(e: StorageEvent) {
|
||||
if (e.key === "kon_viewer_item" && e.newValue) {
|
||||
if (e.key === "magnotia_viewer_item" && e.newValue) {
|
||||
void loadFromHandoff(e.newValue);
|
||||
}
|
||||
}
|
||||
@@ -317,7 +317,7 @@
|
||||
if (!item) return;
|
||||
try {
|
||||
localStorage.setItem(
|
||||
"kon_viewer_item",
|
||||
"magnotia_viewer_item",
|
||||
JSON.stringify({ id: String(item.id), stamp: Date.now() }),
|
||||
);
|
||||
} catch {}
|
||||
@@ -391,7 +391,7 @@
|
||||
onpointerdown={handleDragStart}
|
||||
>
|
||||
<span class="text-[12px] font-medium text-text-secondary tracking-wide">
|
||||
Kon - {viewerMode === "edit" ? "Editor" : "Viewer"}
|
||||
Magnotia - {viewerMode === "edit" ? "Editor" : "Viewer"}
|
||||
</span>
|
||||
<div class="flex-1"></div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user