feat(identity): rename user-visible identity to voculinux with one-time legacy import

The fork takes its own name everywhere a user can see it: binaries
(voculinux, voculinux-gui), desktop entry, autostart, tray, D-Bus
namespace (com.voculinux.Voculinux, no alias for the old name),
config/data/cache dirs, single-instance lock, IBus engine identity,
tray icons, resource prefixes, VOCULINUX_* environment names, and the
update-checker user agent. The internal Python module stays vocalinux
and the distribution metadata keeps the upstream URLs as provenance.

On first run a previous Vocalinux install's config.json, custom
dictionary, and portal restore token are copied once into the new
locations (new config always wins, no merge, no write-back); models
re-resolve through the pinned-checksum download path. An offline
naming-sweep test proves no old-name strings remain on user-visible
surfaces outside the allowlist.

Refs #18
This commit is contained in:
soubarnak
2026-11-06 01:29:39 +05:30
parent c565e6d946
commit ea7be5f111
251 changed files with 2449 additions and 1991 deletions
+19 -19
View File
@@ -1,6 +1,6 @@
# Vocalinux Flatpak Packaging
# Voculinux Flatpak Packaging
Manifest and AppStream metadata for building Vocalinux as a Flatpak.
Manifest and AppStream metadata for building Voculinux as a Flatpak.
## VocaHQ remote (auto-update)
@@ -9,33 +9,33 @@ Homebrew-tap analogue — which `release.yml` signs and publishes to
`VocaHQ/vocalinux-flatpak` (GitHub Pages) on every stable `v*` tag:
```bash
flatpak install https://vocahq.github.io/vocalinux-flatpak/com.vocalinux.Vocalinux.flatpakref
flatpak install https://vocahq.github.io/voculinux-flatpak/com.voculinux.Voculinux.flatpakref
flatpak update # each new release arrives here
```
The `.flatpakref` adds the `vocahq` remote and resolves the GNOME runtime
through Flathub via `RuntimeRepo=` — the manual equivalent is `remote-add`
for `flathub` then `vocahq`, then `flatpak install vocahq
com.vocalinux.Vocalinux`. Only the app is ours; `org.gnome.Platform//50`
com.voculinux.Voculinux`. Only the app is ours; `org.gnome.Platform//50`
still comes from Flathub. One-time repo/key setup:
[docs/FLATPAK_REMOTE.md](../../docs/FLATPAK_REMOTE.md).
## GitHub Release bundles
Each `v*` GitHub Release attaches `Vocalinux-<version>-x86_64.flatpak` and
`Vocalinux-<version>-aarch64.flatpak` as a no-remote fallback:
Each `v*` GitHub Release attaches `Voculinux-<version>-x86_64.flatpak` and
`Voculinux-<version>-aarch64.flatpak` as a no-remote fallback:
```bash
# once: Flathub remote + GNOME runtime (the app itself is not on Flathub)
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.gnome.Platform//50
flatpak install --user ./Vocalinux-<version>-x86_64.flatpak
flatpak run com.vocalinux.Vocalinux
flatpak install --user ./Voculinux-<version>-x86_64.flatpak
flatpak run com.voculinux.Voculinux
```
Bundles do **not** auto-update — the VocaHQ remote above is the path for
that. Vocalinux is **not on Flathub** (submission
that. Voculinux is **not on Flathub** (submission
[flathub/flathub#9368](https://github.com/flathub/flathub/pull/9368) closed on
policy grounds; we are not re-submitting). Local `flatpak-builder` remains for
contributors (below).
@@ -67,7 +67,7 @@ no narrower uinput flag).
To disable device access while keeping GPU support for Vulkan whisper.cpp, run:
```bash
flatpak override --user --nodevice=all --device=dri com.vocalinux.Vocalinux
flatpak override --user --nodevice=all --device=dri com.voculinux.Voculinux
```
On native X11, hotkeys still work through the X11 listener, except on GNOME X11,
@@ -78,12 +78,12 @@ enable **Settings → Shortcuts → External Activation (Desktop Shortcut)** and
bind a desktop shortcut to:
```bash
gdbus call --session --dest com.vocalinux.Vocalinux --object-path /com/vocalinux/Vocalinux --method com.vocalinux.Vocalinux.Toggle
gdbus call --session --dest com.voculinux.Voculinux --object-path /com/voculinux/Voculinux --method com.voculinux.Voculinux.Toggle
```
Use toggle mode for this shortcut. A desktop shortcut only sends a key press,
so it cannot support push-to-talk. Running
`flatpak run com.vocalinux.Vocalinux --toggle` also works, but starts a sandbox
`flatpak run com.voculinux.Voculinux --toggle` also works, but starts a sandbox
on each press. The host `gdbus` command is immediate and does not start another
sandbox.
@@ -100,19 +100,19 @@ flatpak install flathub org.gnome.Platform//50 org.gnome.Sdk//50
# --user --install install for the current user
# --repo=repo export a local repo (then bundle or lint)
# --compose-url-policy=full --mirror-screenshots-url=https://dl.flathub.org/media
flatpak-builder --force-clean build-dir packaging/flatpak/com.vocalinux.Vocalinux.yml
flatpak-builder --force-clean build-dir packaging/flatpak/com.voculinux.Voculinux.yml
flatpak run com.vocalinux.Vocalinux --debug
flatpak run com.voculinux.Voculinux --debug
# single-file bundle (after a --repo=repo build)
flatpak build-bundle repo vocalinux.flatpak com.vocalinux.Vocalinux
# elsewhere: flatpak install --user vocalinux.flatpak
flatpak build-bundle repo voculinux.flatpak com.voculinux.Voculinux
# elsewhere: flatpak install --user voculinux.flatpak
```
Lint (needs `org.flatpak.Builder`):
```bash
flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest packaging/flatpak/com.vocalinux.Vocalinux.yml
flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest packaging/flatpak/com.voculinux.Voculinux.yml
flatpak run --command=flatpak-builder-lint org.flatpak.Builder builddir build-dir
flatpak run --command=flatpak-builder-lint org.flatpak.Builder repo repo # if you used --repo=repo
```
@@ -122,7 +122,7 @@ glycin loaders, `flatpak-builder --run` can fail to load themed SVG icons for an
uninstalled stable app ID; it is still fine for non-GUI smokes:
```bash
flatpak-builder --run build-dir packaging/flatpak/com.vocalinux.Vocalinux.yml \
flatpak-builder --run build-dir packaging/flatpak/com.voculinux.Voculinux.yml \
python3 -c 'from pywhispercpp.model import Model; print("pywhispercpp ok")'
```
@@ -187,4 +187,4 @@ Release `.flatpak` assets are the supported paths.
- IBus: `--talk-name=org.freedesktop.IBus`
- Tray: `--talk-name=org.kde.StatusNotifierWatcher`
Config and models use Flatpak XDG dirs under `~/.var/app/com.vocalinux.Vocalinux/`.
Config and models use Flatpak XDG dirs under `~/.var/app/com.voculinux.Voculinux/`.
@@ -1,14 +1,14 @@
[Desktop Entry]
Version=1.0
Type=Application
Name=Vocalinux
Name=Voculinux
Comment=Free, offline voice dictation for Linux
GenericName=Voice Typing
Exec=vocalinux
Icon=com.vocalinux.Vocalinux
Exec=voculinux
Icon=com.voculinux.Voculinux
Terminal=false
Categories=Utility;Accessibility;AudioVideo;
Keywords=voice;typing;dictation;speech;recognition;transcription;accessibility;
StartupNotify=true
StartupWMClass=com.vocalinux.Vocalinux
StartupWMClass=com.voculinux.Voculinux
X-GNOME-UsesNotifications=true
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>com.vocalinux.Vocalinux</id>
<id>com.voculinux.Voculinux</id>
<name>Vocalinux</name>
<name>Voculinux</name>
<summary>Free, offline voice dictation for Linux</summary>
<developer id="com.vocalinux">
<developer id="com.voculinux">
<name>Jatin K Malik</name>
</developer>
@@ -13,7 +13,7 @@
<description>
<p>
Vocalinux is a privacy-first, fully offline voice dictation system for Linux.
Voculinux is a privacy-first, fully offline voice dictation system for Linux.
Speak naturally and your words appear in any application — on X11 or Wayland —
using local speech recognition. No cloud, no data leaves your machine.
Speech recognition models are downloaded on first run.
@@ -37,7 +37,7 @@
</p>
</description>
<launchable type="desktop-id">com.vocalinux.Vocalinux.desktop</launchable>
<launchable type="desktop-id">com.voculinux.Voculinux.desktop</launchable>
<categories>
<category>Utility</category>
@@ -58,19 +58,19 @@
<screenshots>
<screenshot type="default">
<caption>Real-time voice-to-text transcription</caption>
<image>https://vocalinux.com/screenshots/00-transcription.png</image>
<image>https://voculinux.com/screenshots/00-transcription.png</image>
</screenshot>
<screenshot>
<caption>Speech engine settings</caption>
<image>https://vocalinux.com/screenshots/settings-speech-engine.png</image>
<image>https://voculinux.com/screenshots/settings-speech-engine.png</image>
</screenshot>
<screenshot>
<caption>System tray indicator</caption>
<image>https://vocalinux.com/screenshots/02-system-tray.png</image>
<image>https://voculinux.com/screenshots/02-system-tray.png</image>
</screenshot>
</screenshots>
<url type="homepage">https://vocalinux.com</url>
<url type="homepage">https://voculinux.com</url>
<url type="bugtracker">https://github.com/VocaHQ/vocalinux/issues</url>
<url type="vcs-browser">https://github.com/VocaHQ/vocalinux</url>
@@ -172,7 +172,7 @@
</release>
<release version="0.14.0-beta" date="2026-07-14">
<description>
<p>Vocalinux 0.14.0-beta as Flatpak: whisper.cpp with Vulkan, XDG config/models/logs, XWayland text injection, and system tray integration.</p>
<p>Voculinux 0.14.0-beta as Flatpak: whisper.cpp with Vulkan, XDG config/models/logs, XWayland text injection, and system tray integration.</p>
</description>
</release>
<release version="0.12.0-beta" date="2026-06-07">
@@ -1,9 +1,9 @@
app-id: com.vocalinux.Vocalinux
app-id: com.voculinux.Voculinux
branch: stable
runtime: org.gnome.Platform
runtime-version: "50"
sdk: org.gnome.Sdk
command: vocalinux
command: voculinux
build-options:
env:
@@ -97,7 +97,7 @@ modules:
# uinput-based typing / paste chords for native Wayland clients.
# Pinned to v1.0.4 (keycode:value key API). Distro 0.1.x uses "ctrl+v" instead;
# vocalinux detects the installed CLI at runtime (see TextInjector).
# voculinux detects the installed CLI at runtime (see TextInjector).
- name: ydotool
buildsystem: cmake-ninja
config-opts:
@@ -124,16 +124,16 @@ modules:
- python3-build-dependencies.yaml
- python3-dependencies.yaml
- name: vocalinux
- name: voculinux
buildsystem: simple
build-commands:
- pip3 install --no-deps --no-build-isolation --prefix=/app .
- install -Dm644 packaging/flatpak/com.vocalinux.Vocalinux.desktop -t /app/share/applications/
- install -Dm644 resources/icons/scalable/vocalinux.svg /app/share/icons/hicolor/scalable/apps/com.vocalinux.Vocalinux.svg
- install -Dm644 resources/icons/scalable/vocalinux-microphone-off.svg /app/share/icons/hicolor/scalable/apps/com.vocalinux.Vocalinux-microphone-off.svg
- install -Dm644 resources/icons/scalable/vocalinux-microphone.svg /app/share/icons/hicolor/scalable/apps/com.vocalinux.Vocalinux-microphone.svg
- install -Dm644 resources/icons/scalable/vocalinux-microphone-process.svg /app/share/icons/hicolor/scalable/apps/com.vocalinux.Vocalinux-microphone-process.svg
- install -Dm644 packaging/flatpak/com.vocalinux.Vocalinux.metainfo.xml -t /app/share/metainfo/
- install -Dm644 packaging/flatpak/com.voculinux.Voculinux.desktop -t /app/share/applications/
- install -Dm644 resources/icons/scalable/voculinux.svg /app/share/icons/hicolor/scalable/apps/com.voculinux.Voculinux.svg
- install -Dm644 resources/icons/scalable/voculinux-microphone-off.svg /app/share/icons/hicolor/scalable/apps/com.voculinux.Voculinux-microphone-off.svg
- install -Dm644 resources/icons/scalable/voculinux-microphone.svg /app/share/icons/hicolor/scalable/apps/com.voculinux.Voculinux-microphone.svg
- install -Dm644 resources/icons/scalable/voculinux-microphone-process.svg /app/share/icons/hicolor/scalable/apps/com.voculinux.Voculinux-microphone-process.svg
- install -Dm644 packaging/flatpak/com.voculinux.Voculinux.metainfo.xml -t /app/share/metainfo/
sources:
- type: dir
path: ../..
+3 -3
View File
@@ -27,7 +27,7 @@
<h1>VocaHQ Flatpak remote</h1>
<p>
Self-hosted, signed OSTree repository for
<a href="https://vocalinux.com">Vocalinux</a> — published on every stable
<a href="https://voculinux.com">Voculinux</a> — published on every stable
tagged release, so installs auto-update via <code>flatpak update</code>.
</p>
<pre><code>flatpak install __FLATPAKREF_URL__</code></pre>
@@ -38,11 +38,11 @@
</p>
<pre><code>flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak remote-add --if-not-exists vocahq __FLATPAKREPO_URL__
flatpak install vocahq com.vocalinux.Vocalinux</code></pre>
flatpak install vocahq com.voculinux.Voculinux</code></pre>
<p>
The GNOME runtime still comes from Flathub — the
<code>.flatpakref</code> declares <code>RuntimeRepo</code> so flatpak
finds it there. Vocalinux itself is not on Flathub.
finds it there. Voculinux itself is not on Flathub.
</p>
<p>
<a href="https://github.com/VocaHQ/vocalinux">Source code</a> ·