Files
bbedward 0bd3e85150 settings: fix window rules overflow, unify popout border settings
cards: fix regression that created borders
matugen: run on a low priority worker and seeds dms-colors before other
templates
2026-09-21 11:47:52 -04:00

36 lines
571 B
Go

package dgop
import (
"runtime"
"sync"
"github.com/AvengeMedia/DankMaterialShell/core/internal/lowprio"
)
var (
startWorker sync.Once
jobs chan func()
)
func runLowPriority(job func()) {
startWorker.Do(func() {
jobs = make(chan func())
go worker()
})
done := make(chan struct{})
jobs <- func() {
defer close(done)
job()
}
<-done
}
// Sampling must never preempt a foreground app, so it runs on one OS thread with lowered priority.
func worker() {
runtime.LockOSThread()
lowprio.LowerThreadPriority()
for job := range jobs {
job()
}
}