summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--freefilesync/00_allow_parallel_ops.patch13
-rw-r--r--freefilesync/01_no_check_updates.patch16
-rw-r--r--freefilesync/05_traditional_view.patch158
-rw-r--r--freefilesync/debian/_service2
-rw-r--r--freefilesync/debian/changelog20
-rw-r--r--freefilesync/debian/freefilesync+stackrpms.dsc (renamed from freefilesync/debian/freefilesync+devuan.dsc)4
-rw-r--r--freefilesync/debian/patches/ffs_allow_parallel_ops.patch8
-rw-r--r--freefilesync/debian/patches/ffs_desktop_notifications.patch6
-rw-r--r--freefilesync/debian/patches/ffs_devuan.patch6
-rw-r--r--freefilesync/debian/patches/ffs_no_check_updates.patch8
-rw-r--r--freefilesync/debian/patches/ffs_traditional_view.patch60
-rw-r--r--freefilesync/ffs_desktop_notifications.patch8
-rw-r--r--freefilesync/ffs_distro_fedora.patch10
-rw-r--r--freefilesync/freefilesync.spec25
14 files changed, 180 insertions, 164 deletions
diff --git a/freefilesync/00_allow_parallel_ops.patch b/freefilesync/00_allow_parallel_ops.patch
index dfe2c55..eec6cf9 100644
--- a/freefilesync/00_allow_parallel_ops.patch
+++ b/freefilesync/00_allow_parallel_ops.patch
@@ -1,9 +1,10 @@
-Version: 11.22
-Date: 2022-06-26
+Version: 12.0
+Date: 2023-01-23
+Author: bgstack15
Message: The source release appears not to actually include the logic that performs operations in parallel, so this patch doesn't actually do anything.
--- a/FreeFileSync/Source/ui/folder_selector.cpp
+++ b/FreeFileSync/Source/ui/folder_selector.cpp
-@@ -263,7 +263,7 @@ void FolderSelector::onSelectFolder(wxCo
+@@ -272,7 +272,7 @@ void FolderSelector::onSelectFolder(wxCo
void FolderSelector::onSelectAltFolder(wxCommandEvent& event)
{
Zstring folderPathPhrase = getPath();
@@ -14,7 +15,7 @@ Message: The source release appears not to actually include the logic that perfo
return;
--- a/FreeFileSync/Source/ui/small_dlgs.cpp
+++ b/FreeFileSync/Source/ui/small_dlgs.cpp
-@@ -371,11 +371,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p
+@@ -386,11 +386,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p
m_spinCtrlConnectionCount->SetValue(parallelOps);
@@ -33,7 +34,7 @@ Message: The source release appears not to actually include the logic that perfo
//---------------------------------------------------------
//set up default view for dialog size calculation
-@@ -821,7 +824,7 @@ CopyToDialog::CopyToDialog(wxWindow* par
+@@ -943,7 +946,7 @@ CopyToDialog::CopyToDialog(wxWindow* par
targetFolder = std::make_unique<FolderSelector>(this, *this, *m_buttonSelectTargetFolder, *m_bpButtonSelectAltTargetFolder, *m_targetFolderPath,
targetFolderLastSelected, sftpKeyFileLastSelected, nullptr /*staticText*/, nullptr /*wxWindow*/, nullptr /*droppedPathsFilter*/,
@@ -44,7 +45,7 @@ Message: The source release appears not to actually include the logic that perfo
--- a/FreeFileSync/Source/ui/sync_cfg.cpp
+++ b/FreeFileSync/Source/ui/sync_cfg.cpp
-@@ -352,7 +352,7 @@ emailHistoryOut_(emailHistory),
+@@ -461,7 +461,7 @@ emailHistoryOut_(emailHistory),
commandHistoryOut_(commandHistory),
globalPairCfg_(globalPairCfg),
localPairCfg_(localPairCfg),
diff --git a/freefilesync/01_no_check_updates.patch b/freefilesync/01_no_check_updates.patch
index 005f662..97f3238 100644
--- a/freefilesync/01_no_check_updates.patch
+++ b/freefilesync/01_no_check_updates.patch
@@ -1,5 +1,5 @@
-Version: 11.28
-Date: 2022-11-22
+Version: 12.0
+Date: 2023-01-22
Author: bgstack15
Message: This is a major rewrite of the ffs_no_check_updates patch from before 11.10 which disabled only a few technical www interactions. This current version completely deletes all logic associated with checking the version of the program.
--- a/FreeFileSync/Source/ui/gui_generated.cpp
@@ -51,7 +51,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
virtual void onCompSettingsContext( wxCommandEvent& event ) { event.Skip(); }
--- a/FreeFileSync/Source/ui/main_dlg.cpp
+++ b/FreeFileSync/Source/ui/main_dlg.cpp
-@@ -31,7 +31,6 @@
+@@ -30,7 +30,6 @@
#include <wx+/window_tools.h>
#include <wx+/image_resources.h>
#include "cfg_grid.h"
@@ -59,7 +59,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
#include "gui_status_handler.h"
#include "small_dlgs.h"
#include "progress_indicator.h"
-@@ -830,7 +829,6 @@ imgFileManagerSmall_([]
+@@ -834,7 +833,6 @@ imgFileManagerSmall_([]
setImage(*m_menuItemHelp, loadImage("help_sicon"));
setImage(*m_menuItemAbout, loadImage("about_sicon"));
@@ -67,7 +67,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
fixMenuIcons(*m_menuFile);
fixMenuIcons(*m_menuActions);
-@@ -930,9 +928,6 @@ imgFileManagerSmall_([]
+@@ -934,9 +932,6 @@ imgFileManagerSmall_([]
//mainly to update row label sizes...
updateGui();
@@ -86,7 +86,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
auiMgr_.Update();
}
-@@ -5831,72 +5824,6 @@ void MainDialog::onMenuExportFileList(wx
+@@ -5839,72 +5832,6 @@ void MainDialog::onMenuExportFileList(wx
}
}
@@ -219,7 +219,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
- showNotificationDialog(&parent, DialogInfoType::info, PopupDialogCfg().
- setIcon(loadImage("update_check")).
- setTitle(_("Check for Program Updates")).
-- setMainInstructions(_("FreeFileSync is up to date.")));
+- setMainInstructions(_("FreeFileSync is up-to-date.")));
- }
- catch (const SysError& e)
- {
@@ -281,8 +281,8 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
cppFiles+=ui/triple_splitter.cpp
-cppFiles+=ui/version_check.cpp
cppFiles+=../../libcurl/curl_wrap.cpp
+ cppFiles+=../../zen/argon2.cpp
cppFiles+=../../zen/file_access.cpp
- cppFiles+=../../zen/file_io.cpp
--- a/FreeFileSync/Source/ui/small_dlgs.cpp
+++ b/FreeFileSync/Source/ui/small_dlgs.cpp
@@ -26,7 +26,6 @@
diff --git a/freefilesync/05_traditional_view.patch b/freefilesync/05_traditional_view.patch
index 2c7ab23..bea475f 100644
--- a/freefilesync/05_traditional_view.patch
+++ b/freefilesync/05_traditional_view.patch
@@ -1,22 +1,21 @@
-Version: 11.22
-Date: 2022-06-26
+Version: 12.0
+Date: 2023-01-23
Author: bgstack15@gmail.com
Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVersion" About dialog
-diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.3-1/FreeFileSync/Source/ui/file_grid.cpp
---- 11.21-0/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 17:09:32.242809600 -0400
-+++ 11.21-1/FreeFileSync/Source/ui/file_grid.cpp 2022-05-22 20:23:04.015916689 -0400
-@@ -475,8 +475,10 @@
- case ItemPathFormat::name:
- return utfTo<std::wstring>(fsObj->getItemName<side>());
- case ItemPathFormat::relative:
-+ case ItemPathFormat::tradrel:
- return utfTo<std::wstring>(fsObj->getRelativePath<side>());
- case ItemPathFormat::full:
-+ case ItemPathFormat::traditional:
- return AFS::getDisplayPath(fsObj->getAbstractPath<side>());
- }
- assert(false);
-@@ -529,8 +531,13 @@
+--- a/FreeFileSync/Source/ui/file_grid.cpp
++++ b/FreeFileSync/Source/ui/file_grid.cpp
+@@ -473,8 +473,10 @@ private:
+ case ItemPathFormat::name:
+ return utfTo<std::wstring>(fsObj->getItemName<side>());
+ case ItemPathFormat::relative:
++ case ItemPathFormat::tradrel:
+ return utfTo<std::wstring>(fsObj->getRelativePath<side>());
+ case ItemPathFormat::full:
++ case ItemPathFormat::traditional:
+ return AFS::getDisplayPath(fsObj->getAbstractPath<side>());
+ }
+
+@@ -534,8 +536,13 @@ private:
else
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
@@ -31,7 +30,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
}
-@@ -636,6 +643,26 @@
+@@ -641,6 +648,26 @@ private:
else //=> BaseFolderPair
groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>());
break;
@@ -58,7 +57,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
}
//path components should follow the app layout direction and are NOT a single piece of text!
-@@ -661,11 +688,38 @@
+@@ -666,11 +693,38 @@ private:
int groupNameWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + getTextExtentBuffered(dc, groupName).x);
const int groupNameMinWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + ellipsisWidth);
@@ -74,7 +73,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
int groupItemsWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + groupItemNamesWidth;
const int groupItemsMinWidth = groupSepWidth + (drawFileIcons ? gapSize_ + iconSize : 0) + gapSize_ + ellipsisWidth;
-+ // start trad patch
++ // start trad patch
+
+ // rearrange this one section
+ switch (itemPathFormat_)
@@ -98,19 +97,19 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
//not enough space? => collapse
if (int excessWidth = groupParentWidth + groupNameWidth + groupItemsWidth - maxWidth;
excessWidth > 0)
-@@ -731,6 +785,11 @@
- }
+@@ -737,6 +791,11 @@ private:
}
}
-+
+
+ // end of original section, and back to the trad patch!
+ break;
+ }
+ // and end the addition for trad patch
-
++
return
{
-@@ -851,6 +910,9 @@
+ itemName,
+@@ -877,6 +936,9 @@ private:
rectGroup = rectGroupParent = rectGroupName = rectTmp;
rectGroupParent.width = groupParentWidth;
@@ -120,7 +119,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
rectGroupName .width = groupNameWidth;
if (stackedGroupRender)
-@@ -874,6 +936,11 @@
+@@ -900,6 +962,11 @@ private:
rectGroupItems.width = 0;
}
@@ -132,33 +131,37 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
//-------------------------------------------------------------------------
{
//clear background below parent path => harmonize with renderRowBackgound()
-@@ -884,8 +951,8 @@
+@@ -910,8 +977,9 @@ private:
wxRect rectGroupBack = rectGroup;
rectGroupBack.width += 2 * gapSize_; //include gap before vline
- if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
- rectGroupBack.height -= fastFromDIP(1);
+ if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
++ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel)
+ rectGroupBack.height -= lineWidth;
clearArea(dc, rectGroupBack, getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 == 0));
//clearArea() is surprisingly expensive => call just once!
-@@ -900,7 +967,8 @@
- rectNav.width = fastFromDIP(20);
-
- if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
-- rectNav.height -= fastFromDIP(1);
-+ if (itemPathFormat_ != ItemPathFormat::traditional && itemPathFormat_ != ItemPathFormat::tradrel)
-+ rectNav.height -= lineWidth;
+@@ -919,9 +987,9 @@ private:
+ //accessibility: always set *both* foreground AND background colors!
+ }
- wxColor backCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
- dc.GetPixel(rectNav.GetTopRight(), &backCol); //e.g. selected row!
-@@ -908,13 +976,13 @@
- dc.GradientFillLinear(rectNav, getColorSelectionGradientFrom(), backCol, wxEAST);
- }
+- if (!groupParentFolder.empty() &&
++ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel || (!groupParentFolder.empty() &&
+ (( stackedGroupRender && row == groupFirstRow + 1) ||
+- (!stackedGroupRender && row == groupFirstRow)) &&
++ (!stackedGroupRender && row == groupFirstRow))) &&
+ (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) //don't show for missing folders
+ {
+ tryDrawNavMarker(rectGroupParent);
+@@ -933,14 +1001,14 @@ private:
+ drawCellText(dc, rectGroupParentText, groupParentFolder, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupParentFolder));
+ }
-- if (!groupName.empty() && row == groupFirstRow)
-+ if (!(itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) && !groupName.empty() && row == groupFirstRow)
+- if (!groupName.empty() &&
++ if (!(itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel) && !groupName.empty() &&
+ row == groupFirstRow)
{
wxRect rectGroupNameBack = rectGroupName;
@@ -169,19 +172,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
wxDCTextColourChanger textColorGroupName(dc);
//folder background: coordinate with renderRowBackgound()
-@@ -947,9 +1015,9 @@
- drawCellText(dc, rectGroupName, groupName, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupName));
- }
-
-- if (!groupParentFolder.empty() &&
-+ if (itemPathFormat_ == ItemPathFormat::traditional || itemPathFormat_ == ItemPathFormat::tradrel || (!groupParentFolder.empty() &&
- (( stackedGroupRender && row == groupFirstRow + 1) ||
-- (!stackedGroupRender && row == groupFirstRow)) &&
-+ (!stackedGroupRender && row == groupFirstRow))) &&
- (groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) //don't show for missing folders
- {
- wxRect rectGroupParentText = rectGroupParent;
-@@ -969,16 +1037,16 @@
+@@ -984,16 +1052,16 @@ private:
rectGroupItems.x += 2 * gapSize_;
rectGroupItems.width -= 2 * gapSize_;
@@ -201,8 +192,8 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
+ rectItemsBack.height -= lineWidth; //preserve item separation lines!
drawCudHighlight(rectItemsBack, pdi.fsObj->getSyncOperation());
-
-@@ -1105,7 +1173,12 @@
+ tryDrawNavMarker(rectGroupItems);
+@@ -1124,7 +1192,12 @@ private:
groupNameWidth] = getGroupRenderLayout(dc, row, pdi, insanelyHugeWidth);
assert(!stackedGroupRender);
@@ -216,7 +207,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
const int fileIconWidth = getIconManager().getIconBuffer() ? gapSize_ + getIconManager().getIconSize() : 0;
const int ellipsisWidth = getTextExtentBuffered(dc, ELLIPSIS).x;
const int itemWidth = itemName.empty() ? 0 :
-@@ -1137,6 +1210,10 @@
+@@ -1156,6 +1229,10 @@ private:
return _("Relative path");
case ItemPathFormat::full:
return _("Full path");
@@ -227,7 +218,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
}
assert(false);
break;
-@@ -1393,7 +1470,8 @@
+@@ -1413,7 +1490,8 @@ private:
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
//----------------------------------------------------------------------------------
@@ -237,7 +228,7 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
}
-@@ -1417,7 +1495,8 @@
+@@ -1437,7 +1515,8 @@ private:
{
wxRect rectBack = rect;
if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
@@ -247,10 +238,9 @@ diff -x '*.orig' -x '*.rej' -aur 11.3-0/FreeFileSync/Source/ui/file_grid.cpp 11.
clearArea(dc, rectBack, col);
}
-diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_grid_attr.h 11.2-1-trad3/FreeFileSync/Source/ui/file_grid_attr.h
---- 11.2-1/FreeFileSync/Source/ui/file_grid_attr.h 2020-10-02 14:39:05.313463564 -0400
-+++ 11.2-1-trad3/FreeFileSync/Source/ui/file_grid_attr.h 2020-10-02 20:21:48.863111642 -0400
-@@ -79,6 +79,8 @@
+--- a/FreeFileSync/Source/ui/file_grid_attr.h
++++ b/FreeFileSync/Source/ui/file_grid_attr.h
+@@ -79,6 +79,8 @@ enum class ItemPathFormat
name,
relative,
full,
@@ -259,10 +249,17 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_g
};
const ItemPathFormat defaultItemPathFormatLeftGrid = ItemPathFormat::relative;
-diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/main_dlg.cpp 11.2-1-trad3/FreeFileSync/Source/ui/main_dlg.cpp
---- 11.2-1/FreeFileSync/Source/ui/main_dlg.cpp 2020-10-02 20:49:11.487782099 -0400
-+++ 11.21-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-05-22 20:26:31.350461792 -0400
-@@ -2741,6 +2741,8 @@
+--- a/FreeFileSync/Source/ui/main_dlg.cpp
++++ b/FreeFileSync/Source/ui/main_dlg.cpp
+@@ -439,7 +439,6 @@ void MainDialog::create(const Zstring& g
+ if (mainDlg->globalCfg_.welcomeDialogLastVersion != ffsVersion)
+ {
+ mainDlg->globalCfg_.welcomeDialogLastVersion = ffsVersion;
+- showAboutDialog(mainDlg);
+ }
+
+
+@@ -2765,6 +2764,8 @@ void MainDialog::onGridLabelContextRim(G
addFormatEntry(_("Item name" ), ItemPathFormat::name);
addFormatEntry(_("Relative path"), ItemPathFormat::relative);
addFormatEntry(_("Full path" ), ItemPathFormat::full);
@@ -271,10 +268,9 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/main_d
//----------------------------------------------------------------------------------------------
auto setIconSize = [&](GridIconSize sz, bool showIcons)
-diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/config.cpp 11.2-1-trad3/FreeFileSync/Source/config.cpp
---- 11.2-1/FreeFileSync/Source/config.cpp 2020-10-02 14:39:05.233462578 -0400
-+++ 11.2-1-trad3/FreeFileSync/Source/config.cpp 2020-10-02 20:22:24.275555557 -0400
-@@ -528,6 +528,12 @@
+--- a/FreeFileSync/Source/config.cpp
++++ b/FreeFileSync/Source/config.cpp
+@@ -494,6 +494,12 @@ void writeText(const ItemPathFormat& val
case ItemPathFormat::full:
output = "Full";
break;
@@ -287,7 +283,7 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/config.cp
}
}
-@@ -541,6 +547,10 @@
+@@ -507,6 +513,10 @@ bool readText(const std::string& input,
value = ItemPathFormat::relative;
else if (tmp == "Full")
value = ItemPathFormat::full;
@@ -298,10 +294,9 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/config.cp
else
return false;
return true;
-diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_view.cpp 11.2-1-trad3/FreeFileSync/Source/ui/file_view.cpp
---- 11.2-1/FreeFileSync/Source/ui/file_view.cpp 2020-10-02 14:39:05.305463465 -0400
-+++ 11.2-1-trad3/FreeFileSync/Source/ui/file_view.cpp 2020-10-02 20:22:38.439733112 -0400
-@@ -798,11 +798,13 @@
+--- a/FreeFileSync/Source/ui/file_view.cpp
++++ b/FreeFileSync/Source/ui/file_view.cpp
+@@ -798,11 +798,13 @@ void FileView::sortView(ColumnTypeRim ty
break;
case ItemPathFormat::relative:
@@ -315,14 +310,3 @@ diff -x '.git*' -x '*.orig' -x '*.rej' -aur 11.2-1/FreeFileSync/Source/ui/file_v
if ( ascending && onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<true, SelectSide::left>(folderPairs_));
else if ( ascending && !onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<true, SelectSide::right>(folderPairs_));
else if (!ascending && onLeft) std::sort(sortedRef_.begin(), sortedRef_.end(), LessFullPath<false, SelectSide::left>(folderPairs_));
-diff -aur 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp
---- 11.22-0/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 12:01:15.634291415 -0400
-+++ 11.22-1/FreeFileSync/Source/ui/main_dlg.cpp 2022-06-26 15:39:46.313320272 -0400
-@@ -436,7 +436,6 @@
- if (mainDlg->globalCfg_.welcomeShownVersion != ffsVersion)
- {
- mainDlg->globalCfg_.welcomeShownVersion = ffsVersion;
-- showAboutDialog(mainDlg);
- }
-
-
diff --git a/freefilesync/debian/_service b/freefilesync/debian/_service
index cab1830..4fa92de 100644
--- a/freefilesync/debian/_service
+++ b/freefilesync/debian/_service
@@ -14,7 +14,7 @@
<service name="tar_scm">
<param name="scm">git</param>
<param name="url">https://gitlab.com/opensource-tracking/FreeFileSync.git</param>
- <param name="revision">12.0</param>
+ <param name="revision">12.1</param>
<param name="version">_none_</param>
</service>
<service name="recompress">
diff --git a/freefilesync/debian/changelog b/freefilesync/debian/changelog
index 8a92145..cd16dc2 100644
--- a/freefilesync/debian/changelog
+++ b/freefilesync/debian/changelog
@@ -1,3 +1,23 @@
+freefilesync (12.1-100+stackrpms) obs; urgency=low
+
+ * Upstream updates
+ * First official build based on GTK3 (Linux)
+ * Allow cancel during folder path normalization (e.g. delay during HDD
+ spin up)
+ * Fixed slow FTP comparison performance due to libcurl regression
+ * Open terminal with log messages on startup error (Linux)
+ * Preserve changed config during auto-update
+ * Save config during unexpected reboot (Linux)
+ * Preserve config upon SIGTERM (Linux, macOS)
+ * Fixed progress dialog z-order after switching windows (macOS)
+ * Removed packet size limit for SFTP directory reading
+ * Mouse hover effects for config and overview grid
+ * Always update existing shortcuts during installation (Windows, Linux)
+ * Fixed another "Some files will be synchronized as part of multiple
+ base folders" false-negative
+
+ -- B. Stack <bgstack15@gmail.com> Tue, 21 Feb 2023 12:22:27 -0500
+
freefilesync (12.0-100+stackrpms) obs; urgency=low
* Upstream updates
diff --git a/freefilesync/debian/freefilesync+devuan.dsc b/freefilesync/debian/freefilesync+stackrpms.dsc
index 1bdcbe0..f8e6e36 100644
--- a/freefilesync/debian/freefilesync+devuan.dsc
+++ b/freefilesync/debian/freefilesync+stackrpms.dsc
@@ -2,7 +2,7 @@ Format: 3.0 (quilt)
Source: freefilesync
Binary: freefilesync
Architecture: any
-Version: 12.0-100+stackrpms
+Version: 12.1-100+stackrpms
Maintainer: B. Stack <bgstack15@gmail.com>
Homepage: https://freefilesync.org/
Standards-Version: 4.1.4
@@ -11,4 +11,4 @@ Package-List:
freefilesync deb utils optional arch=any
Files:
00000000000000000000000000000000 1 freefilesync.orig.tar.gz
- 00000000000000000000000000000000 1 freefilesync+devuan.debian.tar.xz
+ 00000000000000000000000000000000 1 freefilesync+stackrpms.debian.tar.xz
diff --git a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
index c102480..41434f3 100644
--- a/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
+++ b/freefilesync/debian/patches/ffs_allow_parallel_ops.patch
@@ -1,5 +1,5 @@
-Version: 12.0
-Date: 2023-01-23
+Version: 12.1
+Date: 2023-02-21
Author: bgstack15
Message: The source release appears not to actually include the logic that performs operations in parallel, so this patch doesn't actually do anything.
--- a/FreeFileSync/Source/ui/folder_selector.cpp
@@ -15,7 +15,7 @@ Message: The source release appears not to actually include the logic that perfo
return;
--- a/FreeFileSync/Source/ui/small_dlgs.cpp
+++ b/FreeFileSync/Source/ui/small_dlgs.cpp
-@@ -379,11 +379,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p
+@@ -386,11 +386,14 @@ CloudSetupDlg::CloudSetupDlg(wxWindow* p
m_spinCtrlConnectionCount->SetValue(parallelOps);
@@ -34,7 +34,7 @@ Message: The source release appears not to actually include the logic that perfo
//---------------------------------------------------------
//set up default view for dialog size calculation
-@@ -932,7 +935,7 @@ CopyToDialog::CopyToDialog(wxWindow* par
+@@ -943,7 +946,7 @@ CopyToDialog::CopyToDialog(wxWindow* par
targetFolder = std::make_unique<FolderSelector>(this, *this, *m_buttonSelectTargetFolder, *m_bpButtonSelectAltTargetFolder, *m_targetFolderPath,
targetFolderLastSelected, sftpKeyFileLastSelected, nullptr /*staticText*/, nullptr /*wxWindow*/, nullptr /*droppedPathsFilter*/,
diff --git a/freefilesync/debian/patches/ffs_desktop_notifications.patch b/freefilesync/debian/patches/ffs_desktop_notifications.patch
index 4dec781..b660044 100644
--- a/freefilesync/debian/patches/ffs_desktop_notifications.patch
+++ b/freefilesync/debian/patches/ffs_desktop_notifications.patch
@@ -1,5 +1,5 @@
-Version: 12.0
-Date: 2023-01-23
+Version: 12.1
+Date: 2023-02-21
Author: bgstack15
Message: Add support for building with desktop notification support.
--- a/FreeFileSync/Source/Makefile
@@ -30,7 +30,7 @@ Message: Add support for building with desktop notification support.
using namespace zen;
using namespace fff;
-@@ -1369,6 +1372,22 @@ void SyncProgressDialogImpl<TopLevelDial
+@@ -1368,6 +1371,22 @@ void SyncProgressDialogImpl<TopLevelDial
pnl_.m_staticTextPhase->SetLabelText(getSyncResultLabel(syncResult));
//pnl_.m_bitmapStatus->SetToolTip(); -> redundant
diff --git a/freefilesync/debian/patches/ffs_devuan.patch b/freefilesync/debian/patches/ffs_devuan.patch
index 6db7b9d..a24c41e 100644
--- a/freefilesync/debian/patches/ffs_devuan.patch
+++ b/freefilesync/debian/patches/ffs_devuan.patch
@@ -1,7 +1,7 @@
Author: bgstack15
Source: Original research
-Last-Modified: 2022-09-07
-Last-Version: 11.25
+Last-Modified: 2023-02-21
+Last-Version: 12.1
Message: Main patch to compile on Devuan.
--- a/FreeFileSync/Source/ffs_paths.cpp
+++ b/FreeFileSync/Source/ffs_paths.cpp
@@ -55,7 +55,7 @@ Message: Main patch to compile on Devuan.
//--------------------------------------------------------------------------
//have animal + text match *final* dialog width
-@@ -149,7 +151,7 @@ AboutDlg::AboutDlg(wxWindow* parent) : A
+@@ -153,7 +155,7 @@ AboutDlg::AboutDlg(wxWindow* parent) : A
const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 /* grey border*/) / 2;
const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 - imageWidth;
diff --git a/freefilesync/debian/patches/ffs_no_check_updates.patch b/freefilesync/debian/patches/ffs_no_check_updates.patch
index 6fd0fc2..88806ca 100644
--- a/freefilesync/debian/patches/ffs_no_check_updates.patch
+++ b/freefilesync/debian/patches/ffs_no_check_updates.patch
@@ -1,5 +1,5 @@
-Version: 12.0
-Date: 2023-01-22
+Version: 12.1
+Date: 2023-02-21
Author: bgstack15
Message: This is a major rewrite of the ffs_no_check_updates patch from before 11.10 which disabled only a few technical www interactions. This current version completely deletes all logic associated with checking the version of the program.
--- a/FreeFileSync/Source/ui/gui_generated.cpp
@@ -77,7 +77,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
//asynchronous call to wxWindow::Layout(): fix superfluous frame on right and bottom when FFS is started in fullscreen mode
Bind(wxEVT_IDLE, &MainDialog::onLayoutWindowAsync, this);
wxCommandEvent evtDummy; //call once before onLayoutWindowAsync()
-@@ -1130,8 +1125,6 @@ void MainDialog::setGlobalCfgOnInit(cons
+@@ -1126,8 +1121,6 @@ void MainDialog::setGlobalCfgOnInit(cons
auiMgr_.GetPane(m_panelSearch).Hide(); //no need to show it on startup
auiMgr_.GetPane(m_panelLog ).Hide(); //
@@ -86,7 +86,7 @@ Message: This is a major rewrite of the ffs_no_check_updates patch from before 1
auiMgr_.Update();
}
-@@ -5848,72 +5841,6 @@ void MainDialog::onMenuExportFileList(wx
+@@ -5839,72 +5832,6 @@ void MainDialog::onMenuExportFileList(wx
}
}
diff --git a/freefilesync/debian/patches/ffs_traditional_view.patch b/freefilesync/debian/patches/ffs_traditional_view.patch
index 7601b8a..e24afd0 100644
--- a/freefilesync/debian/patches/ffs_traditional_view.patch
+++ b/freefilesync/debian/patches/ffs_traditional_view.patch
@@ -1,21 +1,21 @@
-Version: 12.0
-Date: 2023-01-23
+Version: 12.1
+Date: 2023-02-21
Author: bgstack15@gmail.com
Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVersion" About dialog
--- a/FreeFileSync/Source/ui/file_grid.cpp
+++ b/FreeFileSync/Source/ui/file_grid.cpp
-@@ -475,8 +475,10 @@ private:
- case ItemPathFormat::name:
- return utfTo<std::wstring>(fsObj->getItemName<side>());
- case ItemPathFormat::relative:
-+ case ItemPathFormat::tradrel:
- return utfTo<std::wstring>(fsObj->getRelativePath<side>());
- case ItemPathFormat::full:
-+ case ItemPathFormat::traditional:
- return AFS::getDisplayPath(fsObj->getAbstractPath<side>());
- }
- assert(false);
-@@ -529,8 +531,13 @@ private:
+@@ -473,8 +473,10 @@ private:
+ case ItemPathFormat::name:
+ return utfTo<std::wstring>(fsObj->getItemName<side>());
+ case ItemPathFormat::relative:
++ case ItemPathFormat::tradrel:
+ return utfTo<std::wstring>(fsObj->getRelativePath<side>());
+ case ItemPathFormat::full:
++ case ItemPathFormat::traditional:
+ return AFS::getDisplayPath(fsObj->getAbstractPath<side>());
+ }
+
+@@ -534,8 +536,13 @@ private:
else
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
@@ -30,7 +30,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
}
-@@ -636,6 +643,26 @@ private:
+@@ -641,6 +648,26 @@ private:
else //=> BaseFolderPair
groupParentFolder = AFS::getDisplayPath(pdi.fsObj->base().getAbstractPath<side>());
break;
@@ -57,7 +57,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
}
//path components should follow the app layout direction and are NOT a single piece of text!
-@@ -661,11 +688,38 @@ private:
+@@ -666,11 +693,38 @@ private:
int groupNameWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + getTextExtentBuffered(dc, groupName).x);
const int groupNameMinWidth = groupName.empty() ? 0 : (gapSize_ + iconSize + gapSize_ + ellipsisWidth);
@@ -97,7 +97,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
//not enough space? => collapse
if (int excessWidth = groupParentWidth + groupNameWidth + groupItemsWidth - maxWidth;
excessWidth > 0)
-@@ -732,6 +786,11 @@ private:
+@@ -737,6 +791,11 @@ private:
}
}
@@ -109,7 +109,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
return
{
itemName,
-@@ -872,6 +931,9 @@ private:
+@@ -877,6 +936,9 @@ private:
rectGroup = rectGroupParent = rectGroupName = rectTmp;
rectGroupParent.width = groupParentWidth;
@@ -119,7 +119,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
rectGroupName .width = groupNameWidth;
if (stackedGroupRender)
-@@ -895,6 +957,11 @@ private:
+@@ -900,6 +962,11 @@ private:
rectGroupItems.width = 0;
}
@@ -131,7 +131,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
//-------------------------------------------------------------------------
{
//clear background below parent path => harmonize with renderRowBackgound()
-@@ -905,8 +972,9 @@ private:
+@@ -910,8 +977,9 @@ private:
wxRect rectGroupBack = rectGroup;
rectGroupBack.width += 2 * gapSize_; //include gap before vline
@@ -143,7 +143,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
clearArea(dc, rectGroupBack, getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 == 0));
//clearArea() is surprisingly expensive => call just once!
-@@ -914,9 +982,9 @@ private:
+@@ -919,9 +987,9 @@ private:
//accessibility: always set *both* foreground AND background colors!
}
@@ -155,7 +155,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
(groupName.empty() || !pdi.folderGroupObj->isEmpty<side>())) //don't show for missing folders
{
tryDrawNavMarker(rectGroupParent);
-@@ -928,14 +996,14 @@ private:
+@@ -933,14 +1001,14 @@ private:
drawCellText(dc, rectGroupParentText, groupParentFolder, wxALIGN_LEFT | wxALIGN_CENTER_VERTICAL, &getTextExtentBuffered(dc, groupParentFolder));
}
@@ -172,7 +172,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
wxDCTextColourChanger textColorGroupName(dc);
//folder background: coordinate with renderRowBackgound()
-@@ -979,16 +1047,16 @@ private:
+@@ -984,16 +1052,16 @@ private:
rectGroupItems.x += 2 * gapSize_;
rectGroupItems.width -= 2 * gapSize_;
@@ -193,7 +193,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
drawCudHighlight(rectItemsBack, pdi.fsObj->getSyncOperation());
tryDrawNavMarker(rectGroupItems);
-@@ -1119,7 +1187,12 @@ private:
+@@ -1124,7 +1192,12 @@ private:
groupNameWidth] = getGroupRenderLayout(dc, row, pdi, insanelyHugeWidth);
assert(!stackedGroupRender);
@@ -207,7 +207,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
const int fileIconWidth = getIconManager().getIconBuffer() ? gapSize_ + getIconManager().getIconSize() : 0;
const int ellipsisWidth = getTextExtentBuffered(dc, ELLIPSIS).x;
const int itemWidth = itemName.empty() ? 0 :
-@@ -1151,6 +1224,10 @@ private:
+@@ -1156,6 +1229,10 @@ private:
return _("Relative path");
case ItemPathFormat::full:
return _("Full path");
@@ -218,7 +218,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
}
assert(false);
break;
-@@ -1408,7 +1485,8 @@ private:
+@@ -1413,7 +1490,8 @@ private:
GridData::renderRowBackgound(dc, rect, row, true /*enabled*/, true /*selected*/, rowHover);
//----------------------------------------------------------------------------------
@@ -228,7 +228,7 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
clearArea(dc, rectLine, row == pdi.groupLastRow - 1 /*last group item*/ ?
getColorGridLine() : getDefaultBackgroundColorAlternating(pdi.groupIdx % 2 != 0));
}
-@@ -1432,7 +1510,8 @@ private:
+@@ -1437,7 +1515,8 @@ private:
{
wxRect rectBack = rect;
if (row == pdi.groupLastRow - 1 /*last group item*/) //preserve the group separation line!
@@ -252,14 +252,14 @@ Message: restore a traditional view to FreeFileSync, and disable "welcomeShownVe
--- a/FreeFileSync/Source/ui/main_dlg.cpp
+++ b/FreeFileSync/Source/ui/main_dlg.cpp
@@ -439,7 +439,6 @@ void MainDialog::create(const Zstring& g
- if (mainDlg->globalCfg_.welcomeShownVersion != ffsVersion)
+ if (mainDlg->globalCfg_.welcomeDialogLastVersion != ffsVersion)
{
- mainDlg->globalCfg_.welcomeShownVersion = ffsVersion;
+ mainDlg->globalCfg_.welcomeDialogLastVersion = ffsVersion;
- showAboutDialog(mainDlg);
}
-@@ -2773,6 +2772,8 @@ void MainDialog::onGridLabelContextRim(G
+@@ -2765,6 +2764,8 @@ void MainDialog::onGridLabelContextRim(G
addFormatEntry(_("Item name" ), ItemPathFormat::name);
addFormatEntry(_("Relative path"), ItemPathFormat::relative);
addFormatEntry(_("Full path" ), ItemPathFormat::full);
diff --git a/freefilesync/ffs_desktop_notifications.patch b/freefilesync/ffs_desktop_notifications.patch
index 5989a9c..5ca971b 100644
--- a/freefilesync/ffs_desktop_notifications.patch
+++ b/freefilesync/ffs_desktop_notifications.patch
@@ -1,5 +1,5 @@
-Version: 11.25
-Date: 2022-09-14
+Version: 12.0
+Date: 2023-01-23
Author: bgstack15
Message: Add support for building with desktop notification support.
--- a/FreeFileSync/Source/Makefile
@@ -20,7 +20,7 @@ Message: Add support for building with desktop notification support.
ifeq ($(SELINUX_EXISTING),YES)
--- a/FreeFileSync/Source/ui/progress_indicator.cpp
+++ b/FreeFileSync/Source/ui/progress_indicator.cpp
-@@ -31,6 +31,9 @@
+@@ -30,6 +30,9 @@
#include "../icon_buffer.h"
#include "../base/speed_test.h"
@@ -30,7 +30,7 @@ Message: Add support for building with desktop notification support.
using namespace zen;
using namespace fff;
-@@ -1377,6 +1380,22 @@ void SyncProgressDialogImpl<TopLevelDial
+@@ -1368,6 +1371,22 @@ void SyncProgressDialogImpl<TopLevelDial
pnl_.m_staticTextPhase->SetLabelText(getSyncResultLabel(syncResult));
//pnl_.m_bitmapStatus->SetToolTip(); -> redundant
diff --git a/freefilesync/ffs_distro_fedora.patch b/freefilesync/ffs_distro_fedora.patch
index 78502ab..6a49f21 100644
--- a/freefilesync/ffs_distro_fedora.patch
+++ b/freefilesync/ffs_distro_fedora.patch
@@ -99,12 +99,12 @@ Message: some random sloppiness with a missing graphical asset. It's not importa
//--------------------------------------------------------------------------
//have animal + text match *final* dialog width
-@@ -152,7 +152,7 @@
- const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 /* grey border*/) / 2;
- const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - imageWidth;
+@@ -152,8 +154,6 @@
+ const int imageWidth = (m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 /* grey border*/) / 2;
+ const int textWidth = m_panelDonate->GetSize().GetWidth() - 5 - 5 - 5 - imageWidth;
- setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/));
-+ //setImage(*m_bitmapAnimalSmall, shrinkImage(animalImg, imageWidth, -1 /*maxHeight*/));
-
+-
m_staticTextDonate->Show();
m_staticTextDonate->Wrap(textWidth - 10 /*left gap*/); //wrap *after* changing font size
+ }
diff --git a/freefilesync/freefilesync.spec b/freefilesync/freefilesync.spec
index c46312f..ce9bebe 100644
--- a/freefilesync/freefilesync.spec
+++ b/freefilesync/freefilesync.spec
@@ -36,7 +36,7 @@
%undefine _package_note_file
%endif
Name: freefilesync
-Version: 11.25
+Version: 12.1
Release: 1%{?dist}
Summary: A file synchronization utility
@@ -52,9 +52,11 @@ Source3: %{name}.xml
# all rpm distros use these
Patch0: 00_allow_parallel_ops.patch
Patch1: 01_no_check_updates.patch
-Patch2: 02_no_wx311.patch
+# fc37 has wxGTK which uses wx 3.2
+#Patch2: 02_no_wx311.patch
Patch3: 03_sftp.patch
-Patch4: 04_revert_zenju_aggressive_upstreamisms.patch
+# fc37 this is more wx < 3.2 patches which are no longer necessary
+#Patch4: 04_revert_zenju_aggressive_upstreamisms.patch
Patch5: 05_traditional_view.patch
Patch6: 06_icon_loader.patch
Patch7: 07_libssh2.patch
@@ -75,7 +77,7 @@ Patch72: ffs_libcurl_7.79.1.patch
Packager: B. Stack <bgstack15@gmail.com>
BuildRequires: brotli-devel
-BuildRequires: wxGTK3-devel
+BuildRequires: wxGTK-devel
BuildRequires: desktop-file-utils
BuildRequires: gcc-c++
BuildRequires: ImageMagick
@@ -91,7 +93,7 @@ BuildRequires: %{libssh2_name}-devel
%endif
BuildRequires: patch
BuildRequires: pkgconfig(giomm-2.4)
-BuildRequires: pkgconfig(gtk+-2.0)
+BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(libselinux)
BuildRequires: pkgconfig(zlib)
# We need the binary so we can check version number
@@ -126,9 +128,9 @@ find . ! -type d \( -name '*.c' -o -name '*.cpp' -o -name '*.h' \) \
-exec %{__sed} -i -r -e 's/\r$//' {} +
%patch0 -p1
%patch1 -p1
-%patch2 -p1
+#%patch2 -p1
%patch3 -p1
-%patch4 -p1
+#%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
@@ -174,6 +176,10 @@ case "%{libcurl_ver}" in
7.79.1)
%patch72 -p1
;;
+ 7.85.0 | 7.87.0 | 7.88.1 )
+ # fc37 | fc38 | rawhide
+ echo "no patch necessary for libcurl %{libcurl_ver}"
+ ;;
*)
%patch71 -p1
;;
@@ -269,6 +275,11 @@ update-mime-database -n ${_datadir}/mime 1>/dev/null 2>&1 & :
%ghost %config %attr(666, -, -) %{_datadir}/%{name}/GlobalSettings.xml
%changelog
+* Tue Feb 21 2023 B. Stack <bgstack15@gmail.com> - 12.1-1
+- version bump
+- use wxGTK (which provides version 3.2)
+- use GTK3 because upstream uses it now too
+
* Wed Sep 07 2022 B. Stack <bgstack15@gmail.com> - 11.25-1
- version bump
bgstack15