1
0
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:
ArijanJ
2026-02-10 21:44:56 +01:00
committed by GitHub
parent c783ff3dcf
commit e2c3ff00fb
4 changed files with 48 additions and 0 deletions

View File

@@ -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"
}