⚠️ Migration Notice: This plugin is being migrated to libnativeapi/nativeapi-flutterThe new version is based on a unified C++ core library (libnativeapi/nativeapi), providing more complete and consistent cross-platform native API support. r
This plugin allows Flutter desktop apps to Retrieve information about screen size, displays, cursor position, etc.
English | 简体中文
| Linux | macOS | Windows |
|---|---|---|
| ✔️ | ✔️ | ✔️ |
Add this to your package's pubspec.yaml file:
dependencies:
screen_retriever: ^0.2.0Or
dependencies:
screen_retriever:
git:
url: https://github.com/leanflutter/screen_retriever.gitpath: packages/screen_retrieverref: mainDisplay? _primaryDisplay;
List<Display> _displayList = [];
void_init() async {
_primaryDisplay =await screenRetriever.getPrimaryDisplay();
_displayList =await screenRetriever.getAllDisplays();
setState(() {});
}classHomePageextendsStatefulWidget {
constHomePage({Key? key}) :super(key: key);
@overrideState<HomePage> createState() =>_HomePageState();
}
class_HomePageStateextendsState<HomePage> withScreenListener {
@overridevoidinitState() {
screenRetriever.addListener(this);
super.initState();
}
@overridevoiddispose() {
screenRetriever.removeListener(this);
super.dispose();
}
@overrideWidgetbuild(BuildContext context) {
// ...
}
@overridevoidonScreenEvent(String eventName) {
String log ='Event received: $eventName)';
print(log);
}
}Please see the example app of this plugin for a full example.
- Biyi (比译) - A convenient translation and dictionary app.
- FastForge - An efficient tool for rapid application development and prototyping.
| Method | Description | Linux | macOS | Windows |
|---|---|---|---|---|
getCursorScreenPoint | Returns Offset - The current absolute position of the mouse pointer. | ✔️ | ✔️ | ✔️ |
getPrimaryDisplay | Returns Display - The primary display. | ✔️ | ✔️ | ✔️ |
getAllDisplays | Returns List<Display> - An array of displays that are currently available. | ✔️ | ✔️ | ✔️ |
Thanks goes to these wonderful people (emoji key):
LiJianying 💻 | Christian Padilla 💻 | J-P Nurmi 💻 | Kingtous 💻 | fufesou 💻 | lukasz-lukasz-lukasz 💻 | |
This project follows the all-contributors specification. Contributions of any kind welcome!