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 0000000..2d5c95b Binary files /dev/null and b/flumi/Assets/gurted.ico differ 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