From 229ee95f91fc42a65e6df84748650b1c690cdb8c Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sat, 14 Aug 2021 19:00:35 +1000 Subject: [PATCH 1/5] Don't build project by default. Added `-build` flag to `wails init` to mimic old behaviour --- cmd/wails/2_init.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cmd/wails/2_init.go b/cmd/wails/2_init.go index 06289c6cd..eac708fde 100644 --- a/cmd/wails/2_init.go +++ b/cmd/wails/2_init.go @@ -15,6 +15,7 @@ func init() { projectOptions := projectHelper.NewProjectOptions() commandDescription := `Generates a new Wails project using the given flags. Any flags that are required and not given will be prompted for.` + build := false initCommand := app.Command("init", "Initialises a new Wails project"). LongDescription(commandDescription). @@ -23,7 +24,8 @@ Any flags that are required and not given will be prompted for.` StringFlag("template", "Template name", &projectOptions.Template). StringFlag("name", "Project name", &projectOptions.Name). StringFlag("description", "Project description", &projectOptions.Description). - StringFlag("output", "Output binary name", &projectOptions.BinaryName) + StringFlag("output", "Output binary name", &projectOptions.BinaryName). + BoolFlag("build", "Build project after generating", &build) initCommand.Action(func() error { @@ -64,6 +66,10 @@ Any flags that are required and not given will be prompted for.` return err } genSpinner.Success() + if !build { + logger.Yellow("Project '%s' initialised. Run `wails build` to build it.", projectOptions.Name) + return nil + } // Build the project cwd, _ := os.Getwd() From 184ce763c16b440791dbe7a3b08ef90cf43e78d9 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Sat, 14 Aug 2021 19:02:16 +1000 Subject: [PATCH 2/5] v1.16.6 --- cmd/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/version.go b/cmd/version.go index 8fd3ec204..a8f5d3bcd 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -1,4 +1,4 @@ package cmd // Version - Wails version -const Version = "v1.16.5" +const Version = "v1.16.6" From baa96f47d832d3d0b6564b1eeebd7b5e7b2ad384 Mon Sep 17 00:00:00 2001 From: Diogo Xavier Date: Mon, 30 Aug 2021 19:15:10 +0100 Subject: [PATCH 3/5] Add NixOS support --- cmd/linux.go | 16 +++++++++++ cmd/linuxdb.yaml | 72 +++++++++++++++++++++++++++++++----------------- cmd/system.go | 2 ++ 3 files changed, 64 insertions(+), 26 deletions(-) diff --git a/cmd/linux.go b/cmd/linux.go index 81dcd6fc0..8ef7836ac 100644 --- a/cmd/linux.go +++ b/cmd/linux.go @@ -71,6 +71,8 @@ const ( Crux // RHEL distribution RHEL + // NixOS distribution + NixOS ) // DistroInfo contains all the information relating to a linux distribution @@ -183,6 +185,8 @@ func parseOsRelease(osRelease string) *DistroInfo { result.Distribution = EndeavourOS case "crux": result.Distribution = Crux + case "nixos": + result.Distribution = NixOS default: result.Distribution = Unknown } @@ -274,6 +278,18 @@ func PrtGetInstalled(packageName string) (bool, error) { return exitCode == 0, nil } +// NixEnvInstalled uses nix-env to see if a package is installed +func NixEnvInstalled(packageName string) (bool, error) { + program := NewProgramHelper() + nixEnv := program.FindProgram("nix-env") + if nixEnv == nil { + return false, fmt.Errorf("cannot check dependencies: nix-env not found") + } + packageName = strings.ReplaceAll(packageName, "+", `\+`) + _, _, exitCode, _ := nixEnv.Run("-q", packageName) + return exitCode == 0, nil +} + // RequestSupportForDistribution promts the user to submit a request to support their // currently unsupported distribution func RequestSupportForDistribution(distroInfo *DistroInfo) error { diff --git a/cmd/linuxdb.yaml b/cmd/linuxdb.yaml index 04db56c5e..52f6a57cd 100644 --- a/cmd/linuxdb.yaml +++ b/cmd/linuxdb.yaml @@ -318,30 +318,50 @@ distributions: - name: webkit2gtk3-devel help: Please install with `sudo zypper in webkit2gtk3-devel` and try again opensuse-leap: - id: opensuse-leap - releases: - default: - version: default - name: openSUSE Leap - gccversioncommand: *gccdumpfullversion - programs: *opensusedefaultprograms - libraries: *opensusedefaultlibraries + id: opensuse-leap + releases: + default: + version: default + name: openSUSE Leap + gccversioncommand: *gccdumpfullversion + programs: *opensusedefaultprograms + libraries: *opensusedefaultlibraries crux: - id: crux - releases: - default: - version: default - name: Crux Linux - gccversioncommand: *gccdumpversion - programs: - - name: gcc - help: Please install with `sudo prt-get depinst gcc-c++ make` and try again - - name: pkg-config - help: Please install with `sudo prt-get depinst pkg-config` and try again - - name: npm - help: Please install with `sudo prt-get depinst nodejs` and try again - libraries: - - name: gtk3 - help: Please install with `sudo prt-get depinst gtk3` and try again - - name: webkitgtk - help: Please install with `sudo prt-get depinst webkitgtk` and try again + id: crux + releases: + default: + version: default + name: Crux Linux + gccversioncommand: *gccdumpversion + programs: + - name: gcc + help: Please install with `sudo prt-get depinst gcc-c++ make` and try again + - name: pkg-config + help: Please install with `sudo prt-get depinst pkg-config` and try again + - name: npm + help: Please install with `sudo prt-get depinst nodejs` and try again + libraries: + - name: gtk3 + help: Please install with `sudo prt-get depinst gtk3` and try again + - name: webkitgtk + help: Please install with `sudo prt-get depinst webkitgtk` and try again + nixos: + id: nixos + releases: + default: + version: default + name: NixOS + gccversioncommand: *gccdumpversion + programs: + - name: gcc + help: Please install with `nix-env -iA nixos.gcc` + - name: pkg-config + help: Please install with `nix-env -iA nixos.pkg-config` + - name: npm + help: Please install with `nix-env -iA nixos.nodejs` + libraries: + - name: gtk+3 + help: Please install with `nix-env -iA nixos.gtk3` + - name: webkitgtk + help: Please install with `nix-env -iA nixos.nodePackages.webkitgtk` + diff --git a/cmd/system.go b/cmd/system.go index 76ab0b23c..5c2aa6f3c 100644 --- a/cmd/system.go +++ b/cmd/system.go @@ -293,6 +293,8 @@ func CheckDependencies(logger *Logger) (bool, error) { libraryChecker = EOpkgInstalled case Crux: libraryChecker = PrtGetInstalled + case NixOS: + libraryChecker = NixEnvInstalled default: return false, RequestSupportForDistribution(distroInfo) } From b8ef90cb41c088f972f34fac5f011902ba71beec Mon Sep 17 00:00:00 2001 From: Florian Didron Date: Wed, 1 Sep 2021 16:27:45 +0900 Subject: [PATCH 4/5] fix: prevent hidden files to show on gtk host when opening a file dialog --- lib/renderer/webview/webview.h | 39 +++++++++++++++++----------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/lib/renderer/webview/webview.h b/lib/renderer/webview/webview.h index 53b6c9ced..2fb3b62d3 100644 --- a/lib/renderer/webview/webview.h +++ b/lib/renderer/webview/webview.h @@ -54,7 +54,7 @@ extern "C" int ready; int js_busy; int should_exit; - + int min_width; int min_height; int max_width; @@ -179,7 +179,7 @@ struct webview_priv WEBVIEW_API int webview_inject_css(struct webview *w, const char *css); WEBVIEW_API void webview_set_title(struct webview *w, const char *title); WEBVIEW_API void webview_focus(struct webview *w); - WEBVIEW_API void webview_minsize(struct webview *w, int width, int height); + WEBVIEW_API void webview_minsize(struct webview *w, int width, int height); WEBVIEW_API void webview_maxsize(struct webview *w, int width, int height); WEBVIEW_API void webview_set_fullscreen(struct webview *w, int fullscreen); WEBVIEW_API void webview_set_color(struct webview *w, uint8_t r, uint8_t g, @@ -342,12 +342,12 @@ struct webview_priv w->priv.should_exit = 0; w->priv.queue = g_async_queue_new(); w->priv.window = gtk_window_new(GTK_WINDOW_TOPLEVEL); - + w->priv.min_width = -1; w->priv.min_height = -1; w->priv.max_width = -1; w->priv.max_height = -1; - + gtk_window_set_title(GTK_WINDOW(w->priv.window), w->title); if (w->resizable) @@ -421,13 +421,13 @@ struct webview_priv } WEBVIEW_API void webview_minsize(struct webview *w, int width, int height) { - + w->priv.min_width = width; w->priv.min_height = height; GdkGeometry hints; GdkWindowHints usedHints = (GdkWindowHints) GDK_HINT_MIN_SIZE; - + hints.min_width = w->priv.min_width; hints.min_height = w->priv.min_height; if (w->priv.max_width != -1) { @@ -435,18 +435,18 @@ struct webview_priv hints.max_height = w->priv.max_height; usedHints = (GdkWindowHints)(GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE); } - + gtk_window_set_geometry_hints(GTK_WINDOW(w->priv.window), w->priv.window, &hints, usedHints); } WEBVIEW_API void webview_maxsize(struct webview *w, int width, int height) { - + w->priv.max_width = width; w->priv.max_height = height; - + GdkGeometry hints; GdkWindowHints usedHints = (GdkWindowHints) GDK_HINT_MAX_SIZE; - + if (w->priv.min_width != -1) { hints.min_width = w->priv.min_width; hints.min_height = w->priv.min_height; @@ -454,7 +454,7 @@ struct webview_priv } hints.max_width = w->priv.max_width; hints.max_height = w->priv.max_height; - + gtk_window_set_geometry_hints(GTK_WINDOW(w->priv.window), w->priv.window, &hints, usedHints); } @@ -514,7 +514,6 @@ struct webview_priv } gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(dlg), FALSE); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dlg), FALSE); - gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dlg), TRUE); gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dlg), TRUE); gtk_file_chooser_set_create_folders(GTK_FILE_CHOOSER(dlg), TRUE); gint response = gtk_dialog_run(GTK_DIALOG(dlg)); @@ -1398,12 +1397,12 @@ struct webview_priv case WM_GETMINMAXINFO: { if (w != NULL) { - // get pixel density + // get pixel density HDC hDC = GetDC(NULL); double DPIScaleX = GetDeviceCaps(hDC, 88)/96.0; double DPIScaleY = GetDeviceCaps(hDC, 90)/96.0; ReleaseDC(NULL, hDC); - + RECT rcClient, rcWind; POINT ptDiff; GetClientRect(hwnd, &rcClient); @@ -1413,7 +1412,7 @@ struct webview_priv int heightExtra = (rcWind.bottom - rcWind.top) - rcClient.bottom; LPMINMAXINFO lpMMI = (LPMINMAXINFO)lParam; - + if (w->priv.min_width != -1) { lpMMI->ptMinTrackSize.x = w->priv.min_width * DPIScaleX + widthExtra; lpMMI->ptMinTrackSize.y = w->priv.min_height * DPIScaleY + heightExtra; @@ -1423,7 +1422,7 @@ struct webview_priv lpMMI->ptMaxTrackSize.y = w->priv.max_height * DPIScaleY + heightExtra; } } - + return 0; } case WM_DESTROY: @@ -2328,14 +2327,14 @@ struct webview_priv { [w->priv.window makeKeyWindow]; } - + WEBVIEW_API void webview_minsize(struct webview *w, int width, int height) { NSSize size; size.width = width; size.height = height; [w->priv.window setMinSize:size]; } - + WEBVIEW_API void webview_maxsize(struct webview *w, int width, int height) { NSSize size; size.width = width; @@ -2346,7 +2345,7 @@ struct webview_priv [button performSelectorOnMainThread:@selector(setEnabled:) withObject:NO waitUntilDone:NO]; } - + WEBVIEW_API void webview_set_fullscreen(struct webview *w, int fullscreen) { int b = ((([w->priv.window styleMask] & NSWindowStyleMaskFullScreen) == @@ -2503,4 +2502,4 @@ struct webview_priv } #endif -#endif /* WEBVIEW_H */ \ No newline at end of file +#endif /* WEBVIEW_H */ From 3caa0f143864441c2c813150ab342bce8f942756 Mon Sep 17 00:00:00 2001 From: Lea Anthony Date: Fri, 3 Sep 2021 19:15:37 +1000 Subject: [PATCH 5/5] v1.16.7 --- cmd/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/version.go b/cmd/version.go index a8f5d3bcd..892ffa5a0 100644 --- a/cmd/version.go +++ b/cmd/version.go @@ -1,4 +1,4 @@ package cmd // Version - Wails version -const Version = "v1.16.6" +const Version = "v1.16.7"