Create fully customizable quick toggle buttons to run user defined commands and launch custom scripts.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-004 warning
extension files should not contain excessive ungated console logging
File contains 7 ungated console.log/warn/error calls (threshold: 5).
backup.js:105
console.log(`[Custom Command Toggle] Toggle button settings exported to ${filePath}`)
backup.js:136
console.log(`[Custom Command Toggle] Failed to export settings\n${e}`)
backup.js:181
console.log(`[Custom Command Toggle] Failed to import settings. File not found.`)
backup.js:188
console.log('[Custom Command Toggle] Failed to import configuration\n%s'.format(e))
backup.js:280
console.log('[Custom Command Toggle] Configuration imported from %s'.format(filePath))
backup.js:307
console.log('[Custom Command Toggle] All settings successfully reset to defaults')
backup.js:309
console.log('[Custom Command Toggle] Failed to reset settings:', e)
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:496
this._settings.connect(`changed::enabled${i}-setting`, () => {
if (debug) console.log(`[Custom Command Toggle] Toggle ${i} | ${this._settings.get_boolean(`enabled${i}-setting`) ? 'ENABLED' : 'DISABLED'}`);
if (this._settings.get_boolean(`enabled${i}-settin
extension.js:647
this._settings.connect(`changed::initialtogglestate${i}-setting`, () => debounce(i, () => setupCheckSync.call(this, i)))
extension.js:648
this._settings.connect(`changed::checkregex${i}-setting`, () => debounce(i, () => setupCheckSync.call(this, i)))
extension.js:649
this._settings.connect(`changed::checkcommand${i}-setting`, () => debounce(i, () => setupCheckSync.call(this, i)))
extension.js:650
this._settings.connect(`changed::checkcommandinterval${i}-setting`, () => debounce(i, () => setupCheckSync.call(this, i)))
extension.js:651
this._settings.connect(`changed::checkcommandsync${i}-setting`, () => debounce(i, () => setupCheckSync.call(this, i)))
extension.js:652
this._settings.connect(`changed::showindicator${i}-setting`, () => refreshIndicator.call(this))
extension.js:598
this._settings.connect('changed::buttonclick1-setting', (settings, key) => {
buttonClick1 = this._settings.get_int('buttonclick1-setting');
if (buttonClick1 === 0) { toggleStates[0] = true; settings.set_boolean('togglestate1-setting', toggleStates[0]); }
extension.js:604
this._settings.connect('changed::buttonclick2-setting', (settings, key) => {
buttonClick2 = this._settings.get_int('buttonclick2-setting');
if (buttonClick2 === 0) { toggleStates[1] = true; settings.set_boolean('togglestate2-setting', toggleStates[1]); }
extension.js:610
this._settings.connect('changed::buttonclick3-setting', (settings, key) => {
buttonClick3 = this._settings.get_int('buttonclick3-setting');
if (buttonClick3 === 0) { toggleStates[2] = true; settings.set_boolean('togglestate3-setting', toggleStates[2]); }
extension.js:616
this._settings.connect('changed::buttonclick4-setting', (settings, key) => {
buttonClick4 = this._settings.get_int('buttonclick4-setting');
if (buttonClick4 === 0) { toggleStates[3] = true; settings.set_boolean('togglestate4-setting', toggleStates[3]); }
extension.js:622
this._settings.connect('changed::buttonclick5-setting', (settings, key) => {
buttonClick5 = this._settings.get_int('buttonclick5-setting');
if (buttonClick5 === 0) { toggleStates[4] = true; settings.set_boolean('togglestate5-setting', toggleStates[4]); }
extension.js:628
this._settings.connect('changed::buttonclick6-setting', (settings, key) => {
buttonClick6 = this._settings.get_int('buttonclick6-setting');
if (buttonClick6 === 0) { toggleStates[5] = true; settings.set_boolean('togglestate6-setting', toggleStates[5]); }
extension.js:655
this._settings.connect('changed::debug-setting', () => {
debug = this._settings.get_boolean('debug-setting');
})
extension.js:520
this._settings.connect('changed::entryrow1-setting', (settings, key) => {
entryRow1 = this._settings.get_string('entryrow1-setting');
})
extension.js:533
this._settings.connect('changed::entryrow12-setting', (settings, key) => {
entryRow12 = this._settings.get_string('entryrow12-setting');
})
extension.js:546
this._settings.connect('changed::entryrow13-setting', (settings, key) => {
entryRow13 = this._settings.get_string('entryrow13-setting');
})
extension.js:559
this._settings.connect('changed::entryrow14-setting', (settings, key) => {
entryRow14 = this._settings.get_string('entryrow14-setting');
})
extension.js:572
this._settings.connect('changed::entryrow15-setting', (settings, key) => {
entryRow15 = this._settings.get_string('entryrow15-setting');
})
extension.js:585
this._settings.connect('changed::entryrow16-setting', (settings, key) => {
entryRow16 = this._settings.get_string('entryrow16-setting');
})
extension.js:523
this._settings.connect('changed::entryrow2-setting', (settings, key) => {
entryRow2 = this._settings.get_string('entryrow2-setting');
})
extension.js:536
this._settings.connect('changed::entryrow22-setting', (settings, key) => {
entryRow22 = this._settings.get_string('entryrow22-setting');
})
extension.js:549
this._settings.connect('changed::entryrow23-setting', (settings, key) => {
entryRow23 = this._settings.get_string('entryrow23-setting');
})
extension.js:562
this._settings.connect('changed::entryrow24-setting', (settings, key) => {
entryRow24 = this._settings.get_string('entryrow24-setting');
})
extension.js:575
this._settings.connect('changed::entryrow25-setting', (settings, key) => {
entryRow25 = this._settings.get_string('entryrow25-setting');
})
extension.js:588
this._settings.connect('changed::entryrow26-setting', (settings, key) => {
entryRow26 = this._settings.get_string('entryrow26-setting');
})
extension.js:526
this._settings.connect('changed::entryrow3-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:539
this._settings.connect('changed::entryrow32-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:552
this._settings.connect('changed::entryrow33-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:565
this._settings.connect('changed::entryrow34-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:578
this._settings.connect('changed::entryrow35-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:591
this._settings.connect('changed::entryrow36-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:529
this._settings.connect('changed::entryrow4-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:542
this._settings.connect('changed::entryrow42-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:555
this._settings.connect('changed::entryrow43-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:568
this._settings.connect('changed::entryrow44-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:581
this._settings.connect('changed::entryrow45-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:594
this._settings.connect('changed::entryrow46-setting', (settings, key) => {
refreshIndicator.call(this);
})
extension.js:471
this._settings.connect('changed::force-refresh', () => {
if (debug) console.log(`[Custom Command Toggle] `);
if (debug) console.log(`[Custom Command Toggle] Rebuilding and reinitializing all toggles`);
// Remove old intervals
checkIntervals.f
extension.js:91
this.toggle1ConnectSignal = this.toggle1.connect('notify::checked', () => {
if (settings.get_boolean('closemenu1-setting')) {Main.panel.closeQuickSettings();}
if (settings.get_int('buttonclick1-setting') === 2 && settings.get_boolean('checkexitcode1-setting')) {
extension.js:143
this.toggle2ConnectSignal = this.toggle2.connect('notify::checked', () => {
if (settings.get_boolean('closemenu2-setting')) {Main.panel.closeQuickSettings();}
if (settings.get_int('buttonclick2-setting') === 2 && settings.get_boolean('checkexitcode2-setting')) {
extension.js:195
this.toggle3ConnectSignal = this.toggle3.connect('notify::checked', () => {
if (settings.get_boolean('closemenu3-setting')) {Main.panel.closeQuickSettings();}
if (settings.get_int('buttonclick3-setting') === 2 && settings.get_boolean('checkexitcode3-setting')) {
extension.js:247
this.toggle4ConnectSignal = this.toggle4.connect('notify::checked', () => {
if (settings.get_boolean('closemenu4-setting')) {Main.panel.closeQuickSettings();}
if (settings.get_int('buttonclick4-setting') === 2 && settings.get_boolean('checkexitcode4-setting')) {
extension.js:299
this.toggle5ConnectSignal = this.toggle5.connect('notify::checked', () => {
if (settings.get_boolean('closemenu5-setting')) {Main.panel.closeQuickSettings();}
if (settings.get_int('buttonclick5-setting') === 2 && settings.get_boolean('checkexitcode5-setting')) {
extension.js:351
this.toggle6ConnectSignal = this.toggle6.connect('notify::checked', () => {
if (settings.get_boolean('closemenu6-setting')) {Main.panel.closeQuickSettings();}
if (settings.get_int('buttonclick6-setting') === 2 && settings.get_boolean('checkexitcode6-setting')) {
EGO-M-004 error
metadata shell-version must only include plausible stable releases and at most one development release
Field `shell-version` contains invalid values, more than one development release, or implausible future releases.
metadata.json must be well-formed
metadata.json
shell-version=['45', '46', '47', '48', '49', '50', '51']
| Version | Status |
|---|---|
| 14 | Active |
| 13 | Active |
| 12 | Inactive |
| 11 | Inactive |
| 10 | Rejected |
| 9 | Inactive |
| 8 | Inactive |
| 7 | Inactive |
| 6 | Inactive |
| 5 | Rejected |
| 4 | Inactive |
| 3 | Inactive |
| 2 | Inactive |
| 1 | Rejected |