diff --git a/Shared/Trending/TrendingView.swift b/Shared/Trending/TrendingView.swift
index ae33edb4..72d2e132 100644
--- a/Shared/Trending/TrendingView.swift
+++ b/Shared/Trending/TrendingView.swift
@@ -122,6 +122,12 @@ struct TrendingView: View {
                         .frame(minWidth: 400, minHeight: 400)
                     #endif
                 }
+                .background(
+                    Button("Refresh") {
+                        resource.load()
+                    }
+                    .keyboardShortcut("r")
+                )
                 .navigationTitle("Trending")
         #endif
         #if os(iOS)
diff --git a/Shared/Views/PopularView.swift b/Shared/Views/PopularView.swift
index 42a0974c..0580e361 100644
--- a/Shared/Views/PopularView.swift
+++ b/Shared/Views/PopularView.swift
@@ -30,6 +30,14 @@ struct PopularView: View {
                 FavoriteButton(item: FavoriteItem(section: .popular))
             }
         }
+        #if !os(tvOS)
+        .background(
+            Button("Refresh") {
+                resource?.load()
+            }
+            .keyboardShortcut("r")
+        )
+        #endif
         #if os(iOS)
         .refreshControl { refreshControl in
             resource?.load().onCompletion { _ in
diff --git a/Shared/Views/SubscriptionsView.swift b/Shared/Views/SubscriptionsView.swift
index 50107f44..223149aa 100644
--- a/Shared/Views/SubscriptionsView.swift
+++ b/Shared/Views/SubscriptionsView.swift
@@ -38,6 +38,14 @@ struct SubscriptionsView: View {
                 FavoriteButton(item: FavoriteItem(section: .subscriptions))
             }
         }
+        #if !os(tvOS)
+        .background(
+            Button("Refresh") {
+                loadResources(force: true)
+            }
+            .keyboardShortcut("r")
+        )
+        #endif
         #if os(iOS)
         .navigationBarTitleDisplayMode(RefreshControl.navigationBarTitleDisplayMode)
         #endif