Introduce separate setting for pulseaudio symbol font size

This commit is contained in:
eleksir
2024-01-12 01:01:08 +03:00
parent 104275ee6f
commit 8c8dfcef46
3 changed files with 71 additions and 48 deletions

View File

@@ -209,9 +209,9 @@ type MyConfig struct {
} `json:"vpn,omitempty"` } `json:"vpn,omitempty"`
SimpleVolumePa struct { SimpleVolumePa struct {
Enabled bool `json:"enabled,omitempty"` Enabled bool `json:"enabled,omitempty"`
Symbol string `json:"symbol,omitempty"` Symbol string `json:"symbol,omitempty"`
FontSize string `json:"font_size,omitempty"`
Separator struct { Separator struct {
Left struct { Left struct {
Enabled bool `json:"enabled,omitempty"` Enabled bool `json:"enabled,omitempty"`
@@ -1117,6 +1117,10 @@ func readConf() (MyConfig, error) {
sampleConfig.SimpleVolumePa.Symbol = `🔊` sampleConfig.SimpleVolumePa.Symbol = `🔊`
} }
if sampleConfig.SimpleVolumePa.FontSize == "" {
sampleConfig.SimpleVolumePa.FontSize = "medium"
}
if sampleConfig.SimpleVolumePa.Step == 0 { if sampleConfig.SimpleVolumePa.Step == 0 {
sampleConfig.SimpleVolumePa.Step = 5 sampleConfig.SimpleVolumePa.Step = 5
} }

View File

@@ -12,8 +12,8 @@
"background": "#000000", "background": "#000000",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -27,8 +27,8 @@
// If omitted, used "|" (no quotes) as default // If omitted, used "|" (no quotes) as default
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
}, },
@@ -45,8 +45,8 @@
"background": "#000000", "background": "#000000",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -56,8 +56,8 @@
"background": "#000000", "background": "#000000",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
} }
@@ -74,8 +74,8 @@
"background": "#000000", "background": "#000000",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -85,8 +85,8 @@
"background": "#000000", "background": "#000000",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
} }
@@ -104,8 +104,8 @@
"color": "#3e78fd", "color": "#3e78fd",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -115,8 +115,8 @@
"background": "#000000", "background": "#000000",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
}, },
@@ -148,8 +148,8 @@
"background": "#000000", "background": "#000000",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -159,8 +159,8 @@
"background": "#000000", "background": "#000000",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
}, },
@@ -178,15 +178,24 @@
"simple-volume-pa": { "simple-volume-pa": {
"enabled": false, "enabled": false,
"symbol": "🔊", "symbol": "🔊",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
// ‘smaller’ or ‘larger’. If omitted set to medium by default.
"font_size": "medium",
// If not defined - will be "true" // If not defined - will be "true"
"right_click_cmd": ["pavucontrol"], "right_click_cmd": ["pavucontrol"],
// Change volume step in %, if not configured it is 5 // Change volume step in %, if not configured it is 5
"step": 3, "step": 3,
// We'll change volume level with mouse wheel. Under X11 it is mapped to some buttons, typically 4 and 5 (z-axis). // We'll change volume level with mouse wheel. Under X11 it is mapped to some buttons, typically 4 and 5 (z-axis).
// If omited, default value is 4 // If omited, default value is 4
"wheel_up": 4, "wheel_up": 4,
// If omited, default value is 5 // If omited, default value is 5
"wheel_down": 5, "wheel_down": 5,
// Maximum sound volume, can be over 100%, but sould not be :) Default value 100 if not set. // Maximum sound volume, can be over 100%, but sould not be :) Default value 100 if not set.
"max_volume_limit": 120, "max_volume_limit": 120,
@@ -197,8 +206,8 @@
"background": "#000000", "background": "#000000",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’,, or one of the relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -208,8 +217,8 @@
"background": "#000000", "background": "#000000",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of the relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
} }
@@ -228,8 +237,8 @@
"background": "#000000", "background": "#000000",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -239,8 +248,8 @@
"background": "#000000", "background": "#000000",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
}, },
@@ -276,8 +285,8 @@
"background": "#000000", "background": "#000000",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -287,8 +296,8 @@
"background": "#000000", "background": "#000000",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
} }
@@ -305,8 +314,8 @@
"background": "#000000", "background": "#000000",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -316,8 +325,8 @@
"background": "#000000", "background": "#000000",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
}, },
@@ -368,8 +377,8 @@
"color": "#3e78fd", "color": "#3e78fd",
"symbol": "▶", "symbol": "▶",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
}, },
@@ -378,8 +387,8 @@
"color": "#3e78fd", "color": "#3e78fd",
"symbol": "◀", "symbol": "◀",
"font": "Noto Sans", "font": "Noto Sans",
// ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or a percentage (e.g. ‘200%’), or // ‘xx-small’, ‘x-small’, ‘small’, ‘medium’, ‘large’, ‘x-large’, ‘xx-large’, or one of relative sizes
// one of the relative sizes ‘smaller’ or ‘larger’ // ‘smaller’ or ‘larger’
"font_size": "medium" "font_size": "medium"
} }
} }

View File

@@ -35,7 +35,12 @@ func UpdateVolumeInfo() {
return return
} }
SoundVolume = fmt.Sprintf("%s:%d%%", Conf.SimpleVolumePa.Symbol, int64(vol*100)) SoundVolume = fmt.Sprintf(
"<span size='%s'>%s</span>:%d%%",
Conf.SimpleVolumePa.FontSize,
Conf.SimpleVolumePa.Symbol,
int64(vol*100),
)
UpdateReady <- true UpdateReady <- true
@@ -59,7 +64,12 @@ func UpdateVolumeInfo() {
return return
} }
SoundVolume = fmt.Sprintf("%s:%d%%", Conf.SimpleVolumePa.Symbol, int64(vol*100)) SoundVolume = fmt.Sprintf(
"<span size='%s'>%s:%d%%",
Conf.SimpleVolumePa.FontSize,
Conf.SimpleVolumePa.Symbol,
int64(vol*100),
)
UpdateReady <- true UpdateReady <- true
} }
@@ -72,7 +82,7 @@ func UpdateVolumeInfo() {
} }
// This code is unreachable :( // This code is unreachable :(
pa.Close() pa.Close() //nolint:govet
} }
// PaReinit re-inits pulseaudio and connection to it. // PaReinit re-inits pulseaudio and connection to it.
@@ -90,13 +100,13 @@ func PaReinit() error {
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {
return fmt.Errorf("unable to initialize pulseaudio server instance: %w", err) return fmt.Errorf("unable to initialize pulseaudio server instance: %w", err)
} //nolint:wsl }
pa, err = p.NewClient() pa, err = p.NewClient()
if err != nil { if err != nil {
return fmt.Errorf("unable to make client connection to pulseaudio: %s", err) return fmt.Errorf("unable to make client connection to pulseaudio: %s", err)
} //nolint:wsl }
return err return err
} }