mirror of
https://github.com/greenshot/greenshot
synced 2025-08-20 21:43:24 -07:00
Merge branch 'greenshot:release/1.3' into release/1.3
This commit is contained in:
commit
d2a5e04e22
4 changed files with 73 additions and 39 deletions
49
.github/workflows/release.yml
vendored
49
.github/workflows/release.yml
vendored
|
@ -1,9 +1,20 @@
|
||||||
|
env:
|
||||||
|
IS_RELEASE_BRANCH: ${{ startsWith(github.ref, 'refs/heads/release/') }}
|
||||||
|
BRANCH_NAME: ${{ github.ref_name }}
|
||||||
|
|
||||||
name: Build and Deploy
|
name: Build and Deploy
|
||||||
|
|
||||||
on:
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- 'release/1.*'
|
- 'release/1.*'
|
||||||
|
paths-ignore:
|
||||||
|
- '.github/**'
|
||||||
|
- '.gitignore'
|
||||||
|
- '*.md'
|
||||||
|
- 'LICENSE'
|
||||||
|
- 'build-and-deploy.ps1'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
@ -84,7 +95,8 @@ jobs:
|
||||||
path: drop # Local folder where artifacts are downloaded
|
path: drop # Local folder where artifacts are downloaded
|
||||||
|
|
||||||
- name: Extract version from file name
|
- name: Extract version from file name
|
||||||
id: extract_version
|
if: env.IS_RELEASE_BRANCH == 'true'
|
||||||
|
id: version_from_filename
|
||||||
run: |
|
run: |
|
||||||
$file = Get-ChildItem drop -Filter "Greenshot-INSTALLER-*.exe" | Select-Object -First 1
|
$file = Get-ChildItem drop -Filter "Greenshot-INSTALLER-*.exe" | Select-Object -First 1
|
||||||
if (-not $file) {
|
if (-not $file) {
|
||||||
|
@ -97,21 +109,46 @@ jobs:
|
||||||
}
|
}
|
||||||
shell: pwsh
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Set version from sanitized branch name
|
||||||
|
if: env.IS_RELEASE_BRANCH != 'true'
|
||||||
|
id: version_from_branchname
|
||||||
|
run: |
|
||||||
|
$branch = "${{ github.ref }}" -replace '^refs/heads/', ''
|
||||||
|
$sanitized = $branch -replace '[^a-zA-Z0-9._-]', '_'
|
||||||
|
echo "version=$sanitized" >> $Env:GITHUB_OUTPUT
|
||||||
|
shell: pwsh
|
||||||
|
|
||||||
|
- name: Set version info
|
||||||
|
id: version_info
|
||||||
|
run: |
|
||||||
|
echo "version=${{ steps.version_from_filename.outputs.version || steps.version_from_branchname.outputs.version }}" >> $GITHUB_OUTPUT
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
|
||||||
- name: Create tag
|
- name: Create tag
|
||||||
|
if: env.IS_RELEASE_BRANCH == 'true'
|
||||||
run: |
|
run: |
|
||||||
git config user.name "github-actions[bot]"
|
git config user.name "github-actions[bot]"
|
||||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
git tag -a "v${{ steps.extract_version.outputs.version }}" -m "v${{ steps.extract_version.outputs.version }}"
|
git tag -a "v${{ steps.version_info.outputs.version }}" -m "v${{ steps.version_info.outputs.version }}"
|
||||||
git push origin "v${{ steps.extract_version.outputs.version }}"
|
git push origin "v${{ steps.version_info.outputs.version }}"
|
||||||
|
|
||||||
|
- name: Rename installer for non-release branch
|
||||||
|
if: env.IS_RELEASE_BRANCH != 'true'
|
||||||
|
run: |
|
||||||
|
branch="${BRANCH_NAME:-${GITHUB_REF#refs/heads/}}"
|
||||||
|
sanitized=$(echo "$branch" | sed 's/[^a-zA-Z0-9._-]/_/g')
|
||||||
|
mv drop/Greenshot-INSTALLER-*.exe "drop/Greenshot-INSTALLER-${sanitized}.exe"
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- name: Create GitHub Release
|
- name: Create GitHub Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
name: "Greenshot ${{ steps.extract_version.outputs.version }} (continuous build)"
|
name: "Greenshot ${{ steps.version_info.outputs.version }} (continuous build)"
|
||||||
tag_name: "v${{ steps.extract_version.outputs.version }}"
|
tag_name: ${{ env.IS_RELEASE_BRANCH == 'true' && format('v{0}', steps.version_info.outputs.version) || env.BRANCH_NAME }}
|
||||||
files: drop/*.exe
|
files: drop/*.exe
|
||||||
generate_release_notes: true
|
generate_release_notes: true
|
||||||
draft: false
|
draft: ${{ env.IS_RELEASE_BRANCH != 'true' }}
|
||||||
prerelease: true
|
prerelease: true
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
2
.github/workflows/update-gh-pages.yml
vendored
2
.github/workflows/update-gh-pages.yml
vendored
|
@ -3,7 +3,7 @@ name: Update GitHub Pages
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
release:
|
release:
|
||||||
types: [published]
|
types: [published, unpublished, created, edited, deleted, prereleased, released]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-gh-pages:
|
update-gh-pages:
|
||||||
|
|
17
README.md
17
README.md
|
@ -21,10 +21,25 @@ Being easy to understand and configurable, Greenshot is an efficient tool for pr
|
||||||
|
|
||||||
About this repository
|
About this repository
|
||||||
---------------------
|
---------------------
|
||||||
This repository is for Greenshot 1.3, currently in development, but is the next planned release
|
This is the development branch is for Greenshot 1.3, which has been first released on 2025-07-14.
|
||||||
|
|
||||||
Releases
|
Releases
|
||||||
--------
|
--------
|
||||||
|
|
||||||
You can find a list of all releases (stable and unstable) in the [Github releases](https://github.com/greenshot/greenshot/releases) or in the [version history on our website](https://getgreenshot.org/version-history/).
|
You can find a list of all releases (stable and unstable) in the [Github releases](https://github.com/greenshot/greenshot/releases) or in the [version history on our website](https://getgreenshot.org/version-history/).
|
||||||
The [downloads page on our website](https://getgreenshot.org/downloads/) always links to the latest stable release.
|
The [downloads page on our website](https://getgreenshot.org/downloads/) always links to the latest stable release.
|
||||||
|
|
||||||
|
Trademark and Logo Usage Policy
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
The Greenshot logo and trademark are the property of the Greenshot development team. Unauthorized use of the logo and trademark is generally prohibited. However, we allow the use of the Greenshot name and logo in the following contexts:
|
||||||
|
|
||||||
|
* In blog posts, articles, or reviews that discuss or promote the Greenshot, provided that the usage is fair and does not imply endorsement by Greenshot.
|
||||||
|
* In educational materials or presentations that accurately represent the project.
|
||||||
|
|
||||||
|
Please refrain from using the Greenshot logo and trademark in any promotional materials, products, or in a manner that may cause confusion or imply endorsement without prior written permission.
|
||||||
|
|
||||||
|
If you have any questions or wish to seek permission for other uses, please contact us.
|
||||||
|
|
||||||
|
Thank you for your understanding and cooperation.
|
||||||
|
|
||||||
|
|
|
@ -127,13 +127,18 @@ AppVersion={#Version}
|
||||||
ArchitecturesInstallIn64BitMode=x64
|
ArchitecturesInstallIn64BitMode=x64
|
||||||
Compression=lzma2/ultra64
|
Compression=lzma2/ultra64
|
||||||
SolidCompression=yes
|
SolidCompression=yes
|
||||||
DefaultDirName={code:DefDirRoot}\{#ExeName}
|
DefaultDirName={autopf}\{#ExeName}
|
||||||
DefaultGroupName={#ExeName}
|
DefaultGroupName={#ExeName}
|
||||||
InfoBeforeFile=..\additional_files\readme.txt
|
InfoBeforeFile=..\additional_files\readme.txt
|
||||||
LicenseFile=..\additional_files\license.txt
|
LicenseFile=..\additional_files\license.txt
|
||||||
LanguageDetectionMethod=uilanguage
|
LanguageDetectionMethod=uilanguage
|
||||||
MinVersion=6.1sp1
|
MinVersion=6.1sp1
|
||||||
OutputDir=..\
|
OutputDir=..\
|
||||||
|
; user may choose between all-users vs. current-user installation in a dialog or by using the /ALLUSERS flag (on the command line)
|
||||||
|
; in registry section, HKA will take care of the appropriate root key (HKLM vs. HKCU), see https://jrsoftware.org/ishelp/index.php?topic=admininstallmode
|
||||||
|
PrivilegesRequiredOverridesAllowed=dialog
|
||||||
|
; admin privileges not required, unless user chooses all-users installation
|
||||||
|
; the installer will ask for elevation if needed
|
||||||
PrivilegesRequired=lowest
|
PrivilegesRequired=lowest
|
||||||
SetupIconFile=..\..\src\Greenshot\icons\applicationIcon\icon.ico
|
SetupIconFile=..\..\src\Greenshot\icons\applicationIcon\icon.ico
|
||||||
#if CertumThumbprint != ""
|
#if CertumThumbprint != ""
|
||||||
|
@ -154,6 +159,7 @@ VersionInfoVersion={#Version}
|
||||||
WizardImageFile=installer-large.bmp
|
WizardImageFile=installer-large.bmp
|
||||||
; Reference a bitmap, max size 55x58
|
; Reference a bitmap, max size 55x58
|
||||||
WizardSmallImageFile=installer-small.bmp
|
WizardSmallImageFile=installer-small.bmp
|
||||||
|
|
||||||
[Registry]
|
[Registry]
|
||||||
; Delete all startup entries, so we don't have leftover values
|
; Delete all startup entries, so we don't have leftover values
|
||||||
Root: HKCU; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: none; ValueName: {#ExeName}; Flags: deletevalue noerror;
|
Root: HKCU; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: none; ValueName: {#ExeName}; Flags: deletevalue noerror;
|
||||||
|
@ -172,24 +178,16 @@ Root: HKLM; Subkey: Software\Classes\.greenshot; ValueType: none; ValueName: {#E
|
||||||
Root: HKLM; Subkey: Software\Classes\Greenshot; ValueType: none; ValueName: {#ExeName}; Flags: deletevalue noerror;
|
Root: HKLM; Subkey: Software\Classes\Greenshot; ValueType: none; ValueName: {#ExeName}; Flags: deletevalue noerror;
|
||||||
|
|
||||||
; Create the startup entries if requested to do so
|
; Create the startup entries if requested to do so
|
||||||
; HKEY_LOCAL_USER - for current user only
|
Root: HKA; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: {#ExeName}; ValueData: """{app}\{#ExeName}.exe"""; Flags: uninsdeletevalue noerror; Tasks: startup
|
||||||
Root: HKCU; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: {#ExeName}; ValueData: """{app}\{#ExeName}.exe"""; Permissions: users-modify; Flags: uninsdeletevalue noerror; Tasks: startup; Check: IsRegularUser
|
|
||||||
; HKEY_LOCAL_MACHINE - for all users when admin
|
|
||||||
Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: {#ExeName}; ValueData: """{app}\{#ExeName}.exe"""; Permissions: admins-modify; Flags: uninsdeletevalue noerror; Tasks: startup; Check: not IsRegularUser
|
|
||||||
|
|
||||||
; Register our own filetype for all users
|
; Register our own filetype for all users
|
||||||
; HKEY_LOCAL_USER - for current user only
|
Root: HKA; Subkey: Software\Classes\.greenshot; ValueType: string; ValueName: ""; ValueData: "Greenshot"; Flags: uninsdeletevalue noerror
|
||||||
Root: HKCU; Subkey: Software\Classes\.greenshot; ValueType: string; ValueName: ""; ValueData: "Greenshot"; Permissions: users-modify; Flags: uninsdeletevalue noerror; Check: IsRegularUser
|
Root: HKA; Subkey: Software\Classes\Greenshot; ValueType: string; ValueName: ""; ValueData: "Greenshot File"; Flags: uninsdeletevalue noerror
|
||||||
Root: HKCU; Subkey: Software\Classes\Greenshot; ValueType: string; ValueName: ""; ValueData: "Greenshot File"; Permissions: users-modify; Flags: uninsdeletevalue noerror; Check: IsRegularUser
|
Root: HKA; Subkey: Software\Classes\Greenshot\DefaultIcon; ValueType: string; ValueName: ""; ValueData: """{app}\Greenshot.EXE,0"""; Flags: uninsdeletevalue noerror
|
||||||
Root: HKCU; Subkey: Software\Classes\Greenshot\DefaultIcon; ValueType: string; ValueName: ""; ValueData: """{app}\Greenshot.EXE,0"""; Permissions: users-modify; Flags: uninsdeletevalue noerror; Check: IsRegularUser
|
Root: HKA; Subkey: Software\Classes\Greenshot\shell\open\command; ValueType: string; ValueName: ""; ValueData: """{app}\Greenshot.EXE"" --openfile ""%1"""; Flags: uninsdeletevalue noerror
|
||||||
Root: HKCU; Subkey: Software\Classes\Greenshot\shell\open\command; ValueType: string; ValueName: ""; ValueData: """{app}\Greenshot.EXE"" --openfile ""%1"""; Permissions: users-modify; Flags: uninsdeletevalue noerror; Check: IsRegularUser
|
|
||||||
; Disable the default PRTSCR Snipping Tool in Windows 11
|
; Disable the default PRTSCR Snipping Tool in Windows 11
|
||||||
Root: HKCU; Subkey: Control Panel\Keyboard; ValueType: dword; ValueName: "PrintScreenKeyForSnippingEnabled"; ValueData: "0"; Flags: uninsdeletevalue; Check: ShouldDisableSnippingTool
|
Root: HKCU; Subkey: Control Panel\Keyboard; ValueType: dword; ValueName: "PrintScreenKeyForSnippingEnabled"; ValueData: "0"; Flags: uninsdeletevalue; Check: ShouldDisableSnippingTool
|
||||||
; HKEY_LOCAL_MACHINE - for all users when admin
|
|
||||||
Root: HKLM; Subkey: Software\Classes\.greenshot; ValueType: string; ValueName: ""; ValueData: "Greenshot"; Permissions: admins-modify; Flags: uninsdeletevalue noerror; Check: not IsRegularUser
|
|
||||||
Root: HKLM; Subkey: Software\Classes\Greenshot; ValueType: string; ValueName: ""; ValueData: "Greenshot File"; Permissions: admins-modify; Flags: uninsdeletevalue noerror; Check: not IsRegularUser
|
|
||||||
Root: HKLM; Subkey: Software\Classes\Greenshot\DefaultIcon; ValueType: string; ValueName: ""; ValueData: """{app}\Greenshot.EXE,0"""; Permissions: admins-modify; Flags: uninsdeletevalue noerror; Check: not IsRegularUser
|
|
||||||
Root: HKLM; Subkey: Software\Classes\Greenshot\shell\open\command; ValueType: string; ValueName: ""; ValueData: """{app}\Greenshot.EXE"" --openfile ""%1"""; Permissions: admins-modify; Flags: uninsdeletevalue noerror; Check: not IsRegularUser
|
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Name: {group}\{#ExeName}; Filename: {app}\{#ExeName}.exe; WorkingDir: {app}; AppUserModelID: "{#ExeName}"
|
Name: {group}\{#ExeName}; Filename: {app}\{#ExeName}.exe; WorkingDir: {app}; AppUserModelID: "{#ExeName}"
|
||||||
|
@ -540,22 +538,6 @@ Name: "languages\zhCN"; Description: {cm:zhCN}; Types: full custom; Flags: disab
|
||||||
Name: "languages\zhTW"; Description: {cm:zhTW}; Types: full custom; Flags: disablenouninstallwarning; Check: hasLanguageGroup('9')
|
Name: "languages\zhTW"; Description: {cm:zhTW}; Types: full custom; Flags: disablenouninstallwarning; Check: hasLanguageGroup('9')
|
||||||
|
|
||||||
[Code]
|
[Code]
|
||||||
// Do we have a regular user trying to install this?
|
|
||||||
function IsRegularUser(): Boolean;
|
|
||||||
begin
|
|
||||||
Result := not (IsAdmin or IsAdminInstallMode);
|
|
||||||
end;
|
|
||||||
|
|
||||||
// The following code is used to select the installation path, this is localappdata if non poweruser
|
|
||||||
function DefDirRoot(Param: String): String;
|
|
||||||
begin
|
|
||||||
if IsRegularUser then
|
|
||||||
Result := ExpandConstant('{localappdata}')
|
|
||||||
else
|
|
||||||
Result := ExpandConstant('{pf}')
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
function FullInstall(Param : String) : String;
|
function FullInstall(Param : String) : String;
|
||||||
begin
|
begin
|
||||||
result := SetupMessage(msgFullInstallation);
|
result := SetupMessage(msgFullInstallation);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue