Skip to content

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 (app and user actions): Maps standard tab control actions (such as opening, closing, and navigating tabs) to Konsole's default hotkeys. For example, switching to a specific tab uses Alt + [number], while navigating to the next or previous tab is routed to Shift + Right and Shift + 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 (edit actions): Overwrites standard editing shortcuts with terminal-compliant combinations. This includes using Ctrl + Shift + C and Ctrl + Shift + V for copy/paste, Shift + PageUp/PageDown for scrolling, and Ctrl + Shift + F for 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:

  • terminal and user.generic_unix_shell tags to expose command-line utilities and UNIX commands.
  • user.tabs to link the generalized voice commands for tab manipulation to the custom Python actions defined in kde_konsole.py.
  • Application-specific CLI tags like user.git and user.anaconda (with optional tags like user.kubectl available to be uncommented) so that complex toolchain commands are available directly inside the terminal window.