Compare commits

..

3 Commits

3 changed files with 54 additions and 3 deletions

View File

@ -7,6 +7,7 @@ import "git.tebibyte.media/tomo/nasin"
import "git.tebibyte.media/tomo/objects"
import "git.tebibyte.media/tomo/tomo/input"
import "git.tebibyte.media/tomo/objects/layouts"
import "git.tebibyte.media/tomo/nasin/internal/theme/xdgicons"
const scrollIcons = true
@ -389,13 +390,15 @@ func (this *Application) iconPopup (icon tomo.Icon) error {
icon = "<UNKNOWN>"
}
sizesRow := objects.NewInnerContainer (
sizesRow := objects.NewSunkenContainer (
layouts.ContractHorizontal,
objects.NewIcon(icon, tomo.IconSizeSmall),
objects.NewIcon(icon, tomo.IconSizeMedium),
objects.NewIcon(icon, tomo.IconSizeLarge))
sizesRow.SetAlign(tomo.AlignMiddle, tomo.AlignMiddle)
okButton := objects.NewButton("OK")
okButton.SetFocused(true)
okButton.OnClick(popup.Close)
okButton.SetIcon(tomo.IconDialogOkay)
controlRow := objects.NewInnerContainer (
@ -404,8 +407,9 @@ func (this *Application) iconPopup (icon tomo.Icon) error {
controlRow.SetAlign(tomo.AlignEnd, tomo.AlignMiddle)
popup.SetRoot(objects.NewOuterContainer (
layouts.NewGrid([]bool { true }, []bool { true, false }),
layouts.NewGrid([]bool { true }, []bool { false, false, true, false }),
objects.NewLabel("Icon ID: " + string(icon)),
objects.NewLabel("XDG Name: " + xdgIcons.XdgIconName(icon)),
sizesRow,
controlRow,
))

View File

@ -1,12 +1,27 @@
//go:build unix && (!darwin)
package registrar
import "os"
import "log"
import "git.tebibyte.media/tomo/x"
import "git.tebibyte.media/tomo/tomo"
import "git.tebibyte.media/tomo/nasin/internal/theme/default"
import "git.tebibyte.media/tomo/nasin/internal/theme/xdgicons"
func Init () error {
tomo.SetTheme(defaultTheme.Theme())
theme := defaultTheme.Theme()
iconThemeName := os.Getenv("TOMO_XDG_ICON_THEME")
if iconThemeName != "" {
iconTheme, err := xdgIcons.FindThemeWarn(iconThemeName)
if err == nil {
theme.IconTheme = iconTheme
} else {
log.Printf("nasin: could not load icon theme '%s': %v", iconThemeName, err)
}
}
tomo.SetTheme(theme)
tomo.Register(1, x.NewBackend)
return nil
}

View File

@ -154,6 +154,22 @@ var rules = []dataTheme.Rule {
),
},
// *.Container[menu]
dataTheme.Rule {
Role: tomo.R("", "Container", "menu"),
Default: dataTheme.AS (
dataTheme.AttrBorder {
outline,
tomo.Border {
Width: tomo.I(1),
Color: borderColorLifted,
},
},
dataTheme.AttrColor { Color: tomo.ColorBackground },
dataTheme.AttrGap { },
),
},
// *.Heading[*]
dataTheme.Rule {
Role: tomo.R("", "Heading", ""),
@ -263,4 +279,20 @@ var rules = []dataTheme.Rule {
dataTheme.AttrGap { X: 8, Y: 8 },
),
},
// *.MenuItem[*]
dataTheme.Rule {
Role: tomo.R("", "MenuItem", ""),
Default: dataTheme.AS (
dataTheme.AttrPadding(tomo.I(4)),
dataTheme.AttrGap { X: 4, Y: 4 },
dataTheme.AttrColor { Color: color.Transparent },
),
Hovered: dataTheme.AS (
dataTheme.AttrColor { Color: tomo.ColorAccent },
),
Focused: dataTheme.AS (
dataTheme.AttrColor { Color: tomo.ColorAccent },
),
},
}