Files
voculinux/docs/USER_GUIDE.md
T
Jatin K MalikandGitHub 9886e8cb9d feat(ui): add auto-start on boot support (#207)
* feat(ui): add auto-start on boot support

- Add --start-minimized CLI flag for autostart entry
- Create autostart_manager.py to handle XDG autostart desktop entry
- Add autostart config option in config_manager.py
- Add Start on Login toggle in Settings dialog
- Add Start Minimized toggle in Settings dialog
- Add Start on Login checkbox in system tray menu
- Add first-run dialog to ask about autostart preference

Closes #184

* fix(test): add first_run: False to mock config settings

The tests were failing with StopIteration because main() now checks
for first_run and shows a dialog if True. By setting first_run: False
in the mock config, we skip the first-run dialog code path.

* fix(ui): harden autostart behavior across Linux sessions

Use XDG-compliant autostart paths and robust Exec command resolution, keep first-run prompt semantics correct, and fix GTK toggle handling so state changes are applied reliably.

* docs(autostart): document XDG startup model and limits

Clarify that Vocalinux uses desktop-session XDG autostart, not systemd services, and explain compatibility expectations for mainstream DEs versus minimal/custom WM sessions.

* feat(ui): add first-run quick-start guidance text

Expand the welcome dialog with concise first-time usage guidance and clear direction to the tray menu Settings entry while preserving the existing autostart decision flow.

* fix(uninstall): remove XDG autostart desktop entry

Ensure uninstall removes ~/.config autostart registration and reports leftover autostart entries during verification.

* fix(install): ignore defunct processes in running-check

Filter installer process detection to exclude defunct entries and installer/uninstaller shells so stale zombie rows do not block reinstall.

* fix(uninstall): ignore defunct processes in running-check

Use filtered process detection so zombie entries and installer shells do not trigger false running-process warnings during uninstall.
2026-02-21 15:06:20 -08:00

155 lines
5.8 KiB
Markdown

# User Guide
This guide explains how to use Vocalinux effectively.
## Getting Started
After installing Vocalinux (see the [Installation Guide](INSTALL.md)), you can start the application from the terminal and optionally enable start-on-login.
## Start on Login (Autostart)
Vocalinux supports login autostart using the standard Linux desktop-session mechanism.
- **Where to enable it**:
- First-run welcome dialog
- Tray menu: **Start on Login**
- Settings dialog: **Start on Login**
- **What Vocalinux creates**:
- `vocalinux.desktop` in `$XDG_CONFIG_HOME/autostart/` or `~/.config/autostart/`
- **How it starts**:
- As a regular user GUI app in your desktop session (`--start-minimized`)
- **What it does not do**:
- It does not create a `systemd` service/unit for autostart
### Desktop Compatibility Notes
- Works on most mainstream desktop environments (GNOME, KDE, Xfce, Cinnamon, MATE, LXQt)
- On minimal/custom window managers, autostart may require an autostart manager or desktop-specific startup hook
## Basic Usage
### Starting and Stopping Voice Typing
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
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
### Understanding the Status Icons
- **Microphone off** (gray): Voice typing is inactive
- **Microphone on** (blue): Voice typing is active and listening
- **Microphone processing** (orange): Voice typing is processing your speech
## Voice Commands
Vocalinux supports several commands that you can speak to control formatting:
| Command | Action |
|---------|--------|
| "new line" or "new paragraph" | Inserts a line break |
| "period" or "full stop" | Types a period (.) |
| "comma" | Types a comma (,) |
| "question mark" | Types a question mark (?) |
| "exclamation point" or "exclamation mark" | Types an exclamation point (!) |
| "semicolon" | Types a semicolon (;) |
| "colon" | Types a colon (:) |
| "delete that" or "scratch that" | Deletes the last sentence |
| "capitalize" or "uppercase" | Capitalizes the next word |
| "all caps" | Makes the next word ALL CAPS |
## Tips for Better Recognition
1. **Use a good microphone**: A quality microphone significantly improves recognition accuracy
2. **Speak clearly**: Enunciate your words clearly but naturally
3. **Moderate pace**: Don't speak too quickly or too slowly
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**:
- 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)
## Customization
### Keyboard Shortcut
Vocalinux uses a double-tap Ctrl keyboard shortcut for starting and stopping 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
### Model Settings
You can change the speech recognition engine and model for better accuracy or faster performance:
### Choosing Your Engine
Vocalinux now offers **three speech recognition engines**:
1. **whisper.cpp** ⭐ (Default) - High-performance C++ engine
- Fastest installation (~1-2 min)
- Works with AMD, Intel, NVIDIA GPUs via Vulkan
- True multi-threading (no Python GIL)
- Best for most users
2. **Whisper** (OpenAI) - PyTorch-based engine
- NVIDIA GPU only (requires CUDA)
- Larger download (~2.3GB with PyTorch)
- Installation takes ~5-10 min
- Use if you specifically need PyTorch features
3. **VOSK** - Lightweight engine
- Smallest footprint (~40MB)
- CPU only
- Great for older systems or minimal resource usage
### Changing Engine and Model
1. Open settings from the tray icon menu (right-click)
2. Go to the "Recognition" tab
3. Select your **Speech Engine**:
- whisper_cpp (recommended)
- whisper
- vosk
4. Select your **Model Size**:
- **tiny** (~39MB) - Fastest, good for real-time dictation
- **base** (~74MB) - Good balance
- **small** (~244MB) - Better accuracy
- **medium** (~769MB) - High accuracy
- **large** (~1.5GB) - Best accuracy, slower
### When to Use Each Model
**For real-time dictation:** Use **tiny** or **base** - they're fast enough to keep up with your speech.
**For transcription:** Use **small** or **medium** - better accuracy for recorded audio.
**For maximum accuracy:** Use **large** - best results but requires more RAM and GPU power.
### GPU Acceleration
**whisper.cpp** automatically uses GPU acceleration when available:
- **Vulkan** (AMD, Intel, NVIDIA) - Automatically detected and used
- **CUDA** (NVIDIA only) - Fallback if Vulkan not available
- **CPU** - Always works as fallback
To check which backend is being used, look for these log messages when starting Vocalinux:
```
[INFO] whisper.cpp using Vulkan GPU backend: AMD Radeon RX 6800
[INFO] whisper.cpp configured with n_threads=16
```
## Troubleshooting
If you encounter issues, check the [Installation Guide](INSTALL.md) troubleshooting section or run the application with debug logging:
```bash
vocalinux --debug
```
Check the logs for error messages and possible solutions.