Jellium Desktop窗口尺寸记忆插件:扩展尺寸记忆功能

Jellium Desktop窗口尺寸记忆插件:扩展尺寸记忆功能

Jellium Desktop窗口尺寸记忆插件:扩展尺寸记忆功能

【免费下载链接】jellium-desktopAn unofficial desktop client for Jellyfin项目地址: https://gitcode.com/GitHub_Trending/je/jellium-desktop

Jellium Desktop是一款非官方的Jellyfin桌面客户端,它提供了丰富的媒体播放体验。其中窗口尺寸记忆功能是提升用户体验的重要特性,能够自动保存和恢复用户偏好的窗口大小和位置,让每次使用都更加便捷。

窗口尺寸记忆功能的核心实现

Jellium Desktop的窗口尺寸记忆功能主要通过WindowGeometryController实现,该控制器负责窗口几何形状的启动恢复、实时状态管理和退出持久化。核心代码位于src/jfn_rust/src/window_geometry.rs。

主要功能模块

  1. 启动恢复:在应用启动时,从配置中读取保存的窗口几何信息,并根据当前显示比例进行调整。
  2. 实时状态管理:监控窗口大小和位置的变化,记录当前状态。
  3. 退出持久化:在应用关闭时,将当前窗口状态保存到配置中,以便下次启动时恢复。

如何使用窗口尺寸记忆功能

使用Jellium Desktop的窗口尺寸记忆功能非常简单,无需额外配置,系统会自动处理:

  1. 调整窗口到您喜欢的大小和位置
  2. 关闭应用时,系统会自动保存当前窗口状态
  3. 下次启动应用时,窗口会恢复到上次关闭时的大小和位置

特殊场景处理

  • 最大化状态:如果窗口处于最大化状态关闭,再次启动时会保持最大化状态
  • 全屏状态:全屏状态下关闭应用,再次启动时会恢复到全屏前的窗口状态
  • 多显示器环境:在多显示器环境中,窗口会恢复到上次使用的显示器位置

扩展尺寸记忆功能的实现原理

Jellium Desktop的尺寸记忆功能通过以下几个关键步骤实现:

  1. 数据存储:窗口几何信息存储在配置中,包括宽度、高度、位置和最大化状态等
  2. 显示比例适配:根据当前显示器的缩放比例自动调整窗口大小,确保在不同显示设置下都有合适的窗口尺寸
  3. 状态判断:通过geometry_to_persist函数判断当前窗口状态,决定是否需要保存新的窗口几何信息

核心代码片段展示了如何将窗口状态保存到配置中:

pub fn persist(&self) { let was_max_before_fs = jfn_playback::browser_sink::jfn_playback_was_maximized_before_fullscreen(); if let Some(g) = geometry_to_persist( self.source(), jfn_config::window_geometry(), was_max_before_fs, ) { jfn_config::set_window_geometry(g); } }

自定义窗口尺寸记忆功能

虽然Jellium Desktop默认提供了窗口尺寸记忆功能,但高级用户可以通过修改配置文件来自定义这一功能。配置文件中与窗口几何相关的设置位于JfnWindowGeometry结构体中,包含以下字段:

  • width:物理宽度
  • height:物理高度
  • scale:显示比例
  • logical_width:逻辑宽度
  • logical_height:逻辑高度
  • maximized:是否最大化
  • x:窗口x坐标
  • y:窗口y坐标

通过修改这些值,用户可以精确控制窗口的默认大小和位置。

总结

Jellium Desktop的窗口尺寸记忆功能为用户提供了更加便捷的使用体验,无需每次调整窗口大小和位置。这一功能通过src/jfn_rust/src/window_geometry.rs中的WindowGeometryController实现,能够智能处理各种窗口状态,包括最大化、全屏等特殊情况。

无论是普通用户还是高级用户,都能从这一功能中受益。普通用户可以享受自动记忆的便利,而高级用户则可以通过修改配置文件实现更个性化的窗口管理。

Jellium Desktop标志,一款非官方的Jellyfin桌面客户端

要开始使用Jellium Desktop及其窗口尺寸记忆功能,只需克隆仓库并按照官方指南进行安装:

git clone https://gitcode.com/GitHub_Trending/je/jellium-desktop

安装完成后,您就可以体验到这一便捷的窗口尺寸记忆功能,提升您的媒体播放体验。

【免费下载链接】jellium-desktopAn unofficial desktop client for Jellyfin项目地址: https://gitcode.com/GitHub_Trending/je/jellium-desktop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考