Skip to main content
TagQt provides keyboard shortcuts for quick access to common operations and workflows.

Global Shortcuts

These shortcuts work throughout the application:
ShortcutActionDescription
Ctrl+OOpen FolderOpen folder selection dialog
Ctrl+SSave ChangesSave metadata for current/selected files
Ctrl+GGlobal EditEnter global edit mode (select all visible)
Ctrl+KCommand PaletteOpen command palette
Ctrl+QQuitExit application
EscapeExit Global EditReturn to single file selection

File Operations

Opening and Loading

Ctrl+O - Open folder dialog
Opens a folder selection dialog to load audio files from a directory.

Saving

Ctrl+S - Save changes
Behavior depends on current mode:
  • Single file mode: Saves changes to the current file
  • Global edit mode: Applies modified fields to all selected files

Exit Application

Ctrl+Q - Quit TagQt
Closes the application. Any running batch operations will be stopped.

Edit Mode Shortcuts

Global Edit Mode

Ctrl+G - Enter global edit mode
Selects all visible files and enters global edit mode. In this mode:
  • Sidebar shows global edit interface
  • Only modified fields will be applied when saving
  • Empty fields keep original values

Exit Global Edit

Escape - Exit global edit mode
Returns to single file selection mode:
  • Deselects all files except the first one
  • Loads the first selected file
  • Returns sidebar to single edit mode

Command Palette

Ctrl+K - Open command palette
The command palette provides quick access to all TagQt commands:

Available Commands

Commands accessible via palette (from main.py:255-269):
  • Open Folder (Ctrl+O)
  • Save Changes (Ctrl+S)
  • Get Covers (All)
  • Get Lyrics (All)
  • Rename Files
  • Auto-Tag (All)
  • Re-encode FLAC
  • Romanize Lyrics
  • Resize Covers
  • Toggle Theme
  • Exit Global Edit (Escape)
  • Hints & Tips
  • About TagQt
Type in the command palette to filter commands. You can type partial matches like “rename” to find “Rename Files”.
These shortcuts are defined in the menu bar:

File Menu

ShortcutAction
Ctrl+OOpen Folder
Ctrl+QExit

Edit Menu

ShortcutAction
Ctrl+GGlobal Edit (All Visible)

File List Navigation

Standard QTreeWidget shortcuts:
ShortcutAction
↑/↓Navigate files
Ctrl+ASelect all
Ctrl+ClickAdd to selection
Shift+ClickRange selection
EnterLoad selected file

Shortcuts by Context

Single File Editing

When editing a single file:
Ctrl+S     → Save changes to current file
Ctrl+G     → Enter global edit mode
Escape     → (no effect in single file mode)

Global Edit Mode

When multiple files are selected:
Ctrl+S     → Save modified fields to all selected
Escape     → Exit global edit mode
Ctrl+K     → Open command palette

Batch Operations

During batch operations:
Escape     → (doesn't cancel batch)
Click progress bar → Show detailed status
Press the “Cancel” button next to the progress bar to stop batch operations. The Escape key does not cancel operations.

Shortcut Reference Table

Complete shortcut reference from source code:

Primary Shortcuts

# From main.py:247-251
QShortcut(QKeySequence("Ctrl+S"), self, self.save_metadata)
QShortcut(QKeySequence("Ctrl+O"), self, self.open_folder_dialog)
QShortcut(QKeySequence("Escape"), self, self.exit_global_mode)
QShortcut(QKeySequence("Ctrl+K"), self, self.show_command_palette)
# From main.py:369, 389, 397
open_folder_action.setShortcut("Ctrl+O")  # File → Open Folder
exit_action.setShortcut("Ctrl+Q")         # File → Exit
global_edit_action.setShortcut("Ctrl+G")  # Edit → Global Edit

Workflow Shortcuts

Quick Edit Workflow

1. Ctrl+O          → Open folder
2. Select file     → Click or navigate with arrows
3. Edit metadata   → Modify fields
4. Ctrl+S          → Save
5. Next file       → Down arrow
6. Repeat 3-5

Bulk Edit Workflow

1. Ctrl+O          → Open folder
2. Ctrl+G          → Enter global edit mode
3. Edit fields     → Only change what you want to update
4. Ctrl+S          → Save all
5. Escape          → Exit global edit

Batch Operations Workflow

1. Ctrl+O          → Open folder
2. Ctrl+K          → Open command palette
3. Type command    → e.g., "Get Covers"
4. Enter           → Execute
5. Wait            → Monitor progress bar
6. Click progress  → View details

Customization

TagQt does not currently support custom keyboard shortcuts. Shortcuts are hardcoded in the application.
To modify shortcuts, you would need to edit the source code:
# In tagqt/ui/main.py:247-251
QShortcut(QKeySequence("Ctrl+S"), self, self.save_metadata)
# Change "Ctrl+S" to your preferred shortcut

Tips and Best Practices

Muscle Memory

The most commonly used shortcuts:
  1. Ctrl+O - Always needed to start working
  2. Ctrl+S - Save frequently
  3. Ctrl+K - Quick access to any command
  4. Escape - Quick exit from global mode

Efficient Workflow

Use Ctrl+K (command palette) for operations you don’t use often enough to remember their menu location.
Keyboard-first workflow:
  • Minimize mouse usage: Use arrow keys for navigation
  • Command palette: Ctrl+K for quick command access
  • Global edit: Ctrl+G for bulk editing
  • Quick save: Ctrl+S after each edit

Context Awareness

Shortcuts behave differently based on context:
  • Ctrl+S in single mode → saves one file
  • Ctrl+S in global mode → saves all selected
  • Escape works only in global edit mode

Accessibility

All shortcuts are accessible via menus:
  • Shortcuts are displayed next to menu items
  • Menu items show the keyboard shortcut
  • Alt+[letter] activates menu bar

Command Palette Alternative

For users who prefer keyboard navigation:
  • Ctrl+K opens searchable command list
  • Type to filter commands
  • Arrow keys to navigate
  • Enter to execute

Platform Differences

On macOS, shortcuts use Cmd instead of Ctrl:
  • Ctrl+SCmd+S
  • Ctrl+OCmd+O
  • etc.
PySide6/Qt automatically handles platform-specific modifier keys.

Technical Details

Implementation

Shortcuts are implemented using PySide6’s QShortcut class:
from PySide6.QtGui import QShortcut, QKeySequence

# Create shortcut
QShortcut(QKeySequence("Ctrl+S"), parent_widget, callback_function)

Source Code Reference

  • Primary shortcuts: tagqt/ui/main.py:247-251 (setup_shortcuts method)
  • Menu shortcuts: Throughout main.py:362-523 (create_menu_bar method)
  • Command palette: tagqt/ui/palette.py (CommandPalette class)

Shortcut Registration

All shortcuts are registered during MainWindow initialization:
  1. setup_shortcuts() - Registers global shortcuts
  2. create_menu_bar() - Registers menu shortcuts
  3. CommandPalette - Registers palette commands with shortcuts

See Also

Build docs developers (and LLMs) love