Push-to-talk voice dictation. Super+Space opens a centered overlay that records the microphone, transcribes it in realtime with Mistral Voxtral, and inserts the text into the focused field. Typing uses dotool when available (recommended), with the virtual keyboard as fallback.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-L-002 warning
objects created by extension should be destroyed in disable()
Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.
extension.js:98
this._countdown = new St.Label({style_class: 'murmur-countdown', text: ''})
extension.js:124
this._hint = new St.Label({style_class: 'murmur-hint', text: ''})
extension.js:113
this._scroll = new St.ScrollView({
style_class: 'murmur-scroll',
reactive: true,
hscrollbar_policy: St.PolicyType.NEVER,
vscrollbar_policy: St.PolicyType.AUTOMATIC,
})
extension.js:97
this._status = new St.Label({style_class: 'murmur-status', text: 'Listening…'})
extension.js:105
this._text = new St.Label({style_class: 'murmur-text', text: ''})
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
extension.js:98
this._countdown = new St.Label({style_class: 'murmur-countdown', text: ''})
extension.js:124
this._hint = new St.Label({style_class: 'murmur-hint', text: ''})
extension.js:113
this._scroll = new St.ScrollView({
style_class: 'murmur-scroll',
reactive: true,
hscrollbar_policy: St.PolicyType.NEVER,
vscrollbar_policy: St.PolicyType.AUTOMATIC,
})
extension.js:97
this._status = new St.Label({style_class: 'murmur-status', text: 'Listening…'})
extension.js:105
this._text = new St.Label({style_class: 'murmur-text', text: ''})
EGO-L-003 warning
signals connected by extension should be disconnected in disable()
Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.
extension.js:120
this._scrollChangedId = this._scroll.vadjustment.connect('changed', adj => {
adj.value = Math.max(0, adj.upper - adj.page_size);
})
| Version | Status |
|---|---|
| 1.0.3 (4) | Unreviewed |
| 1.0.2 (3) | Rejected |
| 1.0.1 (2) | Rejected |
| 1.0.0 (1) | Rejected |