Add native i3 desktop announcements
This commit is contained in:
1 parent
49eeae89f4
commit
bf1f155018
22 files changed
+1835
-1
No files matched your search
@@ -0,0 +1,73 @@
|
||||
// Copyright (c) 2026 Storm Dragon
|
||||
// Authors: Storm Dragon, Angus Kola
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
package config
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func i3Flags(r ReadingSettings) []bool {
|
||||
return []bool{r.I3Modes, r.I3Workspaces, r.I3WindowStates, r.I3Urgency, r.I3Marks, r.I3WorkspaceMoves}
|
||||
}
|
||||
func TestI3DefaultsPersistenceAndInheritance(t *testing.T) {
|
||||
old, err := Load(filepath.Join("testdata", "settings-v2.toml"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, v := range i3Flags(old.Reading) {
|
||||
if !v {
|
||||
t.Fatal("existing configuration defaults i3 announcements off")
|
||||
}
|
||||
}
|
||||
store, err := NewStore(filepath.Join(t.TempDir(), "settings.toml"))
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
global := DefaultSettings()
|
||||
if err = store.Save(global); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
app := global
|
||||
app.Reading.I3Modes = false
|
||||
app.Reading.I3Workspaces = false
|
||||
app.Reading.I3WindowStates = false
|
||||
app.Reading.I3Urgency = false
|
||||
app.Reading.I3Marks = false
|
||||
app.Reading.I3WorkspaceMoves = false
|
||||
if err = store.SaveForApplication("Quiet App", app); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
loaded, found, err := store.LoadForApplication("Quiet App")
|
||||
if err != nil || !found {
|
||||
t.Fatalf("%t %v", found, err)
|
||||
}
|
||||
for _, v := range i3Flags(loaded.Reading) {
|
||||
if v {
|
||||
t.Fatal("override lost")
|
||||
}
|
||||
}
|
||||
inherited, _, err := store.LoadForApplication("Other App")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, v := range i3Flags(inherited.Reading) {
|
||||
if !v {
|
||||
t.Fatal("override leaked")
|
||||
}
|
||||
}
|
||||
global.Reading = app.Reading
|
||||
if err = store.Save(global); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
inherited, _, err = store.LoadForApplication("Other App")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
for _, v := range i3Flags(inherited.Reading) {
|
||||
if v {
|
||||
t.Fatal("global update not inherited")
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user