Skip to content

PlayerYK/Easy-Window-Resizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Easy Window Resizer 开发说明

一款用于一键调整浏览器窗口尺寸与位置的 Chrome 扩展。近期更新聚焦于“仅在当前屏幕内定位”,在多显示器环境中不再跳到其他屏幕,并精简为最小必要权限。

功能概览

  • 预设尺寸:内置常用分辨率,一键应用,支持删除
  • 自定义尺寸:任意输入宽高,可保存为预设,支持一键获取当前尺寸
  • 最近使用:自动记录最近 5 个尺寸,便于复用
  • 位置控制:左上 / 右上 / 居中 / 左下 / 右下;调整尺寸后自动在“当前屏幕”内定位

近期更新(面向开发者)

  • 仅在当前屏幕定位:通过注入读取 screen.availLeft/Top/Width/Height,保证窗口留在当前显示器
  • 移除 ChromeOS 专属依赖:删除 chrome.system.display 使用,避免在 macOS/Windows 失效
  • 最小权限集:使用 activeTab + scripting 临时注入,避免敏感的 tabs 权限
  • 状态处理与降级:最大化/全屏先恢复到 normal;受限页面(如 chrome://)注入失败时仅调整尺寸,不强制移动

权限说明(Manifest V3)

  • windows: 调整浏览器窗口尺寸与位置
  • storage: 保存预设、最近使用、位置偏好
  • scripting: 在活动标签页注入脚本以读取当前屏幕边界
  • activeTab: 用户手势触发时,对当前活动标签页临时授权注入

已移除:system.display(ChromeOS 专属,桌面平台不可用)。

工作原理(简)

  • 尺寸调整:chrome.windows.update(windowId, { width, height })
  • 当前屏边界:在活动标签页注入脚本,读取 screen.availLeft/Top/Width/Height
  • 位置计算:基于上述边界与窗口宽高计算目标 left/top,再 chrome.windows.update(windowId, { left, top })
  • 降级处理:无法注入(特殊页面)则跳过移动,只执行尺寸调整

安装与使用

  1. Chrome 网上应用店安装
  2. 或手动加载:
    • 打开 chrome://extensions/
    • 开启“开发者模式”
    • 选择“加载已解压的扩展程序”,指向项目目录

打包

提供 Windows/Mac/Linux 脚本,按 manifest.json 版本输出 Easy_window_resizer_v[版本号].zip,并排除非必要文件。

  • Windows:运行 build.bat
  • Mac/Linux:首次执行 chmod +x build.sh,然后 ./build.sh

项目结构

├── manifest.json        # 扩展配置
├── background.js        # 后台:定位逻辑、消息处理
├── popup.html/.css/.js  # 弹窗 UI 与交互
├── i18n.js              # 国际化初始化
├── _locales/            # 语言资源(en, zh_CN)
└── images/              # 图标

兼容性与边界

  • 平台:macOS / Windows(多显示器支持,始终保持在“当前屏”内)
  • 特殊页面:chrome://、扩展商店等页面无法注入脚本,降级为仅改尺寸
  • 窗口状态:最大化/全屏会先恢复到 normal 再移动

反馈与贡献

  • 使用中的问题或建议:可通过扩展内的反馈链接提交
  • PR 指南:保持风格一致、补充必要说明、验证功能再提交

License: MIT

About

A simple browser extension that allows you to effortlessly resize browser window to any dimension.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors