chore(release): prepare v0.8.0-beta (#280)

* chore(release): prepare v0.8.0-beta

* docs(web): align release messaging with v0.8.0-beta features

* docs(web): tighten homepage messaging for v0.8.0-beta
This commit is contained in:
Jatin K Malik
2026-02-28 20:58:55 -08:00
committed by GitHub
parent 86ca22ff5c
commit 0469defae6
20 changed files with 132 additions and 109 deletions
+28 -32
View File
@@ -28,48 +28,44 @@
**A seamless free open-source private voice dictation system for Linux**, comparable to built-in solutions on macOS and Windows.
## 📚 What's New in v0.7.0-beta
## 📚 What's New in v0.8.0-beta
> 🎉 **Major Release: Autostart, Tabbed Settings & Intel GPU Support!** — The most feature-rich Vocalinux release yet.
> 🎉 **Major Release: Push-to-Talk, command controls, and reliability upgrades.**
### 🚀 Highlights (v0.6.3 → v0.7.0)
### 🚀 Highlights (v0.7.0 → v0.8.0)
| Feature | Description |
|---------|-------------|
| **🖥️ Autostart Support** | Launch Vocalinux automatically on desktop session startup |
| **⚙️ Tabbed Settings** | Completely redesigned settings dialog with organized tabs |
| **🎮 Intel GPU Detection** | Automatically detects incompatible Intel GPUs and falls back to CPU |
| **🔒 Single Instance** | Prevents multiple Vocalinux instances from running simultaneously |
| **🎤 Push-to-Talk Mode** | Hold the shortcut key to speak, release to stop |
| **⚙️ Voice Commands Toggle** | Enable/disable command parsing with smart VOSK auto-enable |
| **⌨️ Shortcut Reliability** | Improved live mode switching and callback lifecycle stability |
| **🧠 Better Input Handling** | More robust IBus detection and text injection behavior |
### ✨ New Features (v0.7.0)
### ✨ New Features (v0.8.0)
- **Autostart on Login** — Added XDG autostart support via settings dialog and system tray
- **Tabbed Settings Dialog** — reorganized settings into Speech Engine, Recognition, Text Injection, Audio Feedback, and General tabs
- **Intel GPU Compatibility Detection** — Detects incompatible Intel GPUs and automatically falls back to CPU processing
- **Multiple Instance Prevention** — Shows notification and exits if Vocalinux is already running
- **Evdev Device Management** — Automatically removes disconnected input devices to prevent CPU spin
- **Push-to-Talk Shortcut Mode** — Added a second shortcut mode alongside double-tap toggle
- **Mode-aware Shortcut UI** — Settings now clearly describe toggle vs push-to-talk behavior
- **Voice Commands Optional Mode** — Commands can be disabled, with auto mode optimized for VOSK
### 🐛 Bug Fixes (v0.7.0)
### 🐛 Bug Fixes (v0.8.0)
- **#254**: Improved GPU detection to avoid false positives on systems without dev libraries
- **#251**: Skip IBus setup when daemon is not running, enable fallback to other methods
- **#243**: Prevent `dnf check-update` from exiting script on Fedora
- **#240**: Raise exception on IBus setup failure to enable automatic fallback
- **#234**: Removed leading space from first speech transcription
- **#242/#253**: Removed disconnected evdev devices to prevent CPU spin
- **#277**: Detect active IBus input method before using IBus injection path
- **#275**: Auto-detect supported audio channel count for better microphone compatibility
- **#268**: Prevent GTK startup dialog crash on Fedora
- **#261**: Resolve text injection reliability issues across desktop environments
- **#259**: Prevent recognition-thread state flicker
- **#262/#263**: Auto-detect device sample rate for broader audio hardware support
### 🔧 Recent Improvements
- **Web SEO Enhancements** — Added 7 new optimized pages for organic traffic
- **Mobile Responsiveness** — Improved mobile and tablet layout for the website
- **Better Fedora Support** — Fixed dnf check-update behavior
- **Improved Device Handling** — More robust handling of input device connections/disconnections
- **Web SEO Expansion** — Added 8 additional optimized pages for discoverability
- **Web Visual Refresh** — Updated homepage gradients and voice-brand styling
---
## ✨ Features
- 🎤 **Double-tap Ctrl** to start/stop voice dictation
- 🎤 **Toggle or Push-to-Talk** activation modes
- ⚡ **Real-time transcription** with minimal latency
- 🌎 **Universal compatibility** across all Linux applications
- 🔒 **100% Offline operation** for privacy and reliability
@@ -121,7 +117,7 @@ Here are some screenshots showcasing Vocalinux in action:
Our new interactive installer guides you through setup with intelligent hardware detection:
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
```
**Choose your engine:**
@@ -135,25 +131,25 @@ The installer will:
- **Download the appropriate model** (~39MB for whisper.cpp tiny)
- **Install in ~1-2 minutes** (vs 5-10 min with old Whisper)
> **Note**: Installs v0.7.0-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
> **Note**: Installs v0.8.0-beta. For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
### Installation Options
**Default (whisper.cpp - recommended):**
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh
```
Fastest installation (~1-2 min), universal GPU support via Vulkan.
**Whisper (OpenAI) - if you prefer PyTorch:**
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=whisper
```
NVIDIA GPU only (~5-10 min, downloads PyTorch + CUDA).
**VOSK only - for low-RAM systems:**
```bash
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk
curl -fsSL raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh && bash /tmp/vl.sh --engine=vosk
```
Lightweight option (~40MB), works on systems with 4GB RAM.
@@ -214,9 +210,9 @@ Or launch it from your application menu!
### Voice Dictation
1. **Double-tap Ctrl** to start recording
1. **Toggle mode**: Double-tap the shortcut key (default Ctrl) to start recording
2. Speak clearly into your microphone
3. **Double-tap Ctrl** again (or pause speaking) to stop
3. **Toggle mode**: Double-tap again (or pause speaking) to stop, or **Push-to-Talk mode**: release the key to stop
### Voice Commands
+3 -3
View File
@@ -4,10 +4,10 @@
| Version | Supported |
| ------- | ------------------ |
| 0.7.x | :white_check_mark: |
| 0.8.x | :white_check_mark: |
| 0.7.x | :x: |
| 0.6.x | :x: |
| 0.5.x | :x: |
| < 0.5 | :x: |
| < 0.6 | :x: |
## Reporting a Vulnerability
+3 -3
View File
@@ -7,10 +7,10 @@ This guide provides detailed instructions for installing Vocalinux on Linux syst
### One-liner Installation (Recommended)
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash
```
> **Note**: Installs v0.7.0-beta with **whisper.cpp** (our default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
> **Note**: Installs v0.8.0-beta with **whisper.cpp** (our default engine). For other versions, check [GitHub Releases](https://github.com/jatinkrmalik/vocalinux/releases).
That's it! The installer handles everything automatically:
- ✅ Installs whisper.cpp (~1-2 minutes, no heavy dependencies!)
@@ -508,7 +508,7 @@ Already have Vocalinux installed? See the [Update Guide](UPDATE.md) for instruct
Quick update command:
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash
```
## Getting Help
+1
View File
@@ -326,6 +326,7 @@ git push origin v0.5.1-beta
| 0.6.2-beta | 2026-02-17 | Beta | Bug fixes |
| 0.6.3-beta | 2026-02-19 | Beta | GPU detection improvements |
| 0.7.0-beta | 2026 | Beta | Autostart, tabbed settings, Intel GPU support, single instance |
| 0.8.0-beta | 2026-03-01 | Beta | Push-to-talk mode, optional voice commands, input/audio compatibility fixes |
## Questions?
+20 -24
View File
@@ -2,42 +2,38 @@
This guide explains how to update Vocalinux to the latest version.
## What's New in v0.7.0-beta
## What's New in v0.8.0-beta
### 🚀 Highlights
| Feature | Description |
|---------|-------------|
| **🖥️ Autostart Support** | Launch Vocalinux automatically on desktop session startup |
| **⚙️ Tabbed Settings** | Completely redesigned settings dialog with organized tabs |
| **🎮 Intel GPU Detection** | Automatically detects incompatible Intel GPUs and falls back to CPU |
| **🔒 Single Instance** | Prevents multiple Vocalinux instances from running simultaneously |
| **🎤 Push-to-Talk Mode** | Hold the shortcut key to speak, release to stop |
| **⚙️ Voice Commands Toggle** | Enable or disable voice commands, with VOSK auto-enable in auto mode |
| **⌨️ Shortcut Reliability** | Improved callback lifecycle and mode switching stability |
| **🧠 Input Compatibility** | Better IBus detection and audio device/channel compatibility |
### ✨ New Features
- **Autostart on Login** — Added XDG autostart support via settings dialog and system tray
- **Tabbed Settings Dialog** — Reorganized settings into Speech Engine, Recognition, Text Injection, Audio Feedback, and General tabs
- **Intel GPU Compatibility Detection** — Detects incompatible Intel GPUs and automatically falls back to CPU processing
- **Multiple Instance Prevention** — Shows notification and exits if Vocalinux is already running
- **Evdev Device Management** — Automatically removes disconnected input devices to prevent CPU spin
- **Push-to-Talk Shortcut Mode** — Added hold-to-speak mode alongside double-tap toggle mode
- **Mode-aware Shortcut UI** — Updated settings text and behavior for toggle vs push-to-talk workflows
- **Voice Commands Optional** — Voice commands can be disabled, with automatic enable behavior for VOSK
### 🐛 Bug Fixes
- **#254**: Improved GPU detection to avoid false positives on systems without dev libraries
- **#251**: Skip IBus setup when daemon is not running, enable fallback to other methods
- **#243**: Prevent `dnf check-update` from exiting script on Fedora
- **#240**: Raise exception on IBus setup failure to enable automatic fallback
- **#234**: Removed leading space from first speech transcription
- **#242/#253**: Removed disconnected evdev devices to prevent CPU spin
- **#277**: Detect active IBus input method before using IBus injection
- **#275**: Detect and use device-supported channel count
- **#268**: Prevent GTK startup dialog crash on Fedora
- **#261**: Resolve text injection issues for better reliability
- **#259**: Prevent recognition thread state flicker
- **#262/#263**: Auto-detect audio sample rate for better hardware compatibility
### 🔧 Improvements
- **Web SEO Enhancements** — Added 7 new optimized pages for organic traffic
- **Mobile Responsiveness** — Improved mobile and tablet layout for the website
- **Better Fedora Support** — Fixed dnf check-update behavior
- **Improved Device Handling** — More robust handling of input device connections/disconnections
- **Web SEO Enhancements** — Added 8 additional optimized pages for discoverability
- **Homepage Refresh** — Updated voice-themed visual polish on the web landing page
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.7.0-beta).
See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/v0.8.0-beta).
---
@@ -48,7 +44,7 @@ See the [full changelog](https://github.com/jatinkrmalik/vocalinux/releases/tag/
Simply re-run the installation command:
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash
```
The installer will:
@@ -62,7 +58,7 @@ The installer will:
```bash
cd vocalinux
git fetch origin
git checkout v0.7.0-beta
git checkout v0.8.0-beta
./install.sh
```
@@ -98,7 +94,7 @@ If your update doesn't go smoothly, try a clean reinstall:
./uninstall.sh
# Reinstall fresh
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash
```
### Old Version Still Running
+8 -7
View File
@@ -32,9 +32,9 @@ Vocalinux supports login autostart using the standard Linux desktop-session mech
1. **Launch the application**: Run `vocalinux` in a terminal or launch it from your application menu
2. **Find the tray icon**: Look for the microphone icon in your system tray
3. **Start voice typing**: Click the tray icon and select "Start Voice Typing" from the menu, or use the double-tap Ctrl keyboard shortcut
3. **Start voice typing**: Click the tray icon and select "Start Voice Typing", or use your configured shortcut mode (toggle or push-to-talk)
4. **Speak clearly**: As you speak, your words will be transcribed into the currently focused application
5. **Stop voice typing**: Click the tray icon and select "Stop Voice Typing" when you're done, or use the double-tap Ctrl keyboard shortcut again
5. **Stop voice typing**: Click the tray icon and select "Stop Voice Typing" when you're done, double-tap again in toggle mode, or release the key in push-to-talk mode
### Understanding the Status Icons
@@ -67,7 +67,7 @@ Vocalinux supports several commands that you can speak to control formatting:
4. **Quiet environment**: Minimize background noise when possible
5. **Learn commands**: Familiarize yourself with voice commands for punctuation and formatting
6. **Use GPU acceleration**: If you have a GPU (AMD, Intel, or NVIDIA), whisper.cpp will automatically use it for faster transcription
7. **Choose the right model**:
7. **Choose the right model**:
- For real-time dictation: Use `tiny` or `base` (fastest)
- For better accuracy: Use `vocalinux --model medium` or `--model large`
8. **Check debug logs**: Run `vocalinux --debug` to see which backend is being used (Vulkan, CUDA, or CPU)
@@ -76,10 +76,11 @@ Vocalinux supports several commands that you can speak to control formatting:
### Keyboard Shortcut
Vocalinux uses a double-tap Ctrl keyboard shortcut for starting and stopping voice typing:
Vocalinux supports two shortcut modes for controlling voice typing:
- **Double-tap Ctrl**: Quickly press the Ctrl key twice to toggle voice typing on or off
- The time between taps should be less than 0.3 seconds to be recognized as a double-tap
- **Toggle mode (default)**: Double-tap the shortcut key (Ctrl by default) to start/stop voice typing
- **Push-to-talk mode**: Hold the configured shortcut key to speak, then release to stop
- Configure mode and key in **Settings -> Shortcuts**
### Model Settings
@@ -109,7 +110,7 @@ Vocalinux now offers **three speech recognition engines**:
### Changing Engine and Model
1. Open settings from the tray icon menu (right-click)
2. Go to the "Recognition" tab
2. Go to the "Speech Engine" tab
3. Select your **Speech Engine**:
- whisper_cpp (recommended)
- whisper
+3 -3
View File
@@ -174,7 +174,7 @@ while [[ $# -gt 0 ]]; do
echo " --test Run tests after installation"
echo " --venv-dir=PATH Specify custom virtual environment directory"
echo " --skip-models Skip downloading speech models during installation"
echo " --tag=TAG Install specific release tag (default: v0.7.0-beta)"
echo " --tag=TAG Install specific release tag (default: v0.8.0-beta)"
echo " --help Show this help message"
echo ""
echo "Examples:"
@@ -215,7 +215,7 @@ echo ""
check_running_processes
INSTALL_TAG="${INSTALL_TAG:-v0.7.0-beta}"
INSTALL_TAG="${INSTALL_TAG:-v0.8.0-beta}"
# Check if running from within the vocalinux repo or remotely (via curl)
REPO_URL="https://github.com/jatinkrmalik/vocalinux.git"
@@ -1073,7 +1073,7 @@ if [[ "$INTERACTIVE_MODE" == "yes" ]]; then
if [ ! -t 0 ]; then
print_error "Interactive mode requires a terminal (TTY)."
print_error "Please run from a terminal, or use automatic mode:"
print_error " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash"
print_error " curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash"
exit 1
fi
+1 -1
View File
@@ -128,7 +128,7 @@ def check_dependencies():
logger.error("")
logger.error("For the best experience, install using the recommended method:")
logger.error(
" curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.7.0-beta/install.sh | bash"
" curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh | bash"
)
return False
+2 -2
View File
@@ -2,8 +2,8 @@
Version information for Vocalinux.
"""
__version__ = "0.7.0-beta"
__version_info__ = (0, 7, 0, "beta")
__version__ = "0.8.0-beta"
__version_info__ = (0, 8, 0, "beta")
__author__ = "Jatin K Malik"
__email__ = "jatinkrmalik@gmail.com"
__license__ = "GPL-3.0"
+1 -1
View File
@@ -40,7 +40,7 @@ Use this checklist when testing Vocalinux on a new Linux distribution.
### Standard Installation
- [ ] Download installer
```bash
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.6.1-beta/install.sh -o /tmp/vl.sh
curl -fsSL https://raw.githubusercontent.com/jatinkrmalik/vocalinux/v0.8.0-beta/install.sh -o /tmp/vl.sh
```
- [ ] Run installer
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "vocalinux-website",
"version": "0.7.0",
"version": "0.8.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "vocalinux-website",
"version": "0.7.0",
"version": "0.8.0",
"dependencies": {
"@types/node": "^20.14.10",
"@types/react": "^18.3.3",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "vocalinux-website",
"version": "0.7.0",
"version": "0.8.0",
"private": true,
"type": "module",
"scripts": {
+15 -1
View File
@@ -5,6 +5,20 @@ import { SeoSubpageShell } from "@/components/seo-subpage-shell";
import { absoluteUrl, buildPageMetadata } from "@/lib/seo";
const releases = [
{
version: "v0.8.0-beta",
date: "2026-03-01",
type: "beta",
highlights: [
"Push-to-talk shortcut mode (hold to speak, release to stop)",
"Optional voice commands with VOSK auto-enable behavior",
"Improved shortcut mode switching and callback reliability",
"IBus active-method detection before text injection",
"Audio hardware compatibility fixes (sample rate and channel count)",
"Fedora startup dialog stability fix",
"Web SEO expansion and homepage visual refresh",
],
},
{
version: "v0.7.0-beta",
date: "2026-02-22",
@@ -146,7 +160,7 @@ export default function ChangelogPage() {
headline: "Vocalinux Changelog - Release History",
description:
"Complete release history for Vocalinux, the offline voice dictation software for Linux.",
dateModified: "2026-02-19",
dateModified: "2026-03-01",
author: {
"@type": "Person",
name: "Jatin K Malik",
+3 -3
View File
@@ -69,15 +69,15 @@ const faqCategories = [
questions: [
{
q: "How do I start and stop dictation?",
a: "Double-tap the Ctrl key to toggle dictation on/off. You can customize this shortcut in the settings panel.",
a: "By default, toggle mode uses double-tap Ctrl to start/stop dictation. You can also switch to push-to-talk mode (hold key to speak, release to stop) in Settings.",
},
{
q: "Does Vocalinux work with Wayland?",
a: "Yes! Vocalinux supports both X11 and Wayland through IBus text injection. The installer automatically configures the right backend for your system.",
a: "Yes. Vocalinux supports both X11 and Wayland, including IBus-based flows on Wayland with improved active-method detection for more reliable text injection.",
},
{
q: "Can I use voice commands?",
a: "Yes. Vocalinux supports voice commands like 'new line', 'delete that', 'select all', and more. Commands are processed in real-time.",
a: "Yes. Vocalinux supports commands like 'new line', 'delete that', 'select all', and more. Voice commands are optional and can be enabled or disabled in Settings.",
},
],
},
+4 -4
View File
@@ -56,7 +56,7 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
],
postInstallChecks: [
"Run vocalinux and confirm the tray indicator appears.",
"Double-tap Ctrl in a text field and verify speech-to-text starts.",
"Use toggle mode (double-tap Ctrl) or push-to-talk mode and verify dictation starts.",
"Set language and model size in the settings panel for your workload.",
],
},
@@ -87,7 +87,7 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
],
postInstallChecks: [
"Run vocalinux from terminal and test transcription in GNOME Text Editor or VS Code.",
"Verify push-to-dictate behavior with your preferred keyboard layout.",
"Verify toggle mode and push-to-talk behavior with your preferred keyboard layout.",
"Confirm startup behavior and language settings persist after reboot.",
],
},
@@ -119,7 +119,7 @@ const distroConfig: Record<DistroSlug, DistroConfig> = {
postInstallChecks: [
"Run vocalinux and test dictation in multiple apps (terminal, browser, editor).",
"Confirm your chosen speech engine model balances latency and accuracy.",
"Back up ~/.config/vocalinux/config.yaml after tuning preferences.",
"Back up ~/.config/vocalinux/config.json after tuning preferences.",
],
},
};
@@ -264,7 +264,7 @@ export default async function DistroInstallPage({
{
"@type": "HowToStep",
name: "Start dictating",
text: "Launch vocalinux and double-tap Ctrl to begin dictation.",
text: "Launch vocalinux and use toggle mode or push-to-talk mode to begin dictation.",
url: absoluteUrl(`/install/${distro}`),
},
],
+1 -1
View File
@@ -110,7 +110,7 @@ export default function InstallGuidesPage() {
Launch with
<code className="ml-1.5 rounded bg-zinc-200 px-1.5 py-0.5 dark:bg-zinc-800">vocalinux</code>.
</li>
<li>Double-tap Ctrl to start or stop dictation in any text field.</li>
<li>Use toggle mode (double-tap Ctrl) or push-to-talk mode to control dictation in any text field.</li>
<li>
Choose whisper.cpp for speed, Whisper for maximum model compatibility, or VOSK for
low-RAM systems.
+17 -10
View File
@@ -65,7 +65,7 @@ const homeJsonLd = [
},
description:
"Offline voice dictation and speech-to-text for Linux with whisper.cpp and VOSK.",
"softwareVersion": "0.7.0-beta",
"softwareVersion": "0.8.0-beta",
author: {
"@type": "Person",
name: "Jatin K Malik",
@@ -77,7 +77,9 @@ const homeJsonLd = [
featureList: [
"100% offline speech recognition",
"Works with X11 and Wayland",
"Double-tap Ctrl activation",
"Toggle and push-to-talk shortcut modes",
"Optional voice commands with VOSK-aware defaults",
"Adaptive audio and IBus-aware text injection",
"whisper.cpp, Whisper, and VOSK support",
"Linux desktop integration",
],
@@ -134,7 +136,7 @@ const homeJsonLd = [
{
"@type": "HowToStep",
name: "Start dictating",
text: "Launch vocalinux and double-tap Ctrl to begin voice dictation.",
text: "Launch vocalinux and use toggle or push-to-talk shortcut mode to begin dictation.",
url: "https://vocalinux.com/#install",
},
],
@@ -290,7 +292,7 @@ export default function HomePage() {
/>
<span className="font-bold text-lg sm:text-xl">Vocalinux</span>
<span className="hidden sm:inline-block text-xs bg-gradient-to-r from-primary/20 to-green-500/20 text-primary border border-primary/30 px-2.5 py-1 rounded-full font-semibold shadow-sm shadow-primary/20">
v0.7.0 Beta
v0.8.0 Beta
</span>
</Link>
@@ -408,7 +410,7 @@ export default function HomePage() {
100% offline voice dictation for Linux.
</p>
<p className="text-lg sm:text-xl md:text-2xl text-muted-foreground mb-8 max-w-3xl mx-auto">
Just double-tap Ctrl and speak.
Use toggle mode or push-to-talk and start speaking.
</p>
{/* CTA Buttons */}
@@ -553,8 +555,8 @@ export default function HomePage() {
{[
{
icon: <Keyboard className="h-6 w-6 text-primary" />,
title: "Double-tap Ctrl",
description: "In the real app, just double-tap Ctrl to start dictating anywhere",
title: "Flexible Shortcut Modes",
description: "Use toggle mode (double-tap) or push-to-talk mode to dictate anywhere",
},
{
icon: <Zap className="h-6 w-6 text-primary" />,
@@ -617,7 +619,7 @@ export default function HomePage() {
<FeatureCard
icon={<Keyboard className="h-6 w-6 text-primary" />}
title="Simple Activation"
description="Double-tap Ctrl to start, double-tap again to stop. No complex keyboard shortcuts to memorize."
description="Choose toggle mode (double-tap) or push-to-talk mode (hold key). Simple, predictable control."
/>
<FeatureCard
icon={<Globe className="h-6 w-6 text-primary" />}
@@ -627,7 +629,7 @@ export default function HomePage() {
<FeatureCard
icon={<Settings className="h-6 w-6 text-primary" />}
title="Fully Configurable"
description="Adjust model size, language, activation method, and more. GUI settings panel or config file — your choice."
description="Adjust model size, language, activation mode, and voice command behavior. GUI settings panel or config file — your choice."
/>
</div>
@@ -1086,7 +1088,12 @@ export default function HomePage() {
{
question: "How do I customize the activation shortcut?",
answer:
"The default is double-tap Ctrl. You can customize this via the GUI settings dialog or by editing ~/.config/vocalinux/config.yaml. Any key combination is supported.",
"The default is toggle mode with double-tap Ctrl, and you can switch to push-to-talk in Settings. You can also customize this via the GUI settings dialog or by editing ~/.config/vocalinux/config.json.",
},
{
question: "Can I disable voice commands?",
answer:
"Yes. Voice commands are optional and can be enabled or disabled in Settings. VOSK-focused setups can use auto behavior while keeping full control over command parsing.",
},
{
question: "Is Vocalinux free?",
+1 -1
View File
@@ -235,7 +235,7 @@ export default function RsiPreventionPage() {
<ul className="space-y-2 text-sm text-muted-foreground">
<li className="inline-flex items-start gap-2">
<CheckCircle2 className="mt-0.5 h-4 w-4 flex-shrink-0 text-green-500" />
Double-tap Ctrl to start/stop—no mouse required
Toggle mode or push-to-talk control—no mouse required
</li>
<li className="inline-flex items-start gap-2">
<CheckCircle2 className="mt-0.5 h-4 w-4 flex-shrink-0 text-green-500" />
+17 -9
View File
@@ -10,8 +10,8 @@ const shortcutCategories = [
icon: Mic,
iconColor: "text-blue-500",
shortcuts: [
{ keys: ["Ctrl", "Ctrl"], action: "Toggle dictation on/off (double-tap)", note: "Primary activation" },
{ keys: ["Ctrl", "Ctrl"], action: "Start/stop recording", note: "Same as toggle" },
{ keys: ["Ctrl", "Ctrl"], action: "Toggle mode: start/stop dictation", note: "Default mode" },
{ keys: ["Hold Ctrl"], action: "Push-to-talk mode: speak while held", note: "Release to stop" },
],
},
{
@@ -27,6 +27,7 @@ const shortcutCategories = [
{ keys: ["\"paste here\""], action: "Paste clipboard", note: "Voice command" },
{ keys: ["\"undo\""], action: "Undo last action", note: "Voice command" },
{ keys: ["\"redo\""], action: "Redo last action", note: "Voice command" },
{ keys: ["Settings Toggle"], action: "Enable/disable voice commands", note: "Optional in v0.8.0-beta" },
],
},
{
@@ -43,7 +44,7 @@ const shortcutCategories = [
icon: Settings,
iconColor: "text-violet-500",
shortcuts: [
{ keys: ["Config File"], action: "~/.config/vocalinux/config.yaml", note: "Manual editing" },
{ keys: ["Config File"], action: "~/.config/vocalinux/config.json", note: "Manual editing" },
],
},
];
@@ -61,7 +62,7 @@ function Mic(props: { className?: string }) {
export const metadata: Metadata = buildPageMetadata({
title: "Keyboard Shortcuts & Voice Commands - Vocalinux",
description:
"Learn Vocalinux keyboard shortcuts and voice commands. Double-tap Ctrl to dictate, use voice commands for editing, and customize your workflow.",
"Learn Vocalinux keyboard shortcut modes and voice commands. Use toggle mode or push-to-talk, then customize activation and command behavior.",
path: "/shortcuts",
keywords: [
"vocalinux shortcuts",
@@ -78,7 +79,7 @@ export default function ShortcutsPage() {
headline: "Vocalinux Keyboard Shortcuts & Voice Commands",
description:
"Complete guide to Vocalinux keyboard shortcuts and voice commands for efficient Linux voice dictation.",
dateModified: "2026-02-19",
dateModified: "2026-03-01",
author: {
"@type": "Person",
name: "Jatin K Malik",
@@ -111,8 +112,8 @@ export default function ShortcutsPage() {
Keyboard Shortcuts & Voice Commands
</h1>
<p className="mb-8 max-w-4xl text-lg text-muted-foreground">
Master Vocalinux with keyboard shortcuts and voice commands. Double-tap Ctrl to start
dictating, then use voice commands to edit and format.
Master Vocalinux with keyboard shortcuts and voice commands. Use toggle mode (double-tap)
or push-to-talk mode, then apply voice commands for editing and formatting.
</p>
</section>
@@ -130,8 +131,15 @@ export default function ShortcutsPage() {
</kbd>
</div>
<span className="text-muted-foreground">→</span>
<span className="font-medium">Start/Stop Dictation</span>
<span className="font-medium">Toggle Mode: Start/Stop Dictation</span>
</div>
<p className="mt-3 text-sm text-muted-foreground">
Push-to-talk mode is also available: hold your configured key to dictate, release to stop.
You can switch modes in Settings.
</p>
<p className="mt-2 text-sm text-muted-foreground">
Voice commands can be enabled or disabled from Settings depending on your workflow.
</p>
</section>
{/* Shortcut Categories */}
@@ -188,7 +196,7 @@ export default function ShortcutsPage() {
configuration file directly:
</p>
<div className="rounded-lg bg-zinc-950 p-4">
<code className="text-sm text-green-400">~/.config/vocalinux/config.yaml</code>
<code className="text-sm text-green-400">~/.config/vocalinux/config.json</code>
</div>
<p className="mt-4 text-sm text-muted-foreground">
Open Vocalinux and access Settings from the tray icon to change keyboard shortcuts
+1 -1
View File
@@ -72,7 +72,7 @@ const troubleshootingItems = [
},
{
title: "Keyboard shortcut not working",
symptoms: ["Double-tap Ctrl doesn't start dictation", "Custom shortcuts ignored"],
symptoms: ["Shortcut mode doesn't start dictation", "Custom shortcuts ignored"],
solutions: [
"Check if another application is capturing the shortcut",
"Verify Vocalinux is running (check system tray)",