From 5e6e6f3035eacea1da7efe2082693844217bc18d Mon Sep 17 00:00:00 2001 From: Face <69168154+face-hh@users.noreply.github.com> Date: Mon, 8 Sep 2025 18:01:21 +0300 Subject: [PATCH] installer --- .gitignore | 7 ++- flumi/Assets/gurted.ico | Bin 0 -> 43856 bytes flumi/Scripts/main.gd | 7 +++ flumi/build-scripts/README.md | 8 ++++ flumi/build-scripts/flumi-installer.iss | 59 ++++++++++++++++++++++++ 5 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 flumi/Assets/gurted.ico create mode 100644 flumi/build-scripts/README.md create mode 100644 flumi/build-scripts/flumi-installer.iss diff --git a/.gitignore b/.gitignore index 31ead34..52089c2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,9 @@ gurty.toml certs search_indexes config.toml -.vscode \ No newline at end of file + +build +upx* +flumi/build-scripts/Windows +flumi/build-scripts/Linux +flumi/build-scripts/MacOS diff --git a/flumi/Assets/gurted.ico b/flumi/Assets/gurted.ico new file mode 100644 index 0000000000000000000000000000000000000000..2d5c95bd516d7d8ce70cc266224a2b7c33f3b1bd GIT binary patch literal 43856 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 literal 0 HcmV?d00001 diff --git a/flumi/Scripts/main.gd b/flumi/Scripts/main.gd index 0ba7435..7fbc65f 100644 --- a/flumi/Scripts/main.gd +++ b/flumi/Scripts/main.gd @@ -916,6 +916,13 @@ func get_startup_behavior() -> Dictionary: return SettingsManager.get_startup_behavior() func _handle_startup_behavior(): + var args = OS.get_cmdline_args() + for arg in args: + if arg.begins_with("gurt://"): + print("Opening URL from command line: ", arg) + _on_search_submitted(arg, true) + return + var startup_behavior = get_startup_behavior() if startup_behavior.specific_page and not startup_behavior.url.is_empty(): diff --git a/flumi/build-scripts/README.md b/flumi/build-scripts/README.md new file mode 100644 index 0000000..b0e83f2 --- /dev/null +++ b/flumi/build-scripts/README.md @@ -0,0 +1,8 @@ +# Compress +Compress with: `./upx-4.2.4-win64/upx.exe --best --ultra-brute build-scripts/Windows/*. +exe build-scripts/Windows/*.dll` + +Download UPX from https://upx.github.io/ + +# Build +Build the installer with the .ISS file thru **Inno Setup** diff --git a/flumi/build-scripts/flumi-installer.iss b/flumi/build-scripts/flumi-installer.iss new file mode 100644 index 0000000..743031a --- /dev/null +++ b/flumi/build-scripts/flumi-installer.iss @@ -0,0 +1,59 @@ +[Setup] +AppName=Flumi +AppVersion=1.0.0 +AppPublisher=Outpoot +AppPublisherURL=https://github.com/gurted/flumi +AppSupportURL=https://github.com/gurted/flumi/issues +AppUpdatesURL=https://github.com/gurted/flumi/releases +DefaultDirName={autopf}\Flumi +DefaultGroupName=Flumi +AllowNoIcons=yes +LicenseFile= +InfoBeforeFile= +InfoAfterFile= +OutputDir=Windows\installer +OutputBaseFilename=Flumi-Setup-{#SetupSetting("AppVersion")} +SetupIconFile=..\Assets\gurted.svg +Compression=lzma2 +SolidCompression=yes +WizardStyle=modern +PrivilegesRequired=lowest +ArchitecturesAllowed=x64compatible +ArchitecturesInstallIn64BitMode=x64compatible + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked +Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 6.1; Check: not IsAdminInstallMode + +[Files] +Source: "Windows\Flumi.exe"; DestDir: "{app}"; Flags: ignoreversion +Source: "Windows\Flumi.pck"; DestDir: "{app}"; Flags: ignoreversion +Source: "Windows\*.dll"; DestDir: "{app}"; Flags: ignoreversion +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{group}\Flumi"; Filename: "{app}\Flumi.exe" +Name: "{group}\{cm:UninstallProgram,Flumi}"; Filename: "{uninstallexe}" +Name: "{autodesktop}\Flumi"; Filename: "{app}\Flumi.exe"; Tasks: desktopicon +Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Flumi"; Filename: "{app}\Flumi.exe"; Tasks: quicklaunchicon + +[Registry] +Root: HKCU; Subkey: "Software\Classes\gurt"; ValueType: string; ValueName: ""; ValueData: "GURT Protocol"; Flags: uninsdeletekey +Root: HKCU; Subkey: "Software\Classes\gurt"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletekey +Root: HKCU; Subkey: "Software\Classes\gurt\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\Flumi.exe,0"; Flags: uninsdeletekey +Root: HKCU; Subkey: "Software\Classes\gurt\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\Flumi.exe"" ""%1"""; Flags: uninsdeletekey + +[Run] +Filename: "{app}\Flumi.exe"; Description: "{cm:LaunchProgram,Flumi}"; Flags: nowait postinstall skipifsilent + +[UninstallDelete] +Type: filesandordirs; Name: "{userappdata}\Flumi" + +[Code] +procedure InitializeWizard; +begin + WizardForm.LicenseAcceptedRadio.Checked := True; +end; \ No newline at end of file