Skip to content

Navigate to screensaver item via button press #5699

Description

@grunwalski

This request respects the following points:

  • This request is not already on GitHub (I've searched it).
  • I agree to follow Jellyfin's Code of Conduct.

Problem description

If you want to watch - or just know more about - something shown in the in-app screensaver - there currently does not seem to be a direct way to open that item.

Proposed solution

Pressing right* would close the screensaver and open the detail page of the movie or show currently being displayed. Pressing the back button would bring you back to where you came from. (*or any other key thats on most remotes)

A possible implementation could be:

  • add a new user preference for this behavior
  • add a checkbox in the existing screensaver settings
  • expose the currently displayed LibraryShowcase item from the screensaver ViewModel, for example as currentLibraryShowcaseItemId
  • let InAppScreensaver use that ViewModel property when handling the Right key and navigate to the existing item detail page

Maybe something like this could work:

val openItemOnRight = userPreferences[UserPreferences.screensaverOpenItemOnRight]
val itemId = (content as? DreamContent.LibraryShowcase)?.item?.id

if (
	openItemOnRight &&
	itemId != null &&
	event.key == Key.DirectionRight
) {
	...
}

Alternatives considered

Thought of having two actions. One for current item and one for last item, since sometimes the remote has to be grabbed first. But I like the idea, thats this has the chance for a very simple implementation. Especially if it would be just default behaviour without a user prefrence. but then again, it would irritate users that just want to end the screensaver.

Additional information

No response

Other sources

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions