kde_konsole
This directory provides Talon integration for KDE Konsole, the default terminal emulator for the KDE desktop environment on Linux. It configures Konsole-specific keyboard shortcuts and enables relevant terminal, shell, and application-specific voice commands when the application is active.
The integration consists of two primary files:
- kde_konsole.py — Defines application-specific actions and keyboard shortcut overrides.
- kde_konsole.talon — Maps environmental context requirements and activates necessary command tags.
How It Works
When you focus on KDE Konsole on a Linux system, Talon matches the application context (app.name: konsole) and applies the behaviors defined across both files.
Context-Specific Keyboard Shortcuts
The Python file kde_konsole.py overrides default Talon actions to align with Konsole's keyboard layout:
- Tab Management (
appanduseractions): Maps standard tab control actions (such as opening, closing, and navigating tabs) to Konsole's default hotkeys. For example, switching to a specific tab usesAlt+[number], while navigating to the next or previous tab is routed toShift + RightandShift + Left. If a command is unsupported by the emulator (like reopening a closed tab), it triggers a desktop notification informing you of the limitation. - Window Management: Maps opening a new terminal window to
Ctrl + Shift + N. - Text Editing and Clipboard (
editactions): Overwrites standard editing shortcuts with terminal-compliant combinations. This includes usingCtrl + Shift + CandCtrl + Shift + Vfor copy/paste,Shift + PageUp/PageDownfor scrolling, andCtrl + Shift + Ffor in-terminal searching.
Tag Activation
The configuration file kde_konsole.talon ensures that generic terminal command structures are loaded into your active vocabulary. When Konsole is active, it automatically enables:
terminalanduser.generic_unix_shelltags to expose command-line utilities and UNIX commands.user.tabsto link the generalized voice commands for tab manipulation to the custom Python actions defined in kde_konsole.py.- Application-specific CLI tags like
user.gitanduser.anaconda(with optional tags likeuser.kubectlavailable to be uncommented) so that complex toolchain commands are available directly inside the terminal window.