2024-05-03 16:46:09 +00:00
|
|
|
//go:build unix && (!darwin)
|
2024-05-07 03:25:25 +00:00
|
|
|
package registrar
|
2024-04-29 20:21:53 +00:00
|
|
|
|
2024-05-29 01:56:52 +00:00
|
|
|
import "os"
|
|
|
|
import "log"
|
2024-04-29 20:21:53 +00:00
|
|
|
import "git.tebibyte.media/tomo/tomo"
|
2024-06-12 04:19:12 +00:00
|
|
|
import "git.tebibyte.media/tomo/backend/x"
|
|
|
|
import "git.tebibyte.media/tomo/nasin/internal/style"
|
|
|
|
import "git.tebibyte.media/tomo/nasin/internal/icons/xdg"
|
|
|
|
import "git.tebibyte.media/tomo/nasin/internal/icons/fallback"
|
|
|
|
import "git.tebibyte.media/tomo/nasin/internal/style/fallback"
|
|
|
|
import "git.tebibyte.media/tomo/nasin/internal/style/aluminum"
|
2024-04-29 20:21:53 +00:00
|
|
|
|
2024-06-12 04:27:34 +00:00
|
|
|
func RegisterBackend () error {
|
|
|
|
tomo.Register(1, x.New)
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func SetTheme () error {
|
2024-06-12 04:19:12 +00:00
|
|
|
var styl *style.Style
|
2024-06-03 07:48:13 +00:00
|
|
|
// TODO eventually get rid of this when we make a file format for
|
|
|
|
// storing visual styles
|
|
|
|
if os.Getenv("TOMO_USE_ALUMINUM_STYLE") != "" {
|
2024-06-12 04:19:12 +00:00
|
|
|
styl = aluminumStyle.New()
|
2024-06-03 07:48:13 +00:00
|
|
|
} else {
|
2024-06-12 04:19:12 +00:00
|
|
|
styl = fallbackStyle.New()
|
2024-06-03 07:48:13 +00:00
|
|
|
}
|
2024-06-12 04:19:12 +00:00
|
|
|
icons := fallbackIcons.New()
|
2024-05-29 01:56:52 +00:00
|
|
|
|
|
|
|
iconThemeName := os.Getenv("TOMO_XDG_ICON_THEME")
|
|
|
|
if iconThemeName != "" {
|
2024-06-12 04:19:12 +00:00
|
|
|
xdgIconTheme, err := xdgIcons.FindThemeWarn(iconThemeName, icons)
|
2024-05-29 01:56:52 +00:00
|
|
|
if err == nil {
|
2024-06-12 04:19:12 +00:00
|
|
|
icons = xdgIconTheme
|
2024-05-29 01:56:52 +00:00
|
|
|
} else {
|
|
|
|
log.Printf("nasin: could not load icon theme '%s': %v", iconThemeName, err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-06-12 04:19:12 +00:00
|
|
|
tomo.SetStyle(styl)
|
|
|
|
tomo.SetIcons(icons)
|
2024-06-12 04:27:34 +00:00
|
|
|
return nil
|
2024-04-29 20:21:53 +00:00
|
|
|
}
|