Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(tauri): implement fullscreen toggle functionality #2503

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

seanmcbroom
Copy link
Contributor

Added fullscreen toggle feature using Tauri's window API. Permissions for fullscreen have also been updated in the tauri.conf.json file.

@jellyfin-bot jellyfin-bot added vue Pull requests that edit or add Vue files packaging Pull requests that edit Dockerfiles labels Nov 21, 2024
@jellyfin-bot
Copy link

jellyfin-bot commented Nov 21, 2024

Cloudflare Pages deployment

Latest commit 61f1a3a
Status ✅ Deployed!
Preview URL https://9cd3bda7.jf-vue.pages.dev
Preview alias https://tauri-fullscreen.jf-vue.pages.dev
Type 🔀 Preview

View build logs

Copy link

sonarcloud bot commented Nov 21, 2024

@ferferga ferferga added the blocked Something depends on another issue or Pull Request label Nov 23, 2024
@ferferga
Copy link
Member

ferferga commented Nov 23, 2024

I'm labeling this as blocked because of: #2002

Now that I'm dividing the project more and more in a monorepo (see packages folder), my idea was at some point to have a tauri-runtime package that contains all tauri-related specific logic, so we don't "pollute" the main codebase with code that doesn't belong to the standard DOM environment (improving maintenance and reducing bundle size along the way).

For this concrete example, I think it would be far easier than the skip intro plugin.
I think it would be a matter of creating that tauri-runtime package in packages folder and then make the main.ts and index.html of @jellyfin-vue/frontend exportable in their package.json, so you can import them in the entrypoint of the tauri-runtime package. Then, in that entrypoint, set an event handler that listens for window's fullscreen events and has Tauri's fullscreen method as its callback.

This is the overall high-level idea of how I think it would work, do you wanna try to tackle it?

@seanmcbroom
Copy link
Contributor Author

I understand. It sounds like a significant amount of work for the small change I’m proposing. Perhaps it makes sense to open a new PR to lay the groundwork for adding functionality like this in the future..

On another note, I noticed there hasn’t been an official Tauri build released in over a year. Do you think this is something that will see more support in the future? Personally, I find it loads much faster than the web version since most assets are requested locally. Plus, as this is an alternative client, I imagine most users would prefer running it locally rather than hosting it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked Something depends on another issue or Pull Request packaging Pull requests that edit Dockerfiles vue Pull requests that edit or add Vue files
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

3 participants