Skip to content

feat(very_good_core): add linux platform support#347

Open
Crdzbird wants to merge 5 commits intoVeryGoodOpenSource:mainfrom
Crdzbird:feat/linux_platform
Open

feat(very_good_core): add linux platform support#347
Crdzbird wants to merge 5 commits intoVeryGoodOpenSource:mainfrom
Crdzbird:feat/linux_platform

Conversation

@Crdzbird
Copy link
Contributor

@Crdzbird Crdzbird commented Aug 25, 2025

This PR Adds to the VG core the necessary files and configuration to support building and running the application on Linux.

Introduces a Linux application ID model, CMake build scripts, Flutter plugin registration, and application runner setup.

Description

  • Adds the necessary files and configuration to support building and running the application on Linux.
  • Introduces a Linux application ID model, CMake build scripts, Flutter plugin registration, and application runner setup.

Type of Change

  • ✨ New feature (non-breaking change which adds functionality)
  • 🛠️ Bug fix (non-breaking change which fixes an issue)
  • ❌ Breaking change (fix or feature that would cause existing functionality to change)
  • 🧹 Code refactor
  • ✅ Build configuration change
  • 📝 Documentation
  • 🗑️ Chore
  • 🧪 Test

Adds the necessary files and configuration to support building
and running the application on Linux.

Introduces a Linux application ID model, CMake build scripts,
Flutter plugin registration, and application runner setup.
@Crdzbird Crdzbird requested a review from a team as a code owner August 25, 2025 06:14
@Crdzbird Crdzbird changed the title feat: Linux platform support feat: Linux platform support for the VG Core Aug 25, 2025
@Crdzbird Crdzbird changed the title feat: Linux platform support for the VG Core feat (very_good_core): Add Linux platform support Aug 25, 2025
Copy link
Member

@marcossevilla marcossevilla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we also remove the files related to very_good_flame_game? thanks! :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we make this more generic like app.cc/app.h? or use the {{project_name}} var?

Copy link
Contributor Author

@Crdzbird Crdzbird Aug 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

related to the change on name, I'll vote to leave it as it is, since flutter by default generates it when running flutter create demo_app, which in this case on linux it'll always be my_application.c and the bridge my_application.h.

@Crdzbird Crdzbird requested a review from marcossevilla August 25, 2025 08:57
@marcossevilla marcossevilla changed the title feat (very_good_core): Add Linux platform support feat(very_good_core): add linux platform support Aug 25, 2025
Updates the application class name from MyApplication to Application
for consistency and clarity.

Refactors related files and code to reflect the new naming convention.
Copy link
Member

@erickzanardo erickzanardo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this supports flavors? The reason that Linux wasn't in the very good core template was because that platform didn't supported flavors and adding it would make it inconsistent with the other platforms

Comment on lines +17 to +25
https://github.com/waqas028/Document_Scanner_CMP

https://github.com/Coding-Meet/TextToSpeech-CMP

https://github.com/Debanshu777/XCalendar

https://github.com/thejohnsondev/PassGuard-Multiplatform

https://github.com/pksunny/flutter-ui-and-animations No newline at end of file
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why was this added?

static void my_application_activate(GApplication* application) {
MyApplication* self = MY_APPLICATION(application);
static void application_activate(GApplication* application) {
Application* self = MY_APPLICATION(application);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Application* self = MY_APPLICATION(application);
Application* self = APPLICATION(application);

static gboolean my_application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) {
MyApplication* self = MY_APPLICATION(application);
static gboolean application_local_command_line(GApplication* application, gchar*** arguments, int* exit_status) {
Application* self = MY_APPLICATION(application);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Application* self = MY_APPLICATION(application);
Application* self = APPLICATION(application);

static void my_application_startup(GApplication* application) {
//MyApplication* self = MY_APPLICATION(object);
static void application_startup(GApplication* application) {
//Application* self = MY_APPLICATION(object);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we remove these comments?

static void my_application_dispose(GObject* object) {
MyApplication* self = MY_APPLICATION(object);
static void application_dispose(GObject* object) {
Application* self = MY_APPLICATION(object);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Application* self = MY_APPLICATION(object);
Application* self = APPLICATION(application);

g_set_prgname(APPLICATION_ID);

return MY_APPLICATION(g_object_new(my_application_get_type(),
return MY_APPLICATION(g_object_new(application_get_type(),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
return MY_APPLICATION(g_object_new(application_get_type(),
return APPLICATION(g_object_new(application_get_type(),

MyApplication* my_application_new();
Application* application_new();

#endif // FLUTTER_MY_APPLICATION_H_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#endif // FLUTTER_MY_APPLICATION_H_
#endif // FLUTTER_APPLICATION_H_

#include <gtk/gtk.h>

G_DECLARE_FINAL_TYPE(MyApplication, my_application, MY, APPLICATION,
G_DECLARE_FINAL_TYPE(Application, application, MY, APPLICATION,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
G_DECLARE_FINAL_TYPE(Application, application, MY, APPLICATION,
G_DECLARE_FINAL_TYPE(Application, application, APPLICATION,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants