Simple maintenance improvements (#1918)

* Use license file from gnu.org

Downloaded from:
https://www.gnu.org/licenses/gpl-3.0.txt

* Add missing final newline

* Fix link

* Fix shellcheck warnings

* Move donation header one level up

* Fix typos

* Stop mixing tabs and spaces

* Trim trailing whitespace
This commit is contained in:
a1346054
2021-09-28 01:33:45 +00:00
committed by GitHub
parent 2ff0f4af34
commit b95e096136
38 changed files with 122 additions and 125 deletions

View File

@@ -15,4 +15,4 @@ line_width: 120
max_pargs_hwrap: 3 max_pargs_hwrap: 3
separate_ctrl_name_with_space: false separate_ctrl_name_with_space: false
separate_fn_name_with_space: false separate_fn_name_with_space: false
tab_size: 2 tab_size: 2

View File

@@ -11,4 +11,4 @@ Please make sure:
- a single feature per issue - a single feature per issue
- explain in detail what you have in mind - explain in detail what you have in mind
- if it helps, add sketches/pictures - if it helps, add sketches/pictures
--> -->

View File

@@ -2,7 +2,7 @@ name: Packaging(Linux)
on: on:
push: push:
branches: branches:
- master - master
paths-ignore: paths-ignore:
- 'README.md' - 'README.md'
@@ -37,13 +37,13 @@ jobs:
os: debian, os: debian,
symbol: buster, symbol: buster,
arch: amd64 arch: amd64
} }
- { - {
name: debian-10, name: debian-10,
os: debian, os: debian,
symbol: buster, symbol: buster,
arch: arm64 arch: arm64
} }
- { - {
name: debian-10, name: debian-10,
os: debian, os: debian,
@@ -55,13 +55,13 @@ jobs:
os: debian, os: debian,
symbol: bullseye, symbol: bullseye,
arch: amd64 arch: amd64
} }
- { - {
name: debian-11, name: debian-11,
os: debian, os: debian,
symbol: bullseye, symbol: bullseye,
arch: arm64 arch: arm64
} }
- { - {
name: debian-11, name: debian-11,
os: debian, os: debian,
@@ -75,7 +75,7 @@ jobs:
arch: amd64 arch: amd64
} }
steps: steps:
- name: Enable Docker Experimental Features - name: Enable Docker Experimental Features
run: | run: |
echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json echo $'{\n "experimental": true\n}' | sudo tee /etc/docker/daemon.json
mkdir -p ~/.docker mkdir -p ~/.docker
@@ -115,7 +115,7 @@ jobs:
- name: Checkout Source code - name: Checkout Source code
if: github.event_name == 'push' if: github.event_name == 'push'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
fetch-depth: 0 fetch-depth: 0
ref: master ref: master
- name: Checkout Source code - name: Checkout Source code
@@ -324,7 +324,7 @@ jobs:
- name: Checkout Source code - name: Checkout Source code
if: github.event_name == 'push' if: github.event_name == 'push'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
fetch-depth: 0 fetch-depth: 0
ref: master ref: master
- name: Checkout Source code - name: Checkout Source code
@@ -438,7 +438,7 @@ jobs:
- name: Checkout Source code - name: Checkout Source code
if: github.event_name == 'push' if: github.event_name == 'push'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
fetch-depth: 0 fetch-depth: 0
ref: master ref: master
- name: Checkout Source code - name: Checkout Source code
@@ -484,7 +484,7 @@ jobs:
openssl \ openssl \
ca-certificates ca-certificates
- name: Get go-appimage tool - name: Get go-appimage tool
# Will not use linuxdeployqt anymore, because it suopprts currently still-supported mainstream distribution, # Will not use linuxdeployqt anymore, because it suopprts currently still-supported mainstream distribution,
# which is glibc 2.23. For more information, please see https://github.com/probonopd/linuxdeployqt/issues/340. # which is glibc 2.23. For more information, please see https://github.com/probonopd/linuxdeployqt/issues/340.
# Will try new tool https://github.com/probonopd/go-appimage written in golang by probonopd. # Will try new tool https://github.com/probonopd/go-appimage written in golang by probonopd.
run: | run: |
@@ -614,7 +614,7 @@ jobs:
- name: Checkout Source code - name: Checkout Source code
if: github.event_name == 'push' if: github.event_name == 'push'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
fetch-depth: 0 fetch-depth: 0
ref: master ref: master
- name: Checkout Source code - name: Checkout Source code

View File

@@ -62,7 +62,7 @@ jobs:
- name: Checkout Source code - name: Checkout Source code
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
fetch-depth: 0 fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }} ref: ${{ github.event.pull_request.head.sha }}

View File

@@ -32,7 +32,7 @@ jobs:
- name: Checkout Source code - name: Checkout Source code
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
ref: ${{ github.event.pull_request.head.sha }} ref: ${{ github.event.pull_request.head.sha }}
- name: Install Dependencies - name: Install Dependencies
@@ -62,10 +62,10 @@ jobs:
# access regardless of the host operating system # access regardless of the host operating system
shell: bash shell: bash
working-directory: ${{runner.workspace}}/build working-directory: ${{runner.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source # Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher. # and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12 # The CMake binaries on the Github Actions machines are (as of this writing) 3.12
# #
# We need to source the profile file to make sure conan is in PATH # We need to source the profile file to make sure conan is in PATH
run: | run: |
cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
@@ -78,7 +78,7 @@ jobs:
- name: Test - name: Test
working-directory: ${{runner.workspace}}/build working-directory: ${{runner.workspace}}/build
shell: bash shell: bash
# Execute tests defined by the CMake configuration. # Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C $BUILD_TYPE run: ctest -C $BUILD_TYPE

View File

@@ -13,7 +13,7 @@ jobs:
- name: Checkout Source code - name: Checkout Source code
if: github.event_name == 'pull_request' if: github.event_name == 'pull_request'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
ref: ${{ github.event.pull_request.head.sha }} ref: ${{ github.event.pull_request.head.sha }}
- uses: DoozyX/clang-format-lint-action@v0.9 - uses: DoozyX/clang-format-lint-action@v0.9
with: with:

14
LICENSE
View File

@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007 Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
@@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found. the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.} <one line to give the program's name and a brief idea of what it does.>
Copyright (C) {year} {name of author} Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -645,14 +645,14 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail. Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode: notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname} <program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details. under certain conditions; type `show c' for details.
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school, You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary. if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>. <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>. <https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@@ -252,7 +252,7 @@ Steps for using the configuration:
#### On Ubuntu (Tested on 18.04, 20.04) #### On Ubuntu (Tested on 18.04, 20.04)
To use Flameshot instead of the default screenshot application in Ubuntu we need to remove the binding on <kbd>Prt Sc</kbd> key, and then create a new binding for `/usr/bin/flameshot gui` ([adaptated](https://askubuntu.com/posts/1039949/revisions) from [Pavel's answer on AskUbuntu](https://askubuntu.com/revisions/1036473/1)). To use Flameshot instead of the default screenshot application in Ubuntu we need to remove the binding on <kbd>Prt Sc</kbd> key, and then create a new binding for `/usr/bin/flameshot gui` ([adaptated](https://askubuntu.com/posts/1039949/revisions) from [Pavel's answer on AskUbuntu](https://askubuntu.com/revisions/1036473/1)).
1. Remove the binding on <kbd>Prt Sc</kbd> using the following command. 1. Remove the binding on <kbd>Prt Sc</kbd> using the following command.
@@ -275,7 +275,7 @@ Now every time you press <kbd>Prt Sc</kbd>, it will start the Flameshot GUI inst
1. Go to `Keyboard` settings 1. Go to `Keyboard` settings
2. Switch to the tab `Application Shortcuts` 2. Switch to the tab `Application Shortcuts`
3. Find the entry 3. Find the entry
```text ```text
Command Shortcut Command Shortcut
xfce4-screenshooter -fd 1 Print xfce4-screenshooter -fd 1 Print
@@ -360,7 +360,7 @@ Also you can open and build/debug the project in a C++ IDE. For example, in Qt C
- Qt >= 5.9 - Qt >= 5.9
+ Development tools + Development tools
- GCC >= 7.4 - GCC >= 7.4
- CMake >= 3.13 - CMake >= 3.13
#### Run-time #### Run-time
@@ -448,8 +448,8 @@ When `make` command completed you can launch flameshot from `project_folder/buil
### Install ### Install
Simply use `make install` with privileges. Simply use `make install` with privileges.
Note: If you install from source, there is no uninstaller, you will need to manually remove the files. Consider using [CMAKE_INSTALL_PREFIX](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html) to install to a custom location for easy removal. Note: If you install from source, there is no uninstaller, you will need to manually remove the files. Consider using [CMAKE_INSTALL_PREFIX](https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_PREFIX.html) to install to a custom location for easy removal.
### FAQ ### FAQ
https://flameshot.org/guide/faq/ https://flameshot.org/guide/faq/
@@ -472,7 +472,7 @@ This program will not transfer any information to other networked systems unless
## Code Signing Policy ## Code Signing Policy
Free code signing provided by [SignPath.io](https://signpath.io/), certificate by [SignPath Foundation](https://signpath.org/). Free code signing provided by [SignPath.io](https://signpath.io/), certificate by [SignPath Foundation](https://signpath.org/).
Code signing is currently a manual process so not every patch release will be signed. Code signing is currently a manual process so not every patch release will be signed.
## Contribute ## Contribute
If you want to contribute check the [CONTRIBUTING.md](docs/CONTRIBUTING.md) If you want to contribute check the [CONTRIBUTING.md](docs/CONTRIBUTING.md)

View File

@@ -12,7 +12,7 @@ build_script:
mkdir build mkdir build
cd build cd build
set QTDIR=%Qt5_INSTALL_DIR% set QTDIR=%Qt5_INSTALL_DIR%
set "VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC" set "VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC"
@@ -22,11 +22,11 @@ build_script:
cmake c:\projects\source -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE:STRING=Release -DENABLE_OPENSSL=ON -DRUN_IN_PLACE=OFF cmake c:\projects\source -G "Visual Studio 16 2019" -DCMAKE_BUILD_TYPE:STRING=Release -DENABLE_OPENSSL=ON -DRUN_IN_PLACE=OFF
cmake --build . --parallel 2 --config "Release" cmake --build . --parallel 2 --config "Release"
cpack -G WIX -B package cpack -G WIX -B package
mkdir artifact mkdir artifact
cp package/*.msi artifact/. cp package/*.msi artifact/.
cp src/Release/*.exe artifact/. cp src/Release/*.exe artifact/.

View File

@@ -27,4 +27,3 @@ if(CACHE_BINARY)
else() else()
message(WARNING "${CACHE_OPTION} is enabled but was not found. Not using it") message(WARNING "${CACHE_OPTION} is enabled but was not found. Not using it")
endif() endif()

View File

@@ -1,6 +1,6 @@
# from here: # from here:
# #
# https://github.com/lefticus/cppbestpractices/blob/master/02-Use_the_Tools_Avai lable.md # https://github.com/lefticus/cppbestpractices/blob/master/02-Use_the_Tools_Available.md
function(set_project_warnings project_name) function(set_project_warnings project_name)
option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" TRUE) option(WARNINGS_AS_ERRORS "Treat compiler warnings as errors" TRUE)

View File

@@ -63,4 +63,4 @@ function(enable_sanitizers project_name)
endif() endif()
endif() endif()
endfunction() endfunction()

View File

@@ -31,4 +31,4 @@ if(ENABLE_IPO)
else() else()
message(SEND_ERROR "IPO is not supported: ${output}") message(SEND_ERROR "IPO is not supported: ${output}")
endif() endif()
endif() endif()

View File

@@ -3,7 +3,7 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>CFBundleDevelopmentRegion</key> <key>CFBundleDevelopmentRegion</key>
<string>English</string> <string>English</string>
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>flameshot</string> <string>flameshot</string>
<key>CFBundleGetInfoString</key> <key>CFBundleGetInfoString</key>
@@ -37,10 +37,10 @@
<key>NSHighResolutionCapable</key> <key>NSHighResolutionCapable</key>
<string>True</string> <string>True</string>
<key>LSUIElement</key> <key>LSUIElement</key>
<string>1</string> <string>1</string>
<key>NSPhotoLibraryAddUsageDescription</key> <key>NSPhotoLibraryAddUsageDescription</key>
<string>Application requires access to save screenshots to your gallery</string> <string>Application requires access to save screenshots to your gallery</string>
<key>NSSupportsAutomaticGraphicsSwitching</key> <key>NSSupportsAutomaticGraphicsSwitching</key>
<true/> <true/>
</dict> </dict>
</plist> </plist>

View File

@@ -8,7 +8,7 @@ SPDX-License-Identifier: CC0-1.0
<metadata_license>CC0-1.0</metadata_license> <metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license> <project_license>GPL-3.0-or-later</project_license>
<name>Flameshot</name> <name>Flameshot</name>
<releases> <releases>
<release version="0.10.1" date="2021-07-25"/> <release version="0.10.1" date="2021-07-25"/>
<release version="0.10.0" date="2021-05-16"/> <release version="0.10.0" date="2021-05-16"/>
<release version="0.9.0" date="2021-02-27"/> <release version="0.9.0" date="2021-02-27"/>
@@ -38,5 +38,4 @@ SPDX-License-Identifier: CC0-1.0
<url type="homepage">https://github.com/flameshot-org/flameshot</url> <url type="homepage">https://github.com/flameshot-org/flameshot</url>
<update_contact>https://github.com/flameshot-org/flameshot/issues/new</update_contact> <update_contact>https://github.com/flameshot-org/flameshot/issues/new</update_contact>
<launchable type="desktop-id">org.flameshot.Flameshot.desktop</launchable> <launchable type="desktop-id">org.flameshot.Flameshot.desktop</launchable>
</component> </component>

View File

@@ -27,4 +27,4 @@
<arg name="return_id" type="u" direction="out"/> <arg name="return_id" type="u" direction="out"/>
</method> </method>
</interface> </interface>
</node> </node>

View File

@@ -44,4 +44,4 @@ BEGIN
BEGIN BEGIN
VALUE "Translation", 0x0409, 0x04b0 /* U.S. English (Unicode) */ VALUE "Translation", 0x0409, 0x04b0 /* U.S. English (Unicode) */
END END
END END

View File

@@ -21,19 +21,19 @@ _flameshot() {
return 0 return 0
;; ;;
screen) screen)
COMPREPLY=( $(compgen -W "$screen_opts --help -h" -- ${cur}) ) COMPREPLY=( $(compgen -W "$screen_opts --help -h" -- "${cur}") )
return 0 return 0
;; ;;
gui) gui)
COMPREPLY=( $(compgen -W "$gui_opts --help -h" -- ${cur}) ) COMPREPLY=( $(compgen -W "$gui_opts --help -h" -- "${cur}") )
return 0 return 0
;; ;;
full) full)
COMPREPLY=( $(compgen -W "$full_opts --help -h" -- ${cur}) ) COMPREPLY=( $(compgen -W "$full_opts --help -h" -- "${cur}") )
return 0 return 0
;; ;;
config) config)
COMPREPLY=( $(compgen -W "$config_opts --help -h" -- ${cur}) ) COMPREPLY=( $(compgen -W "$config_opts --help -h" -- "${cur}") )
return 0 return 0
;; ;;
-f|--filename|-p|--path) -f|--filename|-p|--path)
@@ -41,7 +41,7 @@ _flameshot() {
return 0 return 0
;; ;;
-s|--showhelp|-t|--trayicon) -s|--showhelp|-t|--trayicon)
COMPREPLY=( $(compgen -W "true false" -- ${cur}) ) COMPREPLY=( $(compgen -W "true false" -- "${cur}") )
return 0 return 0
;; ;;
-d|--delay|-h|--help|-c|--clipboard|--version|-v|--number|-n) -d|--delay|-h|--help|-c|--clipboard|--version|-v|--number|-n)
@@ -54,23 +54,23 @@ _flameshot() {
# Options # Options
case "${cur}" in case "${cur}" in
-*) -*)
COMPREPLY=( $( compgen -W "--version --help -v -h" -- ${cur}) ) COMPREPLY=( $( compgen -W "--version --help -v -h" -- "${cur}") )
return 0 return 0
;; ;;
--*) --*)
COMPREPLY=( $( compgen -W "--version --help" -- ${cur}) ) COMPREPLY=( $( compgen -W "--version --help" -- "${cur}") )
return 0 return 0
;; ;;
*) *)
COMPREPLY=( $( compgen -W "${cmd}" -- ${cur}) ) COMPREPLY=( $( compgen -W "${cmd}" -- "${cur}") )
return 0 return 0
;; ;;
esac esac
} }
if [[ -n ${ZSH_VERSION} ]]; then if [[ -n ${ZSH_VERSION} ]]; then
autoload -U bashcompinit autoload -U bashcompinit
bashcompinit bashcompinit
fi fi
complete -F _flameshot flameshot complete -F _flameshot flameshot

View File

@@ -69,8 +69,8 @@ parts:
build-packages: build-packages:
- g++ - g++
- make - make
- qt5-default - qt5-default
- qttools5-dev-tools - qttools5-dev-tools
- libqt5svg5-dev - libqt5svg5-dev
stage-packages: stage-packages:
- dbus-x11 - dbus-x11
@@ -78,11 +78,11 @@ parts:
- openssl - openssl
- ca-certificates - ca-certificates
- qtwayland5 - qtwayland5
- libqt5dbus5 - libqt5dbus5
- libqt5network5 - libqt5network5
- libqt5core5a - libqt5core5a
- libqt5widgets5 - libqt5widgets5
- libqt5gui5 - libqt5gui5
- libqt5svg5 - libqt5svg5
- libxkbcommon0 - libxkbcommon0
- ttf-ubuntu-font-family - ttf-ubuntu-font-family

View File

@@ -42,7 +42,7 @@ For small fixes or incremental improvements simply fork the repo and follow the
After reporting you should aim to answer questions or clarifications as this helps pinpoint the cause of the issue. After reporting you should aim to answer questions or clarifications as this helps pinpoint the cause of the issue.
### Donations ## Donations
I improve Flameshot in my free time because I want to create something good for everyone to use. I improve Flameshot in my free time because I want to create something good for everyone to use.
If you want you can donate some bucks [here](https://www.paypal.me/lupoDharkael). If you want you can donate some bucks [here](https://www.paypal.me/lupoDharkael).

View File

@@ -40,7 +40,7 @@ following.
+ Any changes breaking compatibility to command line flags or config files. + Any changes breaking compatibility to command line flags or config files.
+ Any major changes to the UI + Any major changes to the UI
+ Substantial new features like new tools. + Substantial new features like new tools.
Some changes do not require an RFC: Some changes do not require an RFC:
@@ -48,12 +48,12 @@ Some changes do not require an RFC:
not change meaning". not change meaning".
+ Improving translations. + Improving translations.
+ Additions that strictly improve objective, numerical quality criteria + Additions that strictly improve objective, numerical quality criteria
(warning removal, speedup, better platform coverage, etc.) (warning removal, speedup, better platform coverage, etc.)
+ Additions only likely to be _noticed by_ other developers-of-flameshot, + Additions only likely to be _noticed by_ other developers-of-flameshot,
invisible to users-of-flameshot. invisible to users-of-flameshot.
@@ -76,7 +76,7 @@ beforehand, to ascertain that the RFC may be desirable; having a consistent
impact on the project requires concerted effort toward consensus-building. impact on the project requires concerted effort toward consensus-building.
The most common preparations for writing and submitting an RFC include talking The most common preparations for writing and submitting an RFC include talking
the idea over on our [official Slack server](flameshotworkspace.slack.com) or opening an issue on github for discussion. the idea over on our [official Slack server](flameshotworkspace.slack.com) or opening an issue on github for discussion.
## What the process is ## What the process is
@@ -86,7 +86,7 @@ In short, to get a major feature added to Flameshot, one must first get the RFC
merged into the RFC repository as a markdown file. At that point the RFC is merged into the RFC repository as a markdown file. At that point the RFC is
"active" and may be implemented with the goal of eventual inclusion into Flameshot. "active" and may be implemented with the goal of eventual inclusion into Flameshot.
+ Fork the Flameshot repo + Fork the Flameshot repo
+ Copy `docs/0000-template.md` to `docs/RFC/0000-my-feature.md` (where "my-feature" is + Copy `docs/0000-template.md` to `docs/RFC/0000-my-feature.md` (where "my-feature" is
descriptive). Don't assign an RFC number yet; This is going to be the PR descriptive). Don't assign an RFC number yet; This is going to be the PR
@@ -170,9 +170,9 @@ next major release.
In general, once accepted, RFCs should not be substantially changed. Only very In general, once accepted, RFCs should not be substantially changed. Only very
minor changes should be submitted as amendments. More substantial changes minor changes should be submitted as amendments. More substantial changes
should be new RFCs, with a note added to the original RFC. Exactly what counts should be new RFCs, with a note added to the original RFC. Exactly what counts
as a "very minor change" is up to the development team. as a "very minor change" is up to the development team.
## Reviewing RFCs ## Reviewing RFCs
@@ -216,11 +216,11 @@ Some RFC pull requests are tagged with the "postponed" label when they are
closed (as part of the rejection process). An RFC closed with "postponed" is closed (as part of the rejection process). An RFC closed with "postponed" is
marked as such because we want neither to think about evaluating the proposal marked as such because we want neither to think about evaluating the proposal
nor about implementing the described feature until some time in the future, and nor about implementing the described feature until some time in the future, and
we believe that we can afford to wait until then to do so. we believe that we can afford to wait until then to do so.
Usually an RFC pull request marked as "postponed" has already passed an Usually an RFC pull request marked as "postponed" has already passed an
informal first round of evaluation, namely the round of "do we think we would informal first round of evaluation, namely the round of "do we think we would
ever possibly consider making this change, as outlined in the RFC pull request, ever possibly consider making this change, as outlined in the RFC pull request,
or some semi-obvious variation of it." (When the answer to the latter question or some semi-obvious variation of it." (When the answer to the latter question
is "no", then the appropriate response is to close the RFC, not postpone it.) is "no", then the appropriate response is to close the RFC, not postpone it.)

View File

@@ -60,4 +60,4 @@ A button has been added to open the sidebar. This tool was previously only acces
* Enable Pin and Text tool by default. (#443) * Enable Pin and Text tool by default. (#443)
* Fix the problem that moving or resizing does not affect screenshot. (#459) * Fix the problem that moving or resizing does not affect screenshot. (#459)
* Fix problem with re-enabling disabled tray icon (#495) * Fix problem with re-enabling disabled tray icon (#495)
* Fix compilation problem against Qt 5.15. * Fix compilation problem against Qt 5.15.

View File

@@ -1,40 +1,40 @@
# 0.9 Release Notes # 0.9 Release Notes
Thanks to all the testers and contributors that helped make version 0.9! We are very excited to have improved many Thanks to all the testers and contributors that helped make version 0.9! We are very excited to have improved many
bugs and added new features in version 0.9. bugs and added new features in version 0.9.
## Known Issues ## Known Issues
- Fractional scaling issues are not resolved. We are working with Qt upstream on this issue. - Fractional scaling issues are not resolved. We are working with Qt upstream on this issue.
## New Features ## New Features
- Improved MacOS support. MacOS is now officially supported and we will resolve any reported issues on this platform. - Improved MacOS support. MacOS is now officially supported and we will resolve any reported issues on this platform.
- Thanks to SignPath we are able to offer digitally signed windows releases. - Thanks to SignPath we are able to offer digitally signed windows releases.
- Improved Wayland support - Improved Wayland support
- Behind the scenes we configure flameshot to automatically run on xcb. This significantly improves the - Behind the scenes we configure flameshot to automatically run on xcb. This significantly improves the
wayland experience. This resolves issues with multimonitor setups and copying to the clipboard wayland experience. This resolves issues with multimonitor setups and copying to the clipboard
- New option to allow the the clipboard image to be a jpeg instead of a png. This may reduce bandwidth when pasting the - New option to allow the clipboard image to be a jpeg instead of a png. This may reduce bandwidth when pasting the
image into chat or email clients image into chat or email clients
- New global shortcut menu. All actions hotkeys are fully customizable. - New global shortcut menu. All actions hotkeys are fully customizable.
- Ability to take "symmetric" selections by holding down the Shift key while resizing the selection. - Ability to take "symmetric" selections by holding down the Shift key while resizing the selection.
- The rectangle tool will now round the corners of the rectangles based on the current thickness - The rectangle tool will now round the corners of the rectangles based on the current thickness
- All imgur uploads are now tracked in the "Upload History" menu. This makes it much easier to delete of images off imgur - All imgur uploads are now tracked in the "Upload History" menu. This makes it much easier to delete of images off imgur
or find the upload link later. or find the upload link later.
- Added "check for new release" feature. This allows users on MacOS / Windows / and AppImages to easily check for updated versions. - Added "check for new release" feature. This allows users on MacOS / Windows / and AppImages to easily check for updated versions.
- New option for setting a "fixed save path". When this is enabled a user will no longer need to set the path for images - New option for setting a "fixed save path". When this is enabled a user will no longer need to set the path for images
that are saved. that are saved.
## Fixes ## Fixes
- Under certain circumstance the circle count could get set to the wrong number with large numbers of undo / redo. This - Under certain circumstance the circle count could get set to the wrong number with large numbers of undo / redo. This
has been fixed. has been fixed.
- Close after capture has been removed. This feature was not well implemented and lead to numerous bugs. - Close after capture has been removed. This feature was not well implemented and lead to numerous bugs.

View File

@@ -10,11 +10,10 @@ These are the code changes that need to take place
These are the steps for actually making the release These are the steps for actually making the release
- [ ] Download all binaries from CI run started from PR related to code changes shown above - [ ] Download all binaries from CI run started from PR related to code changes shown above
- [ ] Create sha256 for each binary and compare against sha256 shown in the CI to verify there was no corruption or inserted malware. - [ ] Create sha256 for each binary and compare against sha256 shown in the CI to verify there was no corruption or inserted malware.
- [ ] Create a new "New Release" in githhub and explain changes in release notes - [ ] Create a new "New Release" in github and explain changes in release notes
- [ ] Upload all binaries and sha's - [ ] Upload all binaries and sha's
- [ ] Update flatpak manifest for flathub: https://github.com/flathub/org.flameshot.Flameshot - [ ] Update flatpak manifest for flathub: https://github.com/flathub/org.flameshot.Flameshot
- [ ] Push snapcraft edge release to stable - [ ] Push snapcraft edge release to stable
- [ ] If this is a major release coordinate with sign path on signed windows binaries - [ ] If this is a major release coordinate with sign path on signed windows binaries
- [ ] Update change log on [website](https://github.com/flameshot-org/flameshot-org.github.io/) data/changelog.md - [ ] Update change log on [website](https://github.com/flameshot-org/flameshot-org.github.io/) data/changelog.md
- [ ] Update version on [website](https://github.com/flameshot-org/flameshot-org.github.io/blob/master/_coverpage.md) - [ ] Update version on [website](https://github.com/flameshot-org/flameshot-org.github.io/blob/master/_coverpage.md)

View File

@@ -21,4 +21,4 @@
<key>NSSupportsAutomaticGraphicsSwitching</key> <key>NSSupportsAutomaticGraphicsSwitching</key>
<true/> <true/>
</dict> </dict>
</plist> </plist>

View File

@@ -25,9 +25,9 @@ security default-keychain -s build.keychain
security unlock-keychain -p "${APPLE_TEMP_CI_KEYCHAIN_PASS}" build.keychain security unlock-keychain -p "${APPLE_TEMP_CI_KEYCHAIN_PASS}" build.keychain
# import certificate # import certificate
[ -r "${TEMP_CI_CERT_FILENAME}" ] && rm ${TEMP_CI_CERT_FILENAME} [ -r "${TEMP_CI_CERT_FILENAME}" ] && rm "${TEMP_CI_CERT_FILENAME}"
echo "${APPLE_DEVELOPER_ID_APPLICATION_CERT_DATA}" | base64 --decode > "${TEMP_CI_CERT_FILENAME}" echo "${APPLE_DEVELOPER_ID_APPLICATION_CERT_DATA}" | base64 --decode > "${TEMP_CI_CERT_FILENAME}"
security import "${TEMP_CI_CERT_FILENAME}" -P "${APPLE_DEVELOPER_ID_APPLICATION_CERT_PASS}" -k build.keychain -T /usr/bin/codesign security import "${TEMP_CI_CERT_FILENAME}" -P "${APPLE_DEVELOPER_ID_APPLICATION_CERT_PASS}" -k build.keychain -T /usr/bin/codesign
[ -r "${TEMP_CI_CERT_FILENAME}" ] && rm ${TEMP_CI_CERT_FILENAME} [ -r "${TEMP_CI_CERT_FILENAME}" ] && rm "${TEMP_CI_CERT_FILENAME}"
security find-identity -v security find-identity -v
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "${APPLE_TEMP_CI_KEYCHAIN_PASS}" build.keychain security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "${APPLE_TEMP_CI_KEYCHAIN_PASS}" build.keychain

View File

@@ -21,7 +21,7 @@ if [[ "${APPLE_DEV_IDENTITY}" == "" ]]; then
fi fi
echo "--> Start application signing process" echo "--> Start application signing process"
codesign --sign "${APPLE_DEV_IDENTITY}" --verbose --deep ${APP_NAME}.app codesign --sign "${APPLE_DEV_IDENTITY}" --verbose --deep "${APP_NAME}.app"
echo "--> Start packaging process" echo "--> Start packaging process"
"$(brew --prefix qt5)/bin/macdeployqt" "${APP_NAME}.app" -dmg -sign-for-notarization="${APPLE_DEV_IDENTITY}" "$(brew --prefix qt5)/bin/macdeployqt" "${APP_NAME}.app" -dmg -sign-for-notarization="${APPLE_DEV_IDENTITY}"

View File

@@ -4,7 +4,7 @@ echo "Change the permision of .dmg file"
hdiutil convert "flameshot.dmg" -format UDRW -o "flameshot_rw.dmg" hdiutil convert "flameshot.dmg" -format UDRW -o "flameshot_rw.dmg"
echo "Mount it and save the device" echo "Mount it and save the device"
DEVICE=$(hdiutil attach -readwrite -noverify "flameshot_rw.dmg" | egrep '^/dev/' | sed 1q | awk '{print $1}') DEVICE=$(hdiutil attach -readwrite -noverify "flameshot_rw.dmg" | grep -E '^/dev/' | sed 1q | awk '{print $1}')
sleep 5 sleep 5
echo "Create the sysmbolic link to application folder" echo "Create the sysmbolic link to application folder"

View File

@@ -54,7 +54,7 @@ Requires: libqt5-qttools >= 5.9.0
Requires: libQt5Svg5 >= 5.9.0 Requires: libQt5Svg5 >= 5.9.0
%endif %endif
%description %description
Powerful and simple to use screenshot software with built-in Powerful and simple to use screenshot software with built-in
editor with advanced features. editor with advanced features.

View File

@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007 Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed. of this license document, but changing it is not allowed.
@@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found. the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.} <one line to give the program's name and a brief idea of what it does.>
Copyright (C) {year} {name of author} Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@@ -645,14 +645,14 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details. GNU General Public License for more details.
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail. Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode: notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname} <program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details. under certain conditions; type `show c' for details.
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school, You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary. if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>. <https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>. <https://www.gnu.org/licenses/why-not-lgpl.html>.

View File

@@ -66,8 +66,8 @@ parts:
build-packages: build-packages:
- g++ - g++
- make - make
- qt5-default - qt5-default
- qttools5-dev-tools - qttools5-dev-tools
- libqt5svg5-dev - libqt5svg5-dev
stage-packages: stage-packages:
- dbus-x11 - dbus-x11
@@ -75,11 +75,11 @@ parts:
- openssl - openssl
- ca-certificates - ca-certificates
- qtwayland5 - qtwayland5
- libqt5dbus5 - libqt5dbus5
- libqt5network5 - libqt5network5
- libqt5core5a - libqt5core5a
- libqt5widgets5 - libqt5widgets5
- libqt5gui5 - libqt5gui5
- libqt5svg5 - libqt5svg5
- libxkbcommon0 - libxkbcommon0
- ttf-ubuntu-font-family - ttf-ubuntu-font-family

View File

@@ -328,7 +328,7 @@ if (WIN32)
STRING(REGEX REPLACE "\\\\" "/" OPENSSL_ROOT_DIR "$ENV{OPENSSL_ROOT_DIR}" ) STRING(REGEX REPLACE "\\\\" "/" OPENSSL_ROOT_DIR "$ENV{OPENSSL_ROOT_DIR}" )
if (ENABLE_OPENSSL) if (ENABLE_OPENSSL)
if (EXISTS ${OPENSSL_ROOT_DIR}/bin) if (EXISTS ${OPENSSL_ROOT_DIR}/bin)

View File

@@ -321,4 +321,4 @@ void TextTool::setEditMode(bool b)
bool TextTool::isChanged() bool TextTool::isChanged()
{ {
return QString::compare(m_text, m_textOld, Qt::CaseInsensitive) != 0; return QString::compare(m_text, m_textOld, Qt::CaseInsensitive) != 0;
} }

View File

@@ -66,7 +66,7 @@ QString FileNameHandler::parseFilename(const QString& name)
* - If `format` is not given, the suffix will remain untouched, unless `path` * - If `format` is not given, the suffix will remain untouched, unless `path`
* has no suffix, in which case it will be given the "png" suffix * has no suffix, in which case it will be given the "png" suffix
* - If the path generated by the previous steps points to an existing file, * - If the path generated by the previous steps points to an existing file,
* "_NUM" will be appended to its base name, where NUM is the first * "_NUM" will be appended to its base name, where NUM is the first
* available number that produces a non-existent path (starting from 1). * available number that produces a non-existent path (starting from 1).
* @param path Possibly incomplete file name to transform * @param path Possibly incomplete file name to transform
* @param format Desired output file suffix (excluding an initial '.' character) * @param format Desired output file suffix (excluding an initial '.' character)

View File

@@ -18,4 +18,4 @@ OrgFreedesktopPortalRequestInterface::OrgFreedesktopPortalRequestInterface(
parent) parent)
{} {}
OrgFreedesktopPortalRequestInterface::~OrgFreedesktopPortalRequestInterface() {} OrgFreedesktopPortalRequestInterface::~OrgFreedesktopPortalRequestInterface() {}

View File

@@ -51,7 +51,7 @@ public:
* `check`, the fallback will be returned. Otherwise the value is processed * `check`, the fallback will be returned. Otherwise the value is processed
* by `process` and then returned. * by `process` and then returned.
* *
* @note Cannot be overriden * @note Cannot be overridden
* @see fallback, process * @see fallback, process
*/ */
QVariant value(const QVariant& val); QVariant value(const QVariant& val);
@@ -60,7 +60,7 @@ public:
*/ */
virtual QVariant fallback(); virtual QVariant fallback();
/** /**
* @brief Return the representaion of the value in the config file. * @brief Return the representation of the value in the config file.
* *
* Override this if you want to write the value in a different format than * Override this if you want to write the value in a different format than
* the one provided by `QVariant`. * the one provided by `QVariant`.

View File

@@ -148,4 +148,4 @@ CaptureToolObjects& CaptureToolObjects::operator=(
count++; count++;
} }
return *this; return *this;
} }

View File

@@ -30,7 +30,7 @@ echo ">> Redundancy in the path will be removed"
"$flameshot" screen -p /tmp/flameshot_path_test/subdir/..///redundancy_removed.png "$flameshot" screen -p /tmp/flameshot_path_test/subdir/..///redundancy_removed.png
sleep 2 sleep 2
echo ">> If the destionation is a directory, the file name is generated from strf from the config" echo ">> If the destination is a directory, the file name is generated from strf from the config"
"$flameshot" screen -p ./ "$flameshot" screen -p ./
sleep 2 sleep 2