matryer/xbar · error

size

Error message

size

What it means

Returned by ItemParams.setValueByKey when the 'size' parameter value cannot be converted by parseInt. The error is wrapped with the key name ('size: ...'). The size must be an integer; non-numeric values abort parameter parsing.

Source

Thrown at pkg/plugins/item_params.go:200

		if err != nil {
			return errors.Wrap(err, key)
		}
	case "key":
		p.Key = value
	case "href":
		p.Href = value
	case "color":
		var err error
		p.Color, err = parseColor(value)
		if err != nil {
			return errors.Wrap(err, key)
		}
	case "font":
		p.Font = value
	case "size":
		val, err := parseInt(value)
		if err != nil {
			return errors.Wrap(err, key)
		}
		p.Size = val
	case "shell", "bash":
		p.Shell = value
	case "templateImage":
		p.TemplateImage = value
	case "image":
		p.Image = value
	case "terminal":
		var err error
		p.Terminal, err = parseBool(value)
		if err != nil {
			return errors.Wrap(err, key)
		}
	case "refresh":
		var err error
		p.Refresh, err = parseBool(value)
		if err != nil {

View on GitHub (pinned to d624239058)

Solutions

  1. Set size to a plain integer, e.g. size=12 (strip 'px' or other units).
  2. Remove spaces and ensure ASCII digits only (no thousands separators).
  3. If a float is needed, round to an integer value.

Example fix

// before
size=12px
// after
size=12
Defensive patterns

Strategy: validation

Validate before calling

func validSizeParam(v string) error {
    v = strings.TrimSpace(v)
    if _, err := strconv.Atoi(v); err != nil {
        return fmt.Errorf("size must be an integer, got %q", v)
    }
    return nil
}

Try / catch

params, err := parseParamStr(raw)
if err != nil && strings.HasPrefix(err.Error(), "size:") {
    log.Printf("invalid size value, using default: %v", err)
    params.Size = 0
}

Prevention

When it happens

Trigger: parseParamStr encounters key 'size' with a non-integer value — e.g. size=12px, size=large, size=12.5, or size= (empty).

Common situations: CSS-style values ('12px') copied from stylesheets; decimal sizes; locale-formatted numbers with commas; typos like 'szie' handled elsewhere but 'size=1O' (letter O).

Related errors


AI-assisted analysis of matryer/xbar@d624239058 (2026-09-02). Data as JSON: /api/errors/23900facc9dde860. Report an issue: GitHub.