31.31 Flutter Linux App

20220202

To build and run the app on the linux device (-d or --device-id):

flutter run -d linux

If you see a Exception: No Linux desktop project configured. then the following should assist:

flutter create --platforms=linux .

You may also need the Linux development tools if you see a CMake Error at …/snap/flutter/141/usr/share/cmake-3.16/Modules/FindPkgConfig.cmake:463 (message): A required package was not found:

wajig install


See
https://flutter.dev/desktop#add-desktop-support-to-an-existing-flutter-app
for details.

<!---------------------------------------------------------------------->
## Flutter Linux Desktop Size
<!---------------------------------------------------------------------->

<p><font size=1><i>20210321</i></font></p> 

See Section \@ref(flutter-desktop-window-manager) to set the window
size of a desktop application through the
[window_manager](https://pub.dev/packages/window_manager) package.

Alternatively we observe that the flutter Linux native desktop application
utilises GTK with a template application located in
`linux/my_application.cc`. There we find the default desktop window
size which is set to be 1280 by 720 around line 51.

```console
51         gtk_window_set_default_size(window, 1280, 720);

To reduce the default window width and height on startup to have dimensions more like a mobile app, we can change the settings here:

perl -pi.bak -e 's|1280, 720|450, 700|' linux/my_application.cc

The appropriate line in the file will be updated:

51         gtk_window_set_default_size(window, 450, 700);


Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0