Open Michaelzhouisnotwhite opened 1 month ago
Thanks for the PR. I truely appreciate it.
In general we would like to have a PR after the issue is already discussed in an issues or in our Matrix channel. This would help the maintainers to see if they think the feature is in-line with the perspective of the project, and also would help during the review process.
Apart from that, I'm extremely puzzled on what this feature does. I quickly checked the code and that didn't solve much of my confusion. Would you please elaborate on:
To me it seems you clearly have a need for such feature and you were kind enough to also push the feature to the main repo. I just don't understand what that need was.
Thanks for the PR. I truely appreciate it.
In general we would like to have a PR after the issue is already discussed in an issues or in our Matrix channel. This would help the maintainers to see if they think the feature is in-line with the perspective of the project, and also would help during the review process.
Apart from that, I'm extremely puzzled on what this feature does. I quickly checked the code and that didn't solve much of my confusion. Would you please elaborate on:
- What is the use-case of this feature
- How a user should use this
To me it seems you clearly have a need for such feature and you were kind enough to also push the feature to the main repo. I just don't understand what that need was.
Thanks for your time to review this pr.
This feature is to be able to view the pictures that have been captured in the past. I call it back-tracking screenshot history.
For example, when I want to screenshot and copy a live screen, but the captured screen is not perfect as the screen is no longer exists. I can use this function to backtrack to the previous screen and capture the area again.
a. open the flameshot b. type ',' or '. ' on the keyboard to see the history of screenshots
main function implement is here:
Thanks for the explanation. I can see that it can be useful for some users. I also like the name you chose for it (back-tracking).
In the light of Microsoft Windows Recall and the similarities to this back-tracking feature, I have a few concerns:
You can create a new tab in the config window (flameshot config
) for back-tracking settings. There can be:
About the encryption part we need to discuss this with some more folks and get their opinion on the best practices, but for now if you can add the tab in the config to address my first two concerns, that would be great.
In the meantime, we can also wait for the following folks to weigh in and express their opinions: @veracioux @panpuchkov @jack9603301 @hosiet @holazt @lupoDharkael
You can create a new tab in the config window (
flameshot config
) for back-tracking settings. There can be:
- a checkbox to toggle this feature
- a part for the user to define cache folder path
- a button to generate the pgp key pairs for the user (if the key already exists, the generate button should be disabled and a text should be be added to indicate the existence of a key)
About the encryption part we need to discuss this with some more folks and get their opinion on the best practices, but for now if you can add the tab in the config to address my first two concerns, that would be great.
Thanks for your suggestions. In the near future,I will complete the following needs:
footnote: this 'back-tracking' idea comes from anothor closed-source screenshot application named Snipaste
. However, the Snipaste
only avaliable on windows. Flameshot
is a great app and opensource, so I want the flameshot
has this feature as well. So this pr came up.
@Michaelzhouisnotwhite Thank you for your hard work. I highly appreciate it.
May I suggest going through the code and use a unified naming scheme for this feature? I put a small comment on one of your commits, but now that I went through the whole PR again, I realized that this is potentially a wider concern.
In the code we have these diverse terminologies which are more or less pointing to the same concept
src/config/backtrackingimpl.cpp
src/config/backtrackingimpl.cpp
src/config/backtrackingimpl.cpp
src/config/backtrackingimpl.h
src/widgets/capture/capturewidget.cpp
src/widgets/capture/capturewidget.h
lines 78-81src/utils/capturehistoryutils.cpp
src/utils/CMakeLists.txt
I Understand that they are not all identical, but I suggest trying to unifying the terminology to make the maintenance of the project easier in the future. I believe the "backtrack" is a very fitting name and less confusing comparing to "rollback" or "history", because these pictures (as far as I understand them) are raw PNGs (no annotation, no cropping...).
Anyways, I feel this is a nice PR. Thank you again.
While this PR wouldn't meet the original request in #240, it is related (IMO) and helps address the essence of the problem in that issue - editing screenshots after the capture window is closed.
Usage
use ', ' and '. ' to get history of screenshots:
Details:
My contribution
add a singleton class: CaptureHistoryUtils
history screenshots that user export are saved in
getCachePath() + /cap.his.<selection size> + <datetime>
ScreenShots
https://github.com/flameshot-org/flameshot/assets/52443370/453dc9c6-a1b9-4d1e-ba5a-d607a1a8ce05