diff --git a/data/data.go b/data/data.go index 5076620..3383a7d 100644 --- a/data/data.go +++ b/data/data.go @@ -2,6 +2,8 @@ package data import ( _ "embed" + "encoding/base64" + "strings" ) //go:embed ui/window.ui @@ -30,3 +32,12 @@ var LibraryPanelXML string //go:embed gtk.css var MainCSS string + +//go:embed noise-texture.png +var NoiseTexture []byte + +func BuildMainCSS() string { + noiseTextureEncoded := "data:image/png;base64," + base64.StdEncoding.EncodeToString(NoiseTexture) + + return strings.ReplaceAll(MainCSS, "@NOISETEXTURE@", noiseTextureEncoded) +} diff --git a/data/gtk.css b/data/gtk.css index aa3357b..9e74f64 100644 --- a/data/gtk.css +++ b/data/gtk.css @@ -1,5 +1,6 @@ #content_stack { box-shadow:inset 4px 4px 10px rgba(0,0,0,0.3); + background-image:url("@NOISETEXTURE@"); } #port_spinner { diff --git a/internal/gui/application.go b/internal/gui/application.go index 6a7598e..fe64d79 100644 --- a/internal/gui/application.go +++ b/internal/gui/application.go @@ -60,7 +60,7 @@ func (a *Application) setDefaultSettings() { func (a *Application) loadCSS() { styleProvider := gtk.NewCSSProvider() - styleProvider.LoadFromString(data.MainCSS) + styleProvider.LoadFromString(data.BuildMainCSS()) gtk.StyleContextAddProviderForDisplay( gdk.DisplayGetDefault(),