mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-04 04:42:05 -04:00
feat(ipc): add player-specific mpris volume control (#1645)
* feat: add mpris volume control through ipc * feat: add mpris volume action and default binds
This commit is contained in:
@@ -339,6 +339,36 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
function increment(step: string): string {
|
||||
if (MprisController.activePlayer && MprisController.activePlayer.volumeSupported) {
|
||||
const currentVolume = Math.round(MprisController.activePlayer.volume * 100);
|
||||
const stepValue = parseInt(step || "5");
|
||||
const newVolume = Math.max(0, Math.min(100, currentVolume + stepValue));
|
||||
|
||||
MprisController.activePlayer.volume = newVolume / 100;
|
||||
return `Player volume increased to ${newVolume}%`;
|
||||
}
|
||||
}
|
||||
|
||||
function decrement(step: string): string {
|
||||
if (MprisController.activePlayer && MprisController.activePlayer.volumeSupported) {
|
||||
const currentVolume = Math.round(MprisController.activePlayer.volume * 100);
|
||||
const stepValue = parseInt(step || "5");
|
||||
const newVolume = Math.max(0, Math.min(100, currentVolume - stepValue));
|
||||
|
||||
MprisController.activePlayer.volume = newVolume / 100;
|
||||
return `Player volume decreased to ${newVolume}%`;
|
||||
}
|
||||
}
|
||||
|
||||
function setvolume(percentage: string): string {
|
||||
if (MprisController.activePlayer && MprisController.activePlayer.volumeSupported) {
|
||||
const clampedVolume = Math.max(0, Math.min(100, percentage));
|
||||
MprisController.activePlayer.volume = clampedVolume / 100;
|
||||
return `Player volume set to ${clampedVolume}%`;
|
||||
}
|
||||
}
|
||||
|
||||
target: "mpris"
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user