Add toggle for app grouping
This commit is contained in:
parent
38e93d1218
commit
87467b6105
2 changed files with 68 additions and 1 deletions
|
@ -92,6 +92,13 @@ function check_state_creation() {
|
|||
}
|
||||
}
|
||||
|
||||
function check_app_grouping() {
|
||||
if (require('fs').existsSync(`${require('os').homedir()}/.config/categorize_apps_gnome_disable`)) {
|
||||
document.getElementById('app-grouping-toggle').setAttribute('checked', '')
|
||||
}
|
||||
}
|
||||
|
||||
check_app_grouping()
|
||||
check_state_creation()
|
||||
check_rollback()
|
||||
|
||||
|
@ -134,3 +141,48 @@ $('#automatic-state-toggle').on('change', () => {
|
|||
}
|
||||
}
|
||||
});
|
||||
|
||||
$('#app-grouping-toggle').on('change', () => {
|
||||
if (!document.getElementById('app-grouping-toggle').checked) {
|
||||
let enable_autogrouping_worker = new Worker(
|
||||
`data:text/javascript,
|
||||
let s = require('child_process').spawnSync('rm', ['-f', '${require('os').homedir()}/.config/categorize_apps_gnome_disable']).status
|
||||
if (s === 0) {
|
||||
postMessage('success')
|
||||
} else {
|
||||
postMessage('failure')
|
||||
}
|
||||
`
|
||||
)
|
||||
enable_autogrouping_worker.onmessage = e => {
|
||||
if (e.data == 'success') {
|
||||
document.getElementById('app-grouping-toggle').checked = false
|
||||
} else {
|
||||
document.getElementById('app-grouping-toggle').checked = true
|
||||
}
|
||||
}
|
||||
} else {
|
||||
let disable_autogrouping_worker = new Worker(
|
||||
`data:text/javascript,
|
||||
require('child_process').spawnSync('mkdir', ['-p', '${require('os').homedir()}/.config']).status
|
||||
let s = require('child_process').spawnSync('touch', ['${require('os').homedir()}/.config/categorize_apps_gnome_disable']).status
|
||||
if (s === 0) {
|
||||
postMessage('success')
|
||||
} else {
|
||||
postMessage('failure')
|
||||
}
|
||||
`
|
||||
)
|
||||
disable_autogrouping_worker.onmessage = e => {
|
||||
if (e.data == 'success') {
|
||||
document.getElementById('app-grouping-toggle').checked = true
|
||||
} else {
|
||||
document.getElementById('app-grouping-toggle').checked = false
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (require('process').env.XDG_CURRENT_DESKTOP.includes('GNOME')) {
|
||||
$('#app-grouping-item').removeClass('d-none')
|
||||
}
|
|
@ -45,6 +45,21 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list-group-item d-none" id="app-grouping-item">
|
||||
<div class="row align-items-center">
|
||||
<div class="col">
|
||||
<strong class="mb-0">Disable app grouping</strong>
|
||||
<p class="text-muted mb-0">
|
||||
Do not automatically group apps of different categories/web apps/Android apps.
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="form-check form-switch align-middle">
|
||||
<input class="form-check-input align-middle" type="checkbox" role="switch" id="app-grouping-toggle">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue