Added an osd for microphone inputs. (#60)
This commit is contained in:
@@ -18,10 +18,14 @@ export const OSDBar = (ort: OSDOrientation) => {
|
||||
self.hook(brightness, () => {
|
||||
self.value = brightness.kbd;
|
||||
}, "notify::kbd")
|
||||
self.hook(audio, () => {
|
||||
self.hook(audio.microphone, () => {
|
||||
self.toggleClassName("overflow", audio.microphone.volume > 1)
|
||||
self.value = audio.microphone.volume <= 1 ? audio.microphone.volume : audio.microphone.volume - 1;
|
||||
}, "notify::volume")
|
||||
self.hook(audio.speaker, () => {
|
||||
self.toggleClassName("overflow", audio.speaker.volume > 1)
|
||||
self.value = audio.speaker.volume <= 1 ? audio.speaker.volume : audio.speaker.volume - 1;
|
||||
})
|
||||
}, "notify::volume")
|
||||
}
|
||||
})
|
||||
]
|
||||
|
||||
@@ -19,9 +19,18 @@ export const OSDIcon = (ort: OSDOrientation) => {
|
||||
self.hook(brightness, () => {
|
||||
self.label = "";
|
||||
}, "notify::kbd")
|
||||
self.hook(audio, () => {
|
||||
self.hook(audio.microphone, () => {
|
||||
self.label = audio.microphone.is_muted ? "" : "";
|
||||
}, "notify::volume")
|
||||
self.hook(audio.microphone, () => {
|
||||
self.label = audio.microphone.is_muted ? "" : "";
|
||||
}, "notify::is-muted")
|
||||
self.hook(audio.speaker, () => {
|
||||
self.label = audio.speaker.is_muted ? "" : "";
|
||||
})
|
||||
}, "notify::volume")
|
||||
self.hook(audio.speaker, () => {
|
||||
self.label = audio.speaker.is_muted ? "" : "";
|
||||
}, "notify::is-muted")
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
@@ -65,13 +65,20 @@ const renderOSD = () => {
|
||||
self.hook(brightness, () => {
|
||||
handleReveal(self, "reveal_child");
|
||||
}, "notify::kbd")
|
||||
self.hook(audio.microphone, () => {
|
||||
handleReveal(self, "reveal_child");
|
||||
}, "notify::volume")
|
||||
self.hook(audio.microphone, () => {
|
||||
handleReveal(self, "reveal_child");
|
||||
}, "notify::is-muted")
|
||||
self.hook(audio.speaker, () => {
|
||||
handleReveal(self, "reveal_child");
|
||||
}, "notify::volume")
|
||||
self.hook(audio.speaker, () => {
|
||||
handleReveal(self, "visible");
|
||||
handleReveal(self, "reveal_child");
|
||||
}, "notify::is-muted")
|
||||
|
||||
|
||||
},
|
||||
child: Widget.Box({
|
||||
class_name: "osd-container",
|
||||
@@ -126,12 +133,17 @@ export default () => Widget.Window({
|
||||
self.hook(brightness, () => {
|
||||
handleReveal(self, "visible");
|
||||
}, "notify::kbd")
|
||||
self.hook(audio.microphone, () => {
|
||||
handleReveal(self, "visible");
|
||||
}, "notify::volume")
|
||||
self.hook(audio.microphone, () => {
|
||||
handleReveal(self, "visible");
|
||||
}, "notify::is-muted")
|
||||
self.hook(audio.speaker, () => {
|
||||
handleReveal(self, "visible");
|
||||
}, "notify::volume")
|
||||
self.hook(audio.speaker, () => {
|
||||
handleReveal(self, "visible");
|
||||
}, "notify::is-muted")
|
||||
|
||||
},
|
||||
})
|
||||
|
||||
@@ -20,10 +20,14 @@ export const OSDLabel = (ort: OSDOrientation) => {
|
||||
self.hook(brightness, () => {
|
||||
self.label = `${Math.round(brightness.kbd * 100)}`;
|
||||
}, "notify::kbd")
|
||||
self.hook(audio, () => {
|
||||
self.hook(audio.microphone, () => {
|
||||
self.toggleClassName("overflow", audio.microphone.volume > 1)
|
||||
self.label = `${Math.round(audio.microphone.volume * 100)}`;
|
||||
}, "notify::volume")
|
||||
self.hook(audio.speaker, () => {
|
||||
self.toggleClassName("overflow", audio.speaker.volume > 1)
|
||||
self.label = `${Math.round(audio.speaker.volume * 100)}`;
|
||||
})
|
||||
}, "notify::volume")
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user