{"id":13785048,"url":"https://github.com/leanflutter/screen_retriever","last_synced_at":"2025-10-23T02:41:14.852Z","repository":{"id":56838612,"uuid":"403569287","full_name":"leanflutter/screen_retriever","owner":"leanflutter","description":"This plugin allows Flutter desktop apps to Retrieve information about screen size, displays, cursor position, etc.","archived":false,"fork":false,"pushed_at":"2025-03-29T03:34:59.000Z","size":448,"stargazers_count":49,"open_issues_count":3,"forks_count":26,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-08T18:47:40.184Z","etag":null,"topics":["flutter","flutter-desktop","flutter-desktop-app"],"latest_commit_sha":null,"homepage":"https://leanflutter.dev/documentation/screen_retriever/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/leanflutter.png","metadata":{"files":{"readme":"README-ZH.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"liberapay":"lijy91"}},"created_at":"2021-09-06T09:52:46.000Z","updated_at":"2025-03-29T03:35:03.000Z","dependencies_parsed_at":"2024-06-18T23:17:08.864Z","dependency_job_id":"2e1b4ca0-10c0-4d90-a606-bdde79f2b307","html_url":"https://github.com/leanflutter/screen_retriever","commit_stats":{"total_commits":40,"total_committers":6,"mean_commits":6.666666666666667,"dds":"0.19999999999999996","last_synced_commit":"4f3831a2fefd8da3ed924ce8f6b2be6637c85f64"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanflutter%2Fscreen_retriever","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanflutter%2Fscreen_retriever/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanflutter%2Fscreen_retriever/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/leanflutter%2Fscreen_retriever/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/leanflutter","download_url":"https://codeload.github.com/leanflutter/screen_retriever/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254478190,"owners_count":22077676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","flutter-desktop","flutter-desktop-app"],"created_at":"2024-08-03T19:00:55.963Z","updated_at":"2025-10-23T02:41:14.742Z","avatar_url":"https://github.com/leanflutter.png","language":"C++","readme":"\u003e **🚀 快速发布您的应用**: 试试 [Fastforge](https://fastforge.dev) - 构建、打包和分发您的 Flutter 应用最简单的方式。\n\n# screen_retriever\n\n[![pub version][pub-image]][pub-url] [![][discord-image]][discord-url]\n\n[pub-image]: https://img.shields.io/pub/v/screen_retriever.svg\n[pub-url]: https://pub.dev/packages/screen_retriever\n[discord-image]: https://img.shields.io/discord/884679008049037342.svg\n[discord-url]: https://discord.gg/zPa6EZ2jqb\n\n这个插件允许 Flutter 桌面应用检索关于屏幕大小，显示，光标位置等信息。\n\n---\n\n[English](./README.md) | 简体中文\n\n---\n\n\u003c!-- START doctoc generated TOC please keep comment here to allow auto update --\u003e\n\u003c!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --\u003e\n\n- [平台支持](#%E5%B9%B3%E5%8F%B0%E6%94%AF%E6%8C%81)\n- [文档](#%E6%96%87%E6%A1%A3)\n- [快速开始](#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)\n  - [安装](#%E5%AE%89%E8%A3%85)\n  - [用法](#%E7%94%A8%E6%B3%95)\n  - [监听事件](#%E7%9B%91%E5%90%AC%E4%BA%8B%E4%BB%B6)\n- [谁在用使用它？](#%E8%B0%81%E5%9C%A8%E7%94%A8%E4%BD%BF%E7%94%A8%E5%AE%83)\n- [API](#api)\n  - [ScreenRetriever](#screenretriever)\n- [贡献者 ✨](#%E8%B4%A1%E7%8C%AE%E8%80%85-)\n- [许可证](#%E8%AE%B8%E5%8F%AF%E8%AF%81)\n\n\u003c!-- END doctoc generated TOC please keep comment here to allow auto update --\u003e\n\n## 平台支持\n\n| Linux | macOS | Windows |\n| :---: | :---: | :-----: |\n|  ✔️   |  ✔️   |   ✔️    |\n\n## 文档\n\n- [快速开始](https://leanflutter.dev/zh/documentation/screen_retriever/quick-start)\n- [API 参考](https://pub.dev/documentation/screen_retriever/latest/screen_retriever/)\n- [更新日志](https://pub.dev/packages/screen_retriever/changelog)\n\n## 快速开始\n\n### 安装\n\n将此添加到你的软件包的 pubspec.yaml 文件：\n\n```yaml\ndependencies:\n  screen_retriever: ^0.2.0\n```\n\n或\n\n```yaml\ndependencies:\n  screen_retriever:\n    git:\n      url: https://github.com/leanflutter/screen_retriever.git\n      path: packages/screen_retriever\n      ref: main\n```\n\n### 用法\n\n```dart\nDisplay? _primaryDisplay;\nList\u003cDisplay\u003e _displayList = [];\n\nvoid _init() async {\n  _primaryDisplay = await screenRetriever.getPrimaryDisplay();\n  _displayList = await screenRetriever.getAllDisplays();\n  setState(() {});\n}\n```\n\n### 监听事件\n\n```dart\nclass HomePage extends StatefulWidget {\n  const HomePage({Key? key}) : super(key: key);\n\n  @override\n  State\u003cHomePage\u003e createState() =\u003e _HomePageState();\n}\n\nclass _HomePageState extends State\u003cHomePage\u003e with ScreenListener {\n  @override\n  void initState() {\n    screenRetriever.addListener(this);\n    super.initState();\n  }\n\n  @override\n  void dispose() {\n    screenRetriever.removeListener(this);\n    super.dispose();\n  }\n\n  @override\n  Widget build(BuildContext context) {\n    // ...\n  }\n\n  @override\n  void onScreenEvent(String eventName) {\n    String log = 'Event received: $eventName)';\n    print(log);\n  }\n}\n```\n\n\u003e 请看这个插件的示例应用，以了解完整的例子。\n\n## 谁在用使用它？\n\n- [Biyi (比译)](https://biyidev.com/) - 一个便捷的翻译和词典应用。\n\n## API\n\n### ScreenRetriever\n\n| Method                 | Description                                   | Linux | macOS | Windows |\n| ---------------------- | --------------------------------------------- | ----- | ----- | ------- |\n| `getCursorScreenPoint` | 返回 `Offset` - 鼠标指针的当前绝对位置。      | ✔️    | ✔️    | ✔️      |\n| `getPrimaryDisplay`    | 返回 `Display` - 主显示屏。                   | ✔️    | ✔️    | ✔️      |\n| `getAllDisplays`       | 返回 `List\u003cDisplay\u003e` - 当前可用的显示器列表。 | ✔️    | ✔️    | ✔️      |\n\n## 贡献者 ✨\n\n感谢这些优秀的人 ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/lijy91\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/3889523?v=4?s=100\" width=\"100px;\" alt=\"LiJianying\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eLiJianying\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/leanflutter/screen_retriever/commits?author=lijy91\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/ChristianEdwardPadilla\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/37954976?v=4?s=100\" width=\"100px;\" alt=\"Christian Padilla\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eChristian Padilla\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/leanflutter/screen_retriever/commits?author=ChristianEdwardPadilla\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jpnurmi\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/140617?v=4?s=100\" width=\"100px;\" alt=\"J-P Nurmi\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJ-P Nurmi\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/leanflutter/screen_retriever/commits?author=jpnurmi\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Kingtous\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/39793325?v=4?s=100\" width=\"100px;\" alt=\"Kingtous\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKingtous\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/leanflutter/screen_retriever/commits?author=Kingtous\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/fufesou\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/13586388?v=4?s=100\" width=\"100px;\" alt=\"fufesou\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003efufesou\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/leanflutter/screen_retriever/commits?author=fufesou\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/lukasz-lukasz-lukasz\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/119860089?v=4?s=100\" width=\"100px;\" alt=\"lukasz-lukasz-lukasz\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003elukasz-lukasz-lukasz\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/leanflutter/screen_retriever/commits?author=lukasz-lukasz-lukasz\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n  \u003ctfoot\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" size=\"13px\" colspan=\"7\"\u003e\n        \u003cimg src=\"https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg\"\u003e\n          \u003ca href=\"https://all-contributors.js.org/docs/en/bot/usage\"\u003eAdd your contributions\u003c/a\u003e\n        \u003c/img\u003e\n      \u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tfoot\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n## 许可证\n\n[MIT](./LICENSE)\n","funding_links":["https://liberapay.com/lijy91"],"categories":["Packages"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleanflutter%2Fscreen_retriever","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleanflutter%2Fscreen_retriever","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleanflutter%2Fscreen_retriever/lists"}