Summary: | Spectacle should convert old format string in filename | ||
---|---|---|---|
Product: | [Applications] Spectacle | Reporter: | gudvinr+kde |
Component: | General | Assignee: | Noah Davis <noahadvs> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | jens-bugs.kde.org, kde, kotlet.bahn+KDE, sonichedgehog_hyperblast00 |
Priority: | NOR | ||
Version: | 24.02.1 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/graphics/spectacle/-/commit/ee70c5027f3a4de4c1762c0975ca8a0461b6f4e3 | Version Fixed In: |
Description
gudvinr+kde
2024-03-22 06:28:19 UTC
There was a configuration migration script to automatically convert old format filename templates if your config file was created before 2024-02-28T00:00:00Z (roughly the release date/time of 24.02). I don't think we have a way to get the version we're upgrading from, so we used the age of the config file. I did test the script before release, but it's possible that the script wouldn't have been triggered in some situations, like a config file for version 23.08 created on 2024-02-29. If the configuration migration script didn't work for you, it's probably too late to fix the conversion script in a way that is actually relevant to users who already upgraded to 24.02. Internally, printf was never used (QDateTime was always used), the syntax was just printf-like. Re-adding printf-like syntax would add a lot of complexity to filename template parsing. I don't want to support multiple types of syntax, so this probably isn't going to be done. I also just got bitten by this. How about the conversion script actually checks for the "%" placeholder in the filename template, and runs based on that result, instead of the config file timestamp? I think we should still do this, there may be a number of users who have upgraded but haven't used Spectacle yet, and haven't noticed this bug. (In reply to Noah Davis from comment #1) > I don't want to support multiple types of syntax, so this probably isn't going to be done. There's no need to, simple regex like "/%[a-z][^a-z]?$/gi" should be good enough for detection with simple lookup table to convert. *** Bug 486995 has been marked as a duplicate of this bug. *** Manually setting the filename to "Screenshot_<yyyy><MM><dd>_<hh><mm><ss>" solved the issue for me: I wasn't aware either that it could be customized nor that there was a change to the pattern, my screenshots kept being saved with the name "Screenshot_%Y%M%D_%H%m%S.png" by default. I see mention of an automatic migration script that should have kicked in, which means that at least for me it failed when upgrading from Plasma 5 to 6 yesterday (Manjaro Linux). Fixing that sounds better than supporting two formats and bloating the system unnecessarily: It actually looks more proper the new way, just that it didn't automatically change. The new version just landed in Manjaro stable, and my filename format was not converted. It's very likely that I did change something in Spectacle's config between 28 Feb and the upgrade, but that may well be the case for a lot of users not running KDE neon. Like others suggest, IMO checking for '%' format specifiers _and_ the lack of new-style specifiers would be a better way to detect the need to convert, rather than just config file date. Perhaps the config file itself should be versioned, to simplify this in the future? A possibly relevant merge request was started @ https://invent.kde.org/graphics/spectacle/-/merge_requests/366 Git commit a800768c564e2059c5a1fd8fd00dc7afed0d0dc2 by Noah Davis. Committed on 15/05/2024 at 20:42. Pushed by ndavis into branch 'master'. Always convert old placeholder format to new placeholder format when new format is not used M +3 -5 kconf_update/spectacle-24.02.0-change_placeholder_format.cpp https://invent.kde.org/graphics/spectacle/-/commit/a800768c564e2059c5a1fd8fd00dc7afed0d0dc2 Git commit ee70c5027f3a4de4c1762c0975ca8a0461b6f4e3 by Noah Davis. Committed on 15/05/2024 at 20:47. Pushed by ndavis into branch 'release/24.05'. Always convert old placeholder format to new placeholder format when new format is not used (cherry picked from commit a800768c564e2059c5a1fd8fd00dc7afed0d0dc2) M +3 -5 kconf_update/spectacle-24.02.0-change_placeholder_format.cpp https://invent.kde.org/graphics/spectacle/-/commit/ee70c5027f3a4de4c1762c0975ca8a0461b6f4e3 |