From dda761a2a91f30cc2d463c478c02864804130370 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 27 Oct 2021 14:38:31 +0200 Subject: [PATCH 1/2] media-keys: Fix Repeat toggling Repeat is the name of the key within gnome-settings-daemon, LoopStatus is the name of the MPRIS property. Make sure to use the correct one each time. --- plugins/media-keys/gsd-media-keys-manager.c | 2 +- plugins/media-keys/mpris-controller.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c index 2f898d59f..498a49cdd 100644 --- a/plugins/media-keys/gsd-media-keys-manager.c +++ b/plugins/media-keys/gsd-media-keys-manager.c @@ -1724,7 +1724,7 @@ do_multimedia_player_action (GsdMediaKeysManager *manager, } else if (g_str_equal (key, "FastForward")) { if (mpris_controller_seek (priv->mpris_controller, FASTFORWARD_MSEC)) return TRUE; - } else if (g_str_equal (key, "LoopStatus")) { + } else if (g_str_equal (key, "Repeat")) { if (mpris_controller_toggle (priv->mpris_controller, "LoopStatus")) return TRUE; } else if (g_str_equal (key, "Shuffle")) { diff --git a/plugins/media-keys/mpris-controller.c b/plugins/media-keys/mpris-controller.c index de113adb1..d60d362ec 100644 --- a/plugins/media-keys/mpris-controller.c +++ b/plugins/media-keys/mpris-controller.c @@ -149,7 +149,7 @@ mpris_controller_toggle (MprisController *self, const gchar *property) if (!self->mpris_client_proxy) return FALSE; - if (g_str_equal (property, "Repeat")) { + if (g_str_equal (property, "LoopStatus")) { g_autoptr(GDBusProxy) props = NULL; g_autoptr(GVariant) loop_status; const gchar *status_str, *new_status; -- GitLab From 1970285578ff31abd58788e6f0ebe83c476fe533 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Wed, 27 Oct 2021 14:39:18 +0200 Subject: [PATCH 2/2] media-keys: Fix fast-forward and rewind keys MPRIS's Seek method uses microseconds, not milliseconds. --- plugins/media-keys/gsd-media-keys-manager.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c index 498a49cdd..a38be7a82 100644 --- a/plugins/media-keys/gsd-media-keys-manager.c +++ b/plugins/media-keys/gsd-media-keys-manager.c @@ -101,8 +101,8 @@ #define TOUCHPAD_ENABLED_KEY "send-events" #define HIGH_CONTRAST "HighContrast" -#define REWIND_MSEC (-10 * 1000) -#define FASTFORWARD_MSEC (45 * 1000) +#define REWIND_USEC (-10 * G_USEC_PER_SEC) +#define FASTFORWARD_USEC (45 * G_USEC_PER_SEC) #define VOLUME_STEP "volume-step" #define VOLUME_STEP_PRECISE 2 @@ -1719,10 +1719,10 @@ do_multimedia_player_action (GsdMediaKeysManager *manager, if (mpris_controller_get_has_active_player (priv->mpris_controller)) { if (g_str_equal (key, "Rewind")) { - if (mpris_controller_seek (priv->mpris_controller, REWIND_MSEC)) + if (mpris_controller_seek (priv->mpris_controller, REWIND_USEC)) return TRUE; } else if (g_str_equal (key, "FastForward")) { - if (mpris_controller_seek (priv->mpris_controller, FASTFORWARD_MSEC)) + if (mpris_controller_seek (priv->mpris_controller, FASTFORWARD_USEC)) return TRUE; } else if (g_str_equal (key, "Repeat")) { if (mpris_controller_toggle (priv->mpris_controller, "LoopStatus")) -- GitLab