Voxtype Plugin for DMS

July 12, 2026 · View on GitHub

A simple widget that displays the current Voxtype status icon/text in the DMS bar, updating periodically.

Screenshot

Features

  • Status polling using voxtype status --format json
  • Live microphone equalizer while recording — 6 bars next to the icon that move with your voice, driven by cava on the default input source (falls back to a synthetic animation if cava is not installed)
  • Spinning icon while transcribing — the status icon rotates during the transcribing state to signal that processing is in progress
  • Configurable refresh interval (in seconds)
  • Configurable icon theme, passed to Voxtype via --icon-theme
  • Font mapping per theme in the bar:
    • nerd-font (default) → Nerd fonts (JetBrainsMono, FiraCode, Hack Nerd Font)
    • materialMaterial Design Icons
    • phosphorPhosphor Icons
    • codiconsVS Code Codicons
    • omarchyOmarchy font
    • other themes (emoji, minimal, dots, arrows, text, etc.) still use the default Nerd fonts and rely on Voxtype’s output

Prerequisites

Voxtype must be properly configured to work with this plugin. Make sure the state_file is enabled in your Voxtype configuration (~/.config/voxtype/config.toml), which is enabled by default:

state_file = "auto"  # This is the default value

For more information about Voxtype configuration, see the Waybar integration guide.

Optional (for the live microphone equalizer while recording):

  • cava installed and in PATH — used to read the default PipeWire/PulseAudio input source. Without it, the bars still animate with a synthetic fallback. Set DMS_DISABLE_CAVA=1 to force the fallback.

Installation

The plugin is already in your plugins directory. To enable it:

  1. Open DMS Settings Super + ,
  2. Go to the "Plugins" tab
  3. Enable the Voxtype plugin
  4. Add the voxtype widget to your DankBar configuration

Usage

The widget periodically runs voxtype status --format json --icon-theme <iconTheme> and shows the text field from the JSON response directly in the bar, using the font that matches the selected icon theme.

Settings

  • Icon Theme

    • Key: iconTheme
    • Description: Select the icon theme to use for displaying Voxtype status.
    • Options:
      • nerd-font (default)
      • emoji
      • material
      • phosphor
      • codicons
      • omarchy
      • minimal
      • dots
      • arrows
      • text
  • Refresh Interval

    • Key: refreshInterval
    • Description: Time interval to query Voxtype status (in seconds).
    • Default: 1
    • Range: 110
  • Recording Bars

    • Key: showRecordingBars
    • Description: Show a live microphone equalizer next to the icon while recording.
    • Default: true

Files

  • plugin.json - Plugin manifest and metadata
  • VoxtypeWidget.qml - Main widget component
  • VoxtypeSettings.qml - Settings UI
  • README.md - This file

Permissions

This plugin requires:

  • process - To execute and monitor the voxtype command

Command

The widget uses the following command to query status (values simplified):

voxtype status --format json --icon-theme <iconTheme>

Example output from Voxtype:

{
  "text": "🎙️",
  "alt": "idle",
  "class": "idle",
  "tooltip": "Voxtype ready - hold hotkey to record"
}