Merge pull request #8 from NotMephisto/ryo

Updated Audio Icons

by @NotMephisto
This commit is contained in:
João Dias
2025-06-03 20:38:11 -03:00
committed by GitHub
3 changed files with 22 additions and 9 deletions
+4 -4
View File
@@ -22,14 +22,14 @@ export function Status(): Gtk.Widget {
volumeStatus({ volumeStatus({
className: "sink", className: "sink",
endpoint: Wireplumber.getDefault().getDefaultSink(), endpoint: Wireplumber.getDefault().getDefaultSink(),
icon: bind(Wireplumber.getDefault().getDefaultSink(), "mute").as((muted) => icon: bind(Wireplumber.getDefault().getDefaultSink(), "volumeIcon").as(icon =>
!muted ? "󰕾" : "󰖁") !Wireplumber.getDefault().isMutedSink() && Wireplumber.getDefault().getSinkVolume() > 0 ? icon : "audio-volume-muted-symbolic"),
}), }),
volumeStatus({ volumeStatus({
className: "source", className: "source",
endpoint: Wireplumber.getDefault().getDefaultSource(), endpoint: Wireplumber.getDefault().getDefaultSource(),
icon: bind(Wireplumber.getDefault().getDefaultSource(), "mute").as((muted) => icon: bind(Wireplumber.getDefault().getDefaultSource(), "volumeIcon").as(icon =>
!muted ? "󰍬" : "󰍭") !Wireplumber.getDefault().isMutedSource() && Wireplumber.getDefault().getSourceVolume() > 0 ? icon : "microphone-sensitivity-muted-symbolic"),
}), }),
StatusIcons() StatusIcons()
] ]
+16 -4
View File
@@ -18,8 +18,14 @@ export function Sliders() {
children: bind(Wireplumber.getWireplumber(), "defaultSpeaker").as((sink) => [ children: bind(Wireplumber.getWireplumber(), "defaultSpeaker").as((sink) => [
new Widget.Button({ new Widget.Button({
className: "nf", className: "nf",
label: bind(sink, "mute").as((muted) => !muted ? "󰕾" : "󰖁"), onClick: () => Wireplumber.getDefault().toggleMuteSink(),
onClick: () => Wireplumber.getDefault().toggleMuteSink() children: [
new Widget.Icon ({
icon: bind(sink, "volumeIcon").as((icon) =>
!Wireplumber.getDefault().isMutedSink() && Wireplumber.getDefault().getSinkVolume() > 0 ? icon : "audio-volume-muted-symbolic"),
css: "margin-right: 10px;"
} as Widget.IconProps),
]
} as Widget.ButtonProps), } as Widget.ButtonProps),
new Widget.Slider({ new Widget.Slider({
drawValue: false, drawValue: false,
@@ -43,8 +49,14 @@ export function Sliders() {
children: bind(Wireplumber.getWireplumber(), "defaultMicrophone").as((source) => [ children: bind(Wireplumber.getWireplumber(), "defaultMicrophone").as((source) => [
new Widget.Button({ new Widget.Button({
className: "nf", className: "nf",
label: bind(source, "mute").as((muted) => !muted ? "󰍬" : "󰍭"), onClick: () => Wireplumber.getDefault().toggleMuteSource(),
onClick: () => Wireplumber.getDefault().toggleMuteSource() children: [
new Widget.Icon ({
icon: bind(source, "volumeIcon").as((icon) =>
!Wireplumber.getDefault().isMutedSource() && Wireplumber.getDefault().getSourceVolume() > 0 ? icon : "microphone-sensitivity-muted-symbolic"),
css: "margin-right: 10px;"
} as Widget.IconProps),
]
} as Widget.ButtonProps), } as Widget.ButtonProps),
new Widget.Slider({ new Widget.Slider({
drawValue: false, drawValue: false,
+2 -1
View File
@@ -46,7 +46,8 @@ export const OSD = (mon: number) => {
children: [ children: [
new Widget.Icon({ new Widget.Icon({
className: "icon", className: "icon",
icon: bind(Wireplumber.getDefault().getDefaultSink(), "volumeIcon") icon: bind(Wireplumber.getDefault().getDefaultSink(), "volumeIcon").as(icon =>
!Wireplumber.getDefault().isMutedSink() && Wireplumber.getDefault().getSinkVolume() > 0 ? icon : "audio-volume-muted-symbolic"),
} as Widget.IconProps), } as Widget.IconProps),
new Widget.Box({ new Widget.Box({
className: "volume", className: "volume",