diff -Nru keepass2-2.35+dfsg/Build/PrepMonoDev.sh keepass2-2.36+dfsg/Build/PrepMonoDev.sh
--- keepass2-2.35+dfsg/Build/PrepMonoDev.sh 2015-11-08 18:25:36.000000000 +0000
+++ keepass2-2.36+dfsg/Build/PrepMonoDev.sh 2017-03-13 11:44:16.000000000 +0000
@@ -1,15 +1,62 @@
-cp -f ../Ext/Icons_04_CB/Finals2/plockb.ico ../KeePass/KeePass.ico
-cp -f ../Ext/Icons_04_CB/Finals2/plockb.ico ../KeePass/Resources/Images/KeePass.ico
+#!/bin/sh
-sed 's!true!false!g' ../KeePass/KeePass.csproj > ../KeePass/KeePass.csproj.new
-sed 's! ToolsVersion="3.5"!!g' ../KeePass/KeePass.csproj.new > ../KeePass/KeePass.csproj.new2
-cat ../KeePass/KeePass.csproj.new2 | grep -v 'sgen\.exe' > ../KeePass/KeePass.csproj
-rm -f ../KeePass/KeePass.csproj.new2
-rm -f ../KeePass/KeePass.csproj.new
-
-sed 's!true!false!g' ../KeePassLib/KeePassLib.csproj > ../KeePassLib/KeePassLib.csproj.new
-sed 's! ToolsVersion="3.5"!!g' ../KeePassLib/KeePassLib.csproj.new > ../KeePassLib/KeePassLib.csproj
-rm -f ../KeePassLib/KeePassLib.csproj.new
+kpBuild="$(pwd)"
+kpRoot="${kpBuild}/.."
-# cat ../KeePass.sln | grep -v 'DC15F71A-2117-4DEF-8C10-AA355B5E5979' | uniq > ../KeePass.sln.new
-# mv -f ../KeePass.sln.new ../KeePass.sln
+# Mono's resource compiler/linker doesn't support ICO files
+# containing high resolution images (in PNG format)
+kpIco="${kpRoot}/Ext/Icons_15_VA/LowResIcons/KeePass_LR.ico"
+kpIcoG="${kpRoot}/Ext/Icons_15_VA/LowResIcons/KeePass_LR_G.ico"
+kpIcoR="${kpRoot}/Ext/Icons_15_VA/LowResIcons/KeePass_LR_R.ico"
+kpIcoY="${kpRoot}/Ext/Icons_15_VA/LowResIcons/KeePass_LR_Y.ico"
+
+fnPrepSolution()
+{
+ cd "${kpRoot}"
+ local kpSln="KeePass.sln"
+
+ # Update solution format to 11 (this targets Mono 4 rather than 3.5)
+ sed -i 's!Format Version 10\.00!Format Version 11\.00!g' "${kpSln}"
+}
+
+fnPrepKeePass()
+{
+ cd "${kpRoot}/KeePass"
+ local kpCsProj="KeePass.csproj"
+
+ sed -i 's! ToolsVersion="3\.5"!!g' "${kpCsProj}"
+ sed -i 's!true!false!g' "${kpCsProj}"
+ sed -i '/sgen\.exe/d' "${kpCsProj}"
+
+ cp -f "${kpIco}" KeePass.ico
+ cp -f "${kpIco}" Resources/Icons/KeePass.ico
+ cp -f "${kpIcoG}" Resources/Icons/KeePass_G.ico
+ cp -f "${kpIcoR}" Resources/Icons/KeePass_R.ico
+ cp -f "${kpIcoY}" Resources/Icons/KeePass_Y.ico
+}
+
+fnPrepKeePassLib()
+{
+ cd "${kpRoot}/KeePassLib"
+ local kpCsProj="KeePassLib.csproj"
+
+ sed -i 's! ToolsVersion="3\.5"!!g' "${kpCsProj}"
+ sed -i 's!true!false!g' "${kpCsProj}"
+}
+
+fnPrepTrlUtil()
+{
+ cd "${kpRoot}/Translation/TrlUtil"
+ local kpCsProj="TrlUtil.csproj"
+
+ sed -i 's! ToolsVersion="3\.5"!!g' "${kpCsProj}"
+
+ cp -f "${kpIco}" Resources/KeePass.ico
+}
+
+fnPrepSolution
+fnPrepKeePass
+fnPrepKeePassLib
+fnPrepTrlUtil
+
+cd "${kpBuild}"
diff -Nru keepass2-2.35+dfsg/debian/changelog keepass2-2.36+dfsg/debian/changelog
--- keepass2-2.35+dfsg/debian/changelog 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/changelog 2017-06-26 15:07:54.000000000 +0000
@@ -1,8 +1,18 @@
-keepass2 (2.35+dfsg-2~ubuntu14.04~ppa1) trusty; urgency=medium
+keepass2 (2.36+dfsg-1~ubuntu14.04~ppa1) trusty; urgency=medium
* upload to ppa
- -- Julian Taylor Sun, 21 May 2017 17:50:24 +0200
+ -- Julian Taylor Mon, 26 Jun 2017 17:07:54 +0200
+
+keepass2 (2.36+dfsg-1) unstable; urgency=medium
+
+ * New upstream release
+ * Update rules for new icon path
+ * remove debian/patches/use-installed-ico-files.patch:
+ does not appear to be necessary with current mono anymore
+ * increase-tabheight.patch: workaround database tab crash (LP: #891029)
+
+ -- Julian Taylor Sun, 18 Jun 2017 19:28:14 +0200
keepass2 (2.35+dfsg-2) unstable; urgency=medium
diff -Nru keepass2-2.35+dfsg/debian/install keepass2-2.36+dfsg/debian/install
--- keepass2-2.35+dfsg/debian/install 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/install 2017-06-26 15:07:54.000000000 +0000
@@ -2,10 +2,6 @@
Ext/KeePass.config.xml usr/lib/keepass2
Ext/KeePass.exe.config usr/lib/keepass2
Ext/XSL usr/share/keepass2
-KeePass/Resources/Icons/LockOverlay.ico usr/share/keepass2
-KeePass/Resources/Icons/QuadLocked.ico usr/share/keepass2
-KeePass/Resources/Icons/QuadNormal.ico usr/share/keepass2
-KeePass/Resources/Images/KeePass.ico usr/share/keepass2
debian/keepass2.desktop usr/share/applications
debian/keepass2.sh usr/bin
debian/keepass2.xml usr/share/mime/packages
diff -Nru keepass2-2.35+dfsg/debian/patches/disable-clipboard-workaround.patch keepass2-2.36+dfsg/debian/patches/disable-clipboard-workaround.patch
--- keepass2-2.35+dfsg/debian/patches/disable-clipboard-workaround.patch 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/disable-clipboard-workaround.patch 2017-06-26 15:07:54.000000000 +0000
@@ -13,9 +13,9 @@
===================================================================
--- keepass2.orig/KeePassLib/Utility/MonoWorkarounds.cs
+++ keepass2/KeePassLib/Utility/MonoWorkarounds.cs
-@@ -169,7 +169,7 @@ namespace KeePassLib.Utility
+@@ -174,7 +174,7 @@ namespace KeePassLib.Utility
- // m_fOwnWindow = fOwnWindow;
+ // g_fOwnWindow = fOwnWindow;
- if(IsRequired(1530))
+ if(false && IsRequired(1530))
diff -Nru keepass2-2.35+dfsg/debian/patches/do-not-use-the-non-free-icons.patch keepass2-2.36+dfsg/debian/patches/do-not-use-the-non-free-icons.patch
--- keepass2-2.35+dfsg/debian/patches/do-not-use-the-non-free-icons.patch 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/do-not-use-the-non-free-icons.patch 2017-06-26 15:07:54.000000000 +0000
@@ -4,14 +4,14 @@
Forwarded: not-needed
---
- KeePass/Properties/Resources.resx | 80 +++++++++++++++++++--------------------
- 1 file changed, 40 insertions(+), 40 deletions(-)
+ KeePass/Properties/Resources.resx | 83 ++++++++++++++++++++-------------------
+ 1 file changed, 43 insertions(+), 40 deletions(-)
Index: keepass2/KeePass/Properties/Resources.resx
===================================================================
--- keepass2.orig/KeePass/Properties/Resources.resx
+++ keepass2/KeePass/Properties/Resources.resx
-@@ -404,40 +404,40 @@
+@@ -401,40 +404,40 @@
..\Resources\Nuvola\B48x48_Run.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -63,7 +63,7 @@
..\Resources\Nuvola_Derived\B16x16_File_SaveAll.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-@@ -449,22 +449,22 @@
+@@ -446,22 +449,22 @@
..\Resources\Nuvola_Derived\B16x16_File_Close.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -91,7 +91,7 @@
..\Resources\Nuvola\B16x16_Make_KDevelop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-@@ -473,10 +473,10 @@
+@@ -470,10 +473,10 @@
..\Resources\Nuvola\B48x48_Make_KDevelop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -104,7 +104,7 @@
..\Resources\Images\B16x16_FontBold.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-@@ -503,13 +503,13 @@
+@@ -500,13 +503,13 @@
..\Resources\Images\B16x16_Imp_KeePassX.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -121,7 +121,7 @@
..\Resources\Nuvola\B48x48_View_Detailed.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-@@ -524,13 +524,13 @@
+@@ -521,13 +524,13 @@
..\Resources\Icons\LockOverlay.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -138,7 +138,7 @@
..\Resources\Images\B16x16_MenuRadio.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-@@ -539,13 +539,13 @@
+@@ -536,13 +539,13 @@
..\Resources\Nuvola\B16x16_KaboodleLoop.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -155,7 +155,7 @@
..\Resources\Nuvola_Derived\B16x16_EditCopyLink.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-@@ -554,19 +554,19 @@
+@@ -551,19 +554,19 @@
..\Resources\Nuvola_Derived\B16x16_Key_New.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -180,7 +180,7 @@
..\Resources\Nuvola_Derived\B16x16_Folder_2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-@@ -581,13 +581,13 @@
+@@ -578,13 +581,13 @@
..\Resources\Data\MostPopularPasswords.txt.gz;System.Byte[], mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -197,7 +197,7 @@
..\Resources\Images\B16x16_MenuCheck.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-@@ -629,18 +629,18 @@
+@@ -626,19 +629,19 @@
..\Resources\Nuvola_Derived\B16x16_Folder_New_Ex.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
@@ -219,6 +219,12 @@
- ..\Resources\Images\B16x16_Imp_Enpass.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+ ..\Resources\Nuvola\B16x16_KGPG_Import.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\Icons\KeePass_G.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+@@ -661,4 +664,4 @@
+
+ ..\Resources\Icons\KeePass.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
-
\ No newline at end of file
+
diff -Nru keepass2-2.35+dfsg/debian/patches/dont-display-as-dev-version.patch keepass2-2.36+dfsg/debian/patches/dont-display-as-dev-version.patch
--- keepass2-2.35+dfsg/debian/patches/dont-display-as-dev-version.patch 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/dont-display-as-dev-version.patch 2017-06-26 15:07:54.000000000 +0000
@@ -11,7 +11,7 @@
===================================================================
--- keepass2.orig/KeePass/Program.cs
+++ keepass2/KeePass/Program.cs
-@@ -779,7 +779,7 @@ namespace KeePass
+@@ -776,7 +776,7 @@ namespace KeePass
Assembly asm = Assembly.GetExecutingAssembly();
byte[] pk = asm.GetName().GetPublicKeyToken();
string strPk = MemUtil.ByteArrayToHexString(pk);
diff -Nru keepass2-2.35+dfsg/debian/patches/fix-XSL-search-path.patch keepass2-2.36+dfsg/debian/patches/fix-XSL-search-path.patch
--- keepass2-2.35+dfsg/debian/patches/fix-XSL-search-path.patch 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/fix-XSL-search-path.patch 2017-06-26 15:07:54.000000000 +0000
@@ -20,14 +20,14 @@
+ public const string DebianDataDir = "/usr/share/keepass2/";
+
- public const string XslFilesDir = "XSL";
- public const string XslFileHtmlFull = "KDBX_DetailsFull_HTML.xsl";
- public const string XslFileHtmlLight = "KDBX_DetailsLight_HTML.xsl";
+ public static readonly Color ColorQualityLow = Color.FromArgb(255, 128, 0);
+ public static readonly Color ColorQualityHigh = Color.FromArgb(0, 255, 0);
+
Index: keepass2/KeePass/Forms/AboutForm.cs
===================================================================
--- keepass2.orig/KeePass/Forms/AboutForm.cs
+++ keepass2/KeePass/Forms/AboutForm.cs
-@@ -97,8 +97,7 @@ namespace KeePass.Forms
+@@ -98,8 +98,7 @@ namespace KeePass.Forms
m_lvComponents.Items.Add(lvi);
lvi = new ListViewItem(KPRes.XslStylesheetsKdbx);
diff -Nru keepass2-2.35+dfsg/debian/patches/force_toolsversion_4 keepass2-2.36+dfsg/debian/patches/force_toolsversion_4
--- keepass2-2.35+dfsg/debian/patches/force_toolsversion_4 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/force_toolsversion_4 2017-06-26 15:07:54.000000000 +0000
@@ -30,7 +30,7 @@
Debug
AnyCPU
-@@ -1392,4 +1392,4 @@
+@@ -1407,4 +1407,4 @@
-->
diff -Nru keepass2-2.35+dfsg/debian/patches/increase-tabheight.patch keepass2-2.36+dfsg/debian/patches/increase-tabheight.patch
--- keepass2-2.35+dfsg/debian/patches/increase-tabheight.patch 1970-01-01 00:00:00.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/increase-tabheight.patch 2017-06-26 15:07:54.000000000 +0000
@@ -0,0 +1,25 @@
+From: Julian Taylor
+Date: Thu, 22 Jun 2017 07:35:29 +0200
+Subject: increase tabheight
+
+Increase tabheight further to workaround crash when changing database
+tabs.
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1659159
+Bug: https://sourceforge.net/p/keepass/bugs/1634
+---
+ KeePass/Forms/MainForm.cs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+Index: keepass2/KeePass/Forms/MainForm.cs
+===================================================================
+--- keepass2.orig/KeePass/Forms/MainForm.cs
++++ keepass2/KeePass/Forms/MainForm.cs
+@@ -125,7 +125,7 @@ namespace KeePass.Forms
+
+ AssignMenuShortcuts();
+
+- if(MonoWorkarounds.IsRequired(891029)) m_tabMain.Height += 5;
++ if(MonoWorkarounds.IsRequired(891029)) m_tabMain.Height += 10;
+ }
+
+ private bool m_bFormLoadCalled = false;
diff -Nru keepass2-2.35+dfsg/debian/patches/series keepass2-2.36+dfsg/debian/patches/series
--- keepass2-2.35+dfsg/debian/patches/series 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/series 2017-06-26 15:07:54.000000000 +0000
@@ -1,5 +1,4 @@
use-the-mono-signing-key.patch
-use-installed-ico-files.patch
do-not-use-the-non-free-icons.patch
skip-sgen-run-during-build.patch
fix-XSL-search-path.patch
@@ -9,3 +8,4 @@
x11-dllmap.patch
dont-display-as-dev-version.patch
disable-clipboard-workaround.patch
+increase-tabheight.patch
diff -Nru keepass2-2.35+dfsg/debian/patches/skip-sgen-run-during-build.patch keepass2-2.36+dfsg/debian/patches/skip-sgen-run-during-build.patch
--- keepass2-2.35+dfsg/debian/patches/skip-sgen-run-during-build.patch 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/skip-sgen-run-during-build.patch 2017-06-26 15:07:54.000000000 +0000
@@ -11,7 +11,7 @@
===================================================================
--- keepass2.orig/KeePass/KeePass.csproj
+++ keepass2/KeePass/KeePass.csproj
-@@ -1392,7 +1392,4 @@
+@@ -1407,7 +1407,4 @@
-->
diff -Nru keepass2-2.35+dfsg/debian/patches/use-installed-ico-files.patch keepass2-2.36+dfsg/debian/patches/use-installed-ico-files.patch
--- keepass2-2.35+dfsg/debian/patches/use-installed-ico-files.patch 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/patches/use-installed-ico-files.patch 1970-01-01 00:00:00.000000000 +0000
@@ -1,758 +0,0 @@
-From: Debian CLI Applications Team
-Date: Sun, 10 Apr 2011 15:46:08 +0200
-Subject: use installed ico files
-
-use installed icons instead of pulling them from the ressource.
-This avoids a UnknownImageFormat error probably caused by mono bug.
-
-Bugs-mono: https://bugzilla.novell.com/show_bug.cgi?id=599462
-Forwarded: not-needed
----
- KeePass/Forms/AboutForm.cs | 4 ++--
- KeePass/Forms/AutoTypeCtxForm.cs | 2 +-
- KeePass/Forms/CharPickerForm.cs | 2 +-
- KeePass/Forms/ColumnsForm.cs | 2 +-
- KeePass/Forms/CsvImportForm.cs | 2 +-
- KeePass/Forms/DataEditorForm.cs | 2 +-
- KeePass/Forms/DataViewerForm.cs | 2 +-
- KeePass/Forms/DatabaseOperationsForm.cs | 2 +-
- KeePass/Forms/DatabaseSettingsForm.cs | 2 +-
- KeePass/Forms/DuplicationForm.cs | 2 +-
- KeePass/Forms/EcasActionForm.cs | 2 +-
- KeePass/Forms/EcasConditionForm.cs | 2 +-
- KeePass/Forms/EcasEventForm.cs | 2 +-
- KeePass/Forms/EcasTriggerForm.cs | 2 +-
- KeePass/Forms/EcasTriggersForm.cs | 2 +-
- KeePass/Forms/EditAutoTypeItemForm.cs | 2 +-
- KeePass/Forms/EditStringForm.cs | 2 +-
- KeePass/Forms/EntropyForm.cs | 2 +-
- KeePass/Forms/EntryListForm.cs | 2 +-
- KeePass/Forms/EntryReportForm.cs | 2 +-
- KeePass/Forms/ExchangeDataForm.cs | 2 +-
- KeePass/Forms/FieldPickerForm.cs | 2 +-
- KeePass/Forms/FieldRefForm.cs | 2 +-
- KeePass/Forms/FileBrowserForm.cs | 2 +-
- KeePass/Forms/GroupForm.cs | 2 +-
- KeePass/Forms/HelpSourceForm.cs | 2 +-
- KeePass/Forms/IOConnectionForm.cs | 2 +-
- KeePass/Forms/IconPickerForm.cs | 2 +-
- KeePass/Forms/ImportMethodForm.cs | 2 +-
- KeePass/Forms/InternalBrowserForm.cs | 2 +-
- KeePass/Forms/KeyCreationForm.cs | 2 +-
- KeePass/Forms/KeyPromptForm.cs | 2 +-
- KeePass/Forms/LanguageForm.cs | 2 +-
- KeePass/Forms/MainForm.cs | 2 +-
- KeePass/Forms/MainForm_Functions.cs | 16 ++++++++--------
- KeePass/Forms/OptionsForm.cs | 2 +-
- KeePass/Forms/PluginsForm.cs | 2 +-
- KeePass/Forms/PrintForm.cs | 2 +-
- KeePass/Forms/ProxyForm.cs | 2 +-
- KeePass/Forms/PwEntryForm.cs | 2 +-
- KeePass/Forms/PwGeneratorForm.cs | 2 +-
- KeePass/Forms/SearchForm.cs | 2 +-
- KeePass/Forms/SingleLineEditForm.cs | 2 +-
- KeePass/Forms/StatusLoggerForm.cs | 2 +-
- KeePass/Forms/TanWizardForm.cs | 2 +-
- KeePass/Forms/UpdateCheckForm.cs | 2 +-
- KeePass/Forms/UrlOverrideForm.cs | 2 +-
- KeePass/Forms/UrlOverridesForm.cs | 2 +-
- KeePass/Forms/XmlReplaceForm.cs | 2 +-
- 49 files changed, 57 insertions(+), 57 deletions(-)
-
-Index: keepass2/KeePass/Forms/AboutForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/AboutForm.cs
-+++ keepass2/KeePass/Forms/AboutForm.cs
-@@ -68,11 +68,11 @@ namespace KeePass.Forms
- strDesc += ")";
- }
-
-- Icon icoNew = new Icon(Properties.Resources.KeePass, 48, 48);
-+ Icon icoNew = new Icon(new Icon("/usr/share/keepass2/KeePass.ico"), 48, 48);
-
- BannerFactory.CreateBannerEx(this, m_bannerImage, icoNew.ToBitmap(),
- strTitle, strDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- m_lvComponents.Columns.Add(KPRes.Component, 100, HorizontalAlignment.Left);
- m_lvComponents.Columns.Add(KPRes.Status + " / " + KPRes.Version, 100,
-Index: keepass2/KeePass/Forms/AutoTypeCtxForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/AutoTypeCtxForm.cs
-+++ keepass2/KeePass/Forms/AutoTypeCtxForm.cs
-@@ -76,7 +76,7 @@ namespace KeePass.Forms
-
- m_lblText.Text = KPRes.AutoTypeEntrySelectionDescLong2;
- this.Text = KPRes.AutoTypeEntrySelection;
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- string strRect = Program.Config.UI.AutoTypeCtxRect;
- if(strRect.Length > 0) UIUtil.SetWindowScreenRect(this, strRect);
-Index: keepass2/KeePass/Forms/CharPickerForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/CharPickerForm.cs
-+++ keepass2/KeePass/Forms/CharPickerForm.cs
-@@ -135,7 +135,7 @@ namespace KeePass.Forms
-
- m_fontChars = FontUtil.CreateFont("Tahoma", 8.25f, FontStyle.Bold);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.PickCharacters + " - " + PwDefs.ShortProductName;
-
- m_secWord.Attach(m_tbSelected, OnSelectedTextChangedEx, true);
-Index: keepass2/KeePass/Forms/ColumnsForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/ColumnsForm.cs
-+++ keepass2/KeePass/Forms/ColumnsForm.cs
-@@ -58,7 +58,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_View_Detailed,
- KPRes.ConfigureColumns, KPRes.ConfigureColumnsDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.ConfigureColumns;
-
- float fWidth = (float)(m_lvColumns.ClientRectangle.Width -
-Index: keepass2/KeePass/Forms/CsvImportForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/CsvImportForm.cs
-+++ keepass2/KeePass/Forms/CsvImportForm.cs
-@@ -112,7 +112,7 @@ namespace KeePass.Forms
- // Callable from KPScript without parent form
- Debug.Assert(this.StartPosition == FormStartPosition.CenterScreen);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.GenericCsvImporter + " - " + PwDefs.ShortProductName;
-
- // FontUtil.AssignDefaultBold(m_grpSyntax);
-Index: keepass2/KeePass/Forms/DataEditorForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/DataEditorForm.cs
-+++ keepass2/KeePass/Forms/DataEditorForm.cs
-@@ -95,7 +95,7 @@ namespace KeePass.Forms
-
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.DoubleBuffered = true;
-
- string strRect = Program.Config.UI.DataEditorRect;
-Index: keepass2/KeePass/Forms/DataViewerForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/DataViewerForm.cs
-+++ keepass2/KeePass/Forms/DataViewerForm.cs
-@@ -93,7 +93,7 @@ namespace KeePass.Forms
-
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- string strTitle = PwDefs.ShortProductName + " " + KPRes.DataViewer;
- if(m_strDataDesc.Length > 0)
-Index: keepass2/KeePass/Forms/DatabaseOperationsForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/DatabaseOperationsForm.cs
-+++ keepass2/KeePass/Forms/DatabaseOperationsForm.cs
-@@ -64,7 +64,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Package_Settings, KPRes.DatabaseMaintenance,
- KPRes.DatabaseMaintenanceDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.DatabaseMaintenance;
-
- m_numHistoryDays.Value = m_pwDatabase.MaintenanceHistoryDays;
-Index: keepass2/KeePass/Forms/DatabaseSettingsForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/DatabaseSettingsForm.cs
-+++ keepass2/KeePass/Forms/DatabaseSettingsForm.cs
-@@ -90,7 +90,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Ark, KPRes.DatabaseSettings,
- KPRes.DatabaseSettingsDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- FontUtil.AssignDefaultItalic(m_lblHeaderCpAlgo);
- FontUtil.AssignDefaultItalic(m_lblHeaderCp);
-Index: keepass2/KeePass/Forms/DuplicationForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/DuplicationForm.cs
-+++ keepass2/KeePass/Forms/DuplicationForm.cs
-@@ -100,7 +100,7 @@ namespace KeePass.Forms
- {
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- FontUtil.AssignDefaultBold(m_cbAppendCopy);
- FontUtil.AssignDefaultBold(m_cbFieldRefs);
-Index: keepass2/KeePass/Forms/EcasActionForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EcasActionForm.cs
-+++ keepass2/KeePass/Forms/EcasActionForm.cs
-@@ -59,7 +59,7 @@ namespace KeePass.Forms
- GlobalWindowManager.AddWindow(this);
-
- this.Text = KPRes.Action;
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- m_lblParamHint.Text = KPRes.ParamDescHelp;
-
-Index: keepass2/KeePass/Forms/EcasConditionForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EcasConditionForm.cs
-+++ keepass2/KeePass/Forms/EcasConditionForm.cs
-@@ -56,7 +56,7 @@ namespace KeePass.Forms
- GlobalWindowManager.AddWindow(this);
-
- this.Text = KPRes.Condition;
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- m_lblParamHint.Text = KPRes.ParamDescHelp;
-
-Index: keepass2/KeePass/Forms/EcasEventForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EcasEventForm.cs
-+++ keepass2/KeePass/Forms/EcasEventForm.cs
-@@ -56,7 +56,7 @@ namespace KeePass.Forms
- GlobalWindowManager.AddWindow(this);
-
- this.Text = KPRes.Event;
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- m_lblParamHint.Text = KPRes.ParamDescHelp;
-
-Index: keepass2/KeePass/Forms/EcasTriggerForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EcasTriggerForm.cs
-+++ keepass2/KeePass/Forms/EcasTriggerForm.cs
-@@ -67,7 +67,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Run, strTitle, strDesc);
- this.Text = strTitle;
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- m_lvEvents.SmallImageList = m_ilIcons;
- m_lvConditions.SmallImageList = m_ilIcons;
-Index: keepass2/KeePass/Forms/EcasTriggersForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EcasTriggersForm.cs
-+++ keepass2/KeePass/Forms/EcasTriggersForm.cs
-@@ -82,7 +82,7 @@ namespace KeePass.Forms
- Properties.Resources.B48x48_Make_KDevelop, KPRes.Triggers,
- KPRes.TriggersDesc);
- this.Text = KPRes.Triggers;
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- int nWidth = (m_lvTriggers.ClientSize.Width - UIUtil.GetVScrollBarWidth() - 1);
- m_lvTriggers.Columns.Add(KPRes.Triggers, nWidth);
-Index: keepass2/KeePass/Forms/EditAutoTypeItemForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EditAutoTypeItemForm.cs
-+++ keepass2/KeePass/Forms/EditAutoTypeItemForm.cs
-@@ -106,7 +106,7 @@ namespace KeePass.Forms
- KPRes.ConfigureKeystrokeSeqDesc);
- }
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- // FontUtil.AssignDefaultBold(m_lblTargetWindow);
- // FontUtil.AssignDefaultBold(m_rbSeqDefault);
-Index: keepass2/KeePass/Forms/EditStringForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EditStringForm.cs
-+++ keepass2/KeePass/Forms/EditStringForm.cs
-@@ -97,7 +97,7 @@ namespace KeePass.Forms
-
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Font, strTitle, strDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- UIUtil.EnableAutoCompletion(m_cmbStringName, true);
- UIUtil.PrepareStandardMultilineControl(m_richStringValue, true, true);
-Index: keepass2/KeePass/Forms/EntropyForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EntropyForm.cs
-+++ keepass2/KeePass/Forms/EntropyForm.cs
-@@ -77,7 +77,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Binary, KPRes.EntropyTitle,
- KPRes.EntropyDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.EntropyTitle;
-
- m_bmpRandom = CreateRandomBitmap(m_picRandom.ClientSize);
-Index: keepass2/KeePass/Forms/EntryListForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EntryListForm.cs
-+++ keepass2/KeePass/Forms/EntryListForm.cs
-@@ -87,7 +87,7 @@ namespace KeePass.Forms
- m_imgIcon, m_strTitle, m_strDescShort);
- m_lblText.Text = m_strDescLong;
- this.Text = m_strTitle;
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- if(m_ilIcons != null) m_lvEntries.SmallImageList = m_ilIcons;
- else m_ilIcons = new ImageList();
-Index: keepass2/KeePass/Forms/EntryReportForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/EntryReportForm.cs
-+++ keepass2/KeePass/Forms/EntryReportForm.cs
-@@ -51,7 +51,7 @@ namespace KeePass.Forms
-
- private void OnFormLoad(object sender, EventArgs e)
- {
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- if(!string.IsNullOrEmpty(m_strTitle)) this.Text = m_strTitle;
- else m_strTitle = PwDefs.ShortProductName;
-Index: keepass2/KeePass/Forms/ExchangeDataForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/ExchangeDataForm.cs
-+++ keepass2/KeePass/Forms/ExchangeDataForm.cs
-@@ -100,7 +100,7 @@ namespace KeePass.Forms
- Properties.Resources.B48x48_Folder_Download);
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- bmpBanner, strWndTitle, strWndDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- this.Text = strWndTitle;
-
-Index: keepass2/KeePass/Forms/FieldPickerForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/FieldPickerForm.cs
-+++ keepass2/KeePass/Forms/FieldPickerForm.cs
-@@ -93,7 +93,7 @@ namespace KeePass.Forms
- if(strTitle.Length > 0) strTitleEx += " - ";
- strTitleEx += PwDefs.ShortProductName;
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = strTitleEx;
-
- BannerFactory.CreateBannerEx(this, m_bannerImage,
-Index: keepass2/KeePass/Forms/FieldRefForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/FieldRefForm.cs
-+++ keepass2/KeePass/Forms/FieldRefForm.cs
-@@ -71,7 +71,7 @@ namespace KeePass.Forms
-
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- UIUtil.SetExplorerTheme(m_lvEntries, true);
-
-Index: keepass2/KeePass/Forms/FileBrowserForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/FileBrowserForm.cs
-+++ keepass2/KeePass/Forms/FileBrowserForm.cs
-@@ -97,7 +97,7 @@ namespace KeePass.Forms
- {
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = m_strTitle;
-
- m_nIconDim = m_tvFolders.ItemHeight;
-Index: keepass2/KeePass/Forms/GroupForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/GroupForm.cs
-+++ keepass2/KeePass/Forms/GroupForm.cs
-@@ -80,7 +80,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Folder_Txt, strTitle,
- (m_bCreatingNew ? KPRes.AddGroupDesc : KPRes.EditGroupDesc));
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = strTitle;
-
- UIUtil.SetButtonImage(m_btnAutoTypeEdit,
-Index: keepass2/KeePass/Forms/HelpSourceForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/HelpSourceForm.cs
-+++ keepass2/KeePass/Forms/HelpSourceForm.cs
-@@ -47,7 +47,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Folder_Download, KPRes.HelpSourceSelection,
- KPRes.HelpSourceSelectionDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.HelpSourceSelection;
-
- FontUtil.AssignDefaultBold(m_radioLocal);
-Index: keepass2/KeePass/Forms/IOConnectionForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/IOConnectionForm.cs
-+++ keepass2/KeePass/Forms/IOConnectionForm.cs
-@@ -85,7 +85,7 @@ namespace KeePass.Forms
-
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- KeePass.Properties.Resources.B48x48_WWW, strTitle, strDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = strTitle;
-
- FontUtil.AssignDefaultBold(m_lblUrl);
-Index: keepass2/KeePass/Forms/IconPickerForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/IconPickerForm.cs
-+++ keepass2/KeePass/Forms/IconPickerForm.cs
-@@ -80,7 +80,7 @@ namespace KeePass.Forms
-
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- FontUtil.AssignDefaultBold(m_radioStandard);
- FontUtil.AssignDefaultBold(m_radioCustom);
-Index: keepass2/KeePass/Forms/ImportMethodForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/ImportMethodForm.cs
-+++ keepass2/KeePass/Forms/ImportMethodForm.cs
-@@ -56,7 +56,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Folder_Download, KPRes.ImportBehavior,
- KPRes.ImportBehaviorDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- this.Text = KPRes.ImportBehavior;
-
-Index: keepass2/KeePass/Forms/InternalBrowserForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/InternalBrowserForm.cs
-+++ keepass2/KeePass/Forms/InternalBrowserForm.cs
-@@ -53,7 +53,7 @@ namespace KeePass.Forms
- {
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- if(m_strInitialUrl.Length > 0)
- m_webBrowser.Navigate(m_strInitialUrl);
-Index: keepass2/KeePass/Forms/KeyCreationForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/KeyCreationForm.cs
-+++ keepass2/KeePass/Forms/KeyCreationForm.cs
-@@ -82,7 +82,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_KGPG_Sign, KPRes.CreateMasterKey,
- m_ioInfo.GetDisplayName());
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.CreateMasterKey;
-
- FontUtil.SetDefaultFont(m_cbPassword);
-Index: keepass2/KeePass/Forms/KeyPromptForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/KeyPromptForm.cs
-+++ keepass2/KeePass/Forms/KeyPromptForm.cs
-@@ -121,7 +121,7 @@ namespace KeePass.Forms
- string strBannerDesc = WinUtil.CompactPath(m_ioInfo.Path, 45);
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_KGPG_Key2, strBannerTitle, strBannerDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- FontUtil.SetDefaultFont(m_cbPassword);
- FontUtil.AssignDefaultBold(m_cbPassword);
-Index: keepass2/KeePass/Forms/LanguageForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/LanguageForm.cs
-+++ keepass2/KeePass/Forms/LanguageForm.cs
-@@ -58,7 +58,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_Keyboard_Layout,
- KPRes.SelectLanguage, KPRes.SelectLanguageDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.SelectLanguage;
-
- List lImg = new List();
-Index: keepass2/KeePass/Forms/MainForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/MainForm.cs
-+++ keepass2/KeePass/Forms/MainForm.cs
-@@ -141,7 +141,7 @@ namespace KeePass.Forms
- m_strNeverExpiresText = KPRes.NeverExpires;
-
- this.Text = PwDefs.ShortProductName;
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- m_imgFileSaveEnabled = Properties.Resources.B16x16_FileSave;
- m_imgFileSaveDisabled = Properties.Resources.B16x16_FileSave_Disabled;
- // m_imgFileSaveAllEnabled = Properties.Resources.B16x16_File_SaveAll;
-Index: keepass2/KeePass/Forms/MainForm_Functions.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/MainForm_Functions.cs
-+++ keepass2/KeePass/Forms/MainForm_Functions.cs
-@@ -438,18 +438,18 @@ namespace KeePass.Forms
- strNtfText = strNtfPre + strFileDesc;
-
- Icon icoDisposable, icoAssignable;
-- CreateColorizedIcon(Properties.Resources.QuadLocked, qSmall,
-+ CreateColorizedIcon(new Icon("/usr/share/keepass2/QuadLocked.ico"), qSmall,
- ref m_kvpIcoTrayLocked, out icoAssignable, out icoDisposable);
- m_ntfTray.Icon = icoAssignable;
- if(icoDisposable != null) icoDisposable.Dispose();
-
-- TaskbarList.SetOverlayIcon(this, Properties.Resources.LockOverlay,
-+ TaskbarList.SetOverlayIcon(this, new Icon("/usr/share/keepass2/LockOverlay.ico"),
- KPRes.Locked);
- }
- else if(s.DatabaseOpened == false)
- {
- Icon icoDisposable, icoAssignable;
-- CreateColorizedIcon(Properties.Resources.QuadNormal, qSmall,
-+ CreateColorizedIcon(new Icon("/usr/share/keepass2/QuadNormal.ico"), qSmall,
- ref m_kvpIcoTrayNormal, out icoAssignable, out icoDisposable);
- m_ntfTray.Icon = icoAssignable;
- if(icoDisposable != null) icoDisposable.Dispose();
-@@ -472,7 +472,7 @@ namespace KeePass.Forms
- m_docMgr.ActiveDatabase.IOConnectionInfo.Path, 63 - strNtfPre.Length);
-
- Icon icoDisposable, icoAssignable;
-- CreateColorizedIcon(Properties.Resources.QuadNormal, qSmall,
-+ CreateColorizedIcon(new Icon("/usr/share/keepass2/QuadNormal.ico"), qSmall,
- ref m_kvpIcoTrayNormal, out icoAssignable, out icoDisposable);
- m_ntfTray.Icon = icoAssignable;
- if(icoDisposable != null) icoDisposable.Dispose();
-@@ -497,7 +497,7 @@ namespace KeePass.Forms
- m_ntfTray.Text = StrUtil.CompactString3Dots(strNtfText, 63);
-
- Icon icoToDispose, icoToAssign;
-- if(CreateColorizedIcon(Properties.Resources.KeePass, 0,
-+ if(CreateColorizedIcon(new Icon("/usr/share/keepass2/KeePass.ico"), 0,
- ref m_kvpIcoMain, out icoToAssign, out icoToDispose))
- this.Icon = icoToAssign;
- if(icoToDispose != null) icoToDispose.Dispose();
-@@ -2771,12 +2771,12 @@ namespace KeePass.Forms
- }
- else if(m.Msg == DwmUtil.WM_DWMSENDICONICTHUMBNAIL)
- {
-- DwmUtil.SetIconicThumbnail(this, Properties.Resources.KeePass, ref m);
-+ DwmUtil.SetIconicThumbnail(this, new Icon("/usr/share/keepass2/KeePass.ico"), ref m);
- return;
- }
- else if(m.Msg == DwmUtil.WM_DWMSENDICONICLIVEPREVIEWBITMAP)
- {
-- DwmUtil.SetIconicPreview(this, Properties.Resources.KeePass, ref m);
-+ DwmUtil.SetIconicPreview(this, new Icon("/usr/share/keepass2/KeePass.ico"), ref m);
- return;
- }
-
-@@ -3900,7 +3900,7 @@ namespace KeePass.Forms
- // wasn't fully constructed at that time yet)
- // if(IsFileLocked(null))
- // TaskbarList.SetOverlayIcon(this,
-- // Properties.Resources.LockOverlay, KPRes.Locked);
-+ // new Icon("/usr/share/keepass2/LockOverlay.ico"), KPRes.Locked);
- }
-
- if(Program.Config.MainWindow.MinimizeToTray) MinimizeToTray(true);
-Index: keepass2/KeePass/Forms/OptionsForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/OptionsForm.cs
-+++ keepass2/KeePass/Forms/OptionsForm.cs
-@@ -121,7 +121,7 @@ namespace KeePass.Forms
-
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- Debug.Assert(m_ilIcons != null);
- if(m_ilIcons != null)
-Index: keepass2/KeePass/Forms/PluginsForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/PluginsForm.cs
-+++ keepass2/KeePass/Forms/PluginsForm.cs
-@@ -64,7 +64,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_BlockDevice, KPRes.Plugins,
- KPRes.PluginsDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- m_cbCacheDeleteOld.Checked = Program.Config.Application.Start.PluginCacheDeleteOld;
-
-Index: keepass2/KeePass/Forms/PrintForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/PrintForm.cs
-+++ keepass2/KeePass/Forms/PrintForm.cs
-@@ -100,7 +100,7 @@ namespace KeePass.Forms
-
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- CreateDialogBanner();
-
- List lTabImg = new List();
-Index: keepass2/KeePass/Forms/ProxyForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/ProxyForm.cs
-+++ keepass2/KeePass/Forms/ProxyForm.cs
-@@ -44,7 +44,7 @@ namespace KeePass.Forms
- {
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- ProxyServerType pst = Program.Config.Integration.ProxyType;
- if(pst == ProxyServerType.None) m_rbNoProxy.Checked = true;
-Index: keepass2/KeePass/Forms/PwEntryForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/PwEntryForm.cs
-+++ keepass2/KeePass/Forms/PwEntryForm.cs
-@@ -662,7 +662,7 @@ namespace KeePass.Forms
-
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- KeePass.Properties.Resources.B48x48_KGPG_Sign, strTitle, strDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = strTitle;
-
- m_imgGenPw = UIUtil.CreateDropDownImage(Properties.Resources.B16x16_Key_New);
-Index: keepass2/KeePass/Forms/PwGeneratorForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/PwGeneratorForm.cs
-+++ keepass2/KeePass/Forms/PwGeneratorForm.cs
-@@ -98,7 +98,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_KGPG_Gen, KPRes.PasswordOptions,
- KPRes.PasswordOptionsDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- UIUtil.SetButtonImage(m_btnProfileAdd,
- Properties.Resources.B16x16_FileSaveAs, false);
-Index: keepass2/KeePass/Forms/SearchForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/SearchForm.cs
-+++ keepass2/KeePass/Forms/SearchForm.cs
-@@ -92,7 +92,7 @@ namespace KeePass.Forms
-
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_XMag, strTitle, KPRes.SearchDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- m_cbDerefData.Text = m_cbDerefData.Text + " (" + KPRes.Slow + ")";
-
-Index: keepass2/KeePass/Forms/SingleLineEditForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/SingleLineEditForm.cs
-+++ keepass2/KeePass/Forms/SingleLineEditForm.cs
-@@ -73,7 +73,7 @@ namespace KeePass.Forms
-
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- m_imgIcon, m_strTitle, m_strDesc);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
-
- this.Text = m_strTitle;
- m_lblLongDesc.Text = m_strLongDesc;
-Index: keepass2/KeePass/Forms/StatusLoggerForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/StatusLoggerForm.cs
-+++ keepass2/KeePass/Forms/StatusLoggerForm.cs
-@@ -127,7 +127,7 @@ namespace KeePass.Forms
- {
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = PwDefs.ShortProductName;
-
- m_pbProgress.Minimum = 0;
-Index: keepass2/KeePass/Forms/TanWizardForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/TanWizardForm.cs
-+++ keepass2/KeePass/Forms/TanWizardForm.cs
-@@ -61,7 +61,7 @@ namespace KeePass.Forms
- KeePass.Properties.Resources.B48x48_Wizard, KPRes.TanWizard,
- KPRes.TanWizardDesc);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.TanWizard;
-
- if((m_pgStorage.Name != null) && (m_pgStorage.Name.Length > 0))
-Index: keepass2/KeePass/Forms/UpdateCheckForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/UpdateCheckForm.cs
-+++ keepass2/KeePass/Forms/UpdateCheckForm.cs
-@@ -64,7 +64,7 @@ namespace KeePass.Forms
- BannerFactory.CreateBannerEx(this, m_bannerImage,
- Properties.Resources.B48x48_WWW, KPRes.UpdateCheck,
- KPRes.UpdateCheckResults);
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.UpdateCheck + " - " + PwDefs.ShortProductName;
-
- UIUtil.SetExplorerTheme(m_lvInfo, true);
-Index: keepass2/KeePass/Forms/UrlOverrideForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/UrlOverrideForm.cs
-+++ keepass2/KeePass/Forms/UrlOverrideForm.cs
-@@ -51,7 +51,7 @@ namespace KeePass.Forms
-
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.UrlOverride;
-
- m_tbScheme.Text = m_ovr.Scheme;
-Index: keepass2/KeePass/Forms/UrlOverridesForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/UrlOverridesForm.cs
-+++ keepass2/KeePass/Forms/UrlOverridesForm.cs
-@@ -66,7 +66,7 @@ namespace KeePass.Forms
-
- GlobalWindowManager.AddWindow(this);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.UrlOverrides;
-
- UIUtil.SetExplorerTheme(m_lvOverrides, false);
-Index: keepass2/KeePass/Forms/XmlReplaceForm.cs
-===================================================================
---- keepass2.orig/KeePass/Forms/XmlReplaceForm.cs
-+++ keepass2/KeePass/Forms/XmlReplaceForm.cs
-@@ -62,7 +62,7 @@ namespace KeePass.Forms
- KeePass.Properties.Resources.B48x48_Binary, KPRes.XmlReplace,
- KPRes.XmlReplaceDesc);
-
-- this.Icon = Properties.Resources.KeePass;
-+ this.Icon = new Icon("/usr/share/keepass2/KeePass.ico");
- this.Text = KPRes.XmlReplace;
-
- Bitmap bmpBig = SystemIcons.Warning.ToBitmap();
diff -Nru keepass2-2.35+dfsg/debian/rules keepass2-2.36+dfsg/debian/rules
--- keepass2-2.35+dfsg/debian/rules 2017-05-21 15:50:24.000000000 +0000
+++ keepass2-2.36+dfsg/debian/rules 2017-06-26 15:07:54.000000000 +0000
@@ -36,9 +36,11 @@
python -c 'import archmod.CHM; archmod.CHM.CHMDir("Docs").process_templates("Docs/Chm")'
override_dh_install:
- convert $(CURDIR)/KeePass/Resources/Images/KeePass.ico keepass2.png
+ convert $(CURDIR)/KeePass/Resources/Icons/KeePass.ico keepass2.png
mkdir -p $(CURDIR)/debian/keepass2/usr/share/icons/hicolor/16x16/apps
- mv keepass2-9.png $(CURDIR)/debian/keepass2/usr/share/icons/hicolor/16x16/apps/keepass2.png
+ mv keepass2-11.png $(CURDIR)/debian/keepass2/usr/share/icons/hicolor/16x16/apps/keepass2.png
+ mkdir -p $(CURDIR)/debian/keepass2/usr/share/icons/hicolor/24x24/apps
+ mv keepass2-9.png $(CURDIR)/debian/keepass2/usr/share/icons/hicolor/24x24/apps/keepass2.png
mkdir -p $(CURDIR)/debian/keepass2/usr/share/icons/hicolor/32x32/apps
mv keepass2-8.png $(CURDIR)/debian/keepass2/usr/share/icons/hicolor/32x32/apps/keepass2.png
mkdir -p $(CURDIR)/debian/keepass2/usr/share/icons/hicolor/48x48/apps
diff -Nru keepass2-2.35+dfsg/Docs/Chm/default.css keepass2-2.36+dfsg/Docs/Chm/default.css
--- keepass2-2.35+dfsg/Docs/Chm/default.css 2017-01-09 10:10:12.000000000 +0000
+++ keepass2-2.36+dfsg/Docs/Chm/default.css 2017-06-09 08:39:18.000000000 +0000
@@ -13,7 +13,7 @@
body {
background-color: #FFFFFF;
- background-image: url(./images/back.gif);
+ background-image: url('./images/back.gif');
background-repeat: repeat;
background-attachment: fixed;
}
@@ -122,7 +122,7 @@
div.menubox div.menutitle {
background-color: #C5C5C5;
- background: url(./images/grad_h_gw.gif) repeat-y;
+ background: url('./images/grad_h_gw.gif') repeat-y;
display: block;
font-weight: bold;
font-size: 7.50pt;
@@ -134,7 +134,7 @@
div.menubox div.menutitlewide {
background-color: #C5C5C5;
- background: url(./images/grad_h_gw_186.gif) repeat-y;
+ background: url('./images/grad_h_gw_186.gif') repeat-y;
display: block;
font-weight: bold;
font-size: 7.50pt;
@@ -194,7 +194,7 @@
table.tablebox tr th, table.tablebox75 tr th {
background-color: #EEEEEE;
- background: url(./images/grad_v_gw.gif) repeat-x top;
+ background: url('./images/grad_v_gw.gif') repeat-x top;
font-weight: bold;
border-bottom: 1px solid #AFB5CF;
border-left: 0px none;
@@ -326,7 +326,7 @@
font-size: 9.75pt;
font-weight: bold;
color: #000000;
- background: url(./images/grad_v_dlb_tall_light.png) repeat-x top;
+ background: url('./images/grad_v_dlb_tall_light.png') repeat-x top;
border: 1px solid #AFB5CF;
color: #005101;
min-height: 14.25pt;
@@ -338,7 +338,7 @@
/* --------------------------------------------------------------------- */
td.helptopheader {
- background-image: url(./help/images/b32x68_headerbg.png);
+ background-image: url('./help/images/b32x68_headerbg.png');
background-repeat: repeat-x;
}
diff -Nru keepass2-2.35+dfsg/Docs/Chm/help/base/autotype.html keepass2-2.36+dfsg/Docs/Chm/help/base/autotype.html
--- keepass2-2.35+dfsg/Docs/Chm/help/base/autotype.html 2017-01-09 10:10:12.000000000 +0000
+++ keepass2-2.36+dfsg/Docs/Chm/help/base/autotype.html 2017-06-09 08:39:18.000000000 +0000
@@ -127,6 +127,13 @@
is running with administrative rights, KeePass must be running with
administrative rights, too.
+Remote Desktops and Virtual Machines:
+KeePass does not know the keyboard layout that has been selected in
+a remote desktop or virtual machine window.
+If you want to auto-type into such a window, you must ensure
+that the local and the remote/virtual system are using the same
+keyboard layout.
+
@@ -336,7 +343,7 @@
{CLEARFIELD} | Clears the contents of the
edit control that currently has the focus (only single-line edit controls). |
{VKEY X} | Sends the
-virtual key of value X. |
{APPACTIVATE WindowTitle} | Activates
the window "WindowTitle". |
diff -Nru keepass2-2.35+dfsg/Docs/Chm/help/base/credits.html keepass2-2.36+dfsg/Docs/Chm/help/base/credits.html
--- keepass2-2.35+dfsg/Docs/Chm/help/base/credits.html 2017-01-09 10:10:12.000000000 +0000
+++ keepass2-2.36+dfsg/Docs/Chm/help/base/credits.html 2017-06-09 08:39:18.000000000 +0000
@@ -118,7 +118,8 @@
target="_blank">BCMenu).
Davide Calabro |
-MFC class for buttons with icons (
+ | MFC class for buttons with icons (CButtonST). |
Zorglab, Chris Maunder, Alexander Bischofberger, James White, Descartes Systems Sciences Inc. |
@@ -134,7 +135,8 @@
target="_blank">CKCSideBannerWnd).
Chris Maunder |
-MFC class for system tray icons (
+ | MFC class for system tray icons (CSystemTray). |
Hans Dietrich, Chris Maunder |
diff -Nru keepass2-2.35+dfsg/Docs/Chm/help/base/disclaimer.html keepass2-2.36+dfsg/Docs/Chm/help/base/disclaimer.html
--- keepass2-2.35+dfsg/Docs/Chm/help/base/disclaimer.html 2017-01-09 10:10:12.000000000 +0000
+++ keepass2-2.36+dfsg/Docs/Chm/help/base/disclaimer.html 2017-06-09 08:39:18.000000000 +0000
@@ -102,7 +102,8 @@
in order to provide advertisements about goods and services of interest to you.
If you would like more information about this practice and to know your choices
about not having this information used by Google, click
-here.
+
+here.
We use cookies to personalise content and ads, to provide social media
features and to analyse our traffic. We also share information about your use
@@ -112,7 +113,7 @@
Details:
-- Google: Google: How Google uses data when you use our partners' sites or apps.
- Flattr: Flattr Privacy Policy.
@@ -224,7 +225,8 @@
können, die Sie interessieren. Falls Sie mehr über diese Methoden
erfahren möchten oder wissen möchten, welche Möglichkeiten Sie haben,
damit diese Informationen nicht von Google verwendet werden können, klicken Sie
-hier.
+
+hier.
Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren,
Funktionen für soziale Medien anbieten zu können und die Zugriffe
@@ -237,7 +239,7 @@
Details:
@@ -428,11 +428,13 @@
-Only Rijndael (AES) is supported, but KeePass supports additional algorithms
-through encryption plugins. You can find encryption plugins on the
-plugins page.
+AES (Rijndael) and ChaCha20 are supported.
+There exist various
+plugins
+that provide support for additional encryption algorithms,
+including but not limited to Twofish, Serpent and GOST.
-If you'd like to implement an algorithm, have a look at the ArcFourCipher sample plugin.
+If you'd like to implement an algorithm, have a look at the ArcFourCipher sample plugin.
@@ -457,12 +459,13 @@
what to do (the workstation is locked already and no window can't be displayed),
consequently KeePass must make an automatic decision. There are several possibilities:
-
-- Do not save the database and lock.
+
+- Do not save the database and lock.
In this case, all unsaved data of the database would be lost. This not only applies to
the data entered in the current dialog, but to all other entries that have been modified
previously.
-- Save the database and lock.
+
+ - Save the database and lock.
In this case, possibly unwanted changes are saved. Often you open files, try something,
having in mind that you can just close the file without saving the changes.
KeePass has an option 'Automatically save database when KeePass closes or the workspace
@@ -470,7 +473,8 @@
try to save the database and if successful: lock the workspace. But what to do with
the unsaved changes in the sub-dialog? Should it be saved automatically, taking away the
possibility of pressing the 'Cancel' button?
-- Save to a temporary location and lock.
+
+ - Save to a temporary location and lock.
While this sounds the best alternative at first glance, there are several problems with
it, too. First of all, saving to a temporary location could fail (for example there could be too
few disk space or some other program like virus scanner could have blocked it).
@@ -497,7 +501,7 @@
Security consequence: the database is left open when Windows locks.
Normally, you are the only one who can log back in to Windows. When someone else logs in
(like administrator), he can't use your programs anyway. By default, KeePass keeps
-in-memory passwords encrypted, therefore it does not matter if Windows caches the process
+in-memory passwords encrypted, therefore it does not matter if Windows dumps the process
to disk at some time. So, your passwords are pretty safe anyway.
Note. On Windows ≤ XP, the 'Terminal Services'
@@ -530,20 +534,20 @@
diff -Nru keepass2-2.35+dfsg/Docs/Chm/help/base/keys.html keepass2-2.36+dfsg/Docs/Chm/help/base/keys.html
--- keepass2-2.35+dfsg/Docs/Chm/help/base/keys.html 2017-01-09 10:10:12.000000000 +0000
+++ keepass2-2.36+dfsg/Docs/Chm/help/base/keys.html 2017-06-09 08:39:18.000000000 +0000
@@ -173,7 +173,7 @@
Recover Windows User Account Credentials
(a short technical tutorial can be found in a Microsoft TechNet article:
-How to recover a Vault corrupted by lost DPAPI keys).
You can change the password of the Windows user account freely;
@@ -191,7 +191,7 @@
from a domain controller, or a home user can use a previously created
Password Reset Disk).
Details can be found in the MSDN article
-Windows Data Protection and in the support article
How to troubleshoot the Data Protection API (DPAPI).
@@ -223,17 +223,23 @@
-The contents of the MinimumLength
node in
-Security/MasterPassword
can contain
-the minimum master password length in characters. For example, by setting
-the contents to 10
, KeePass will only accept
-master passwords that have at least 10 characters.
-
-The contents of the MinimumQuality
node in
-Security/MasterPassword
can contain
-the minimum estimated quality in bits that master passwords must have. For example,
-by setting the contents to 32
, only master passwords
-with an estimated quality of at least 32 bits will be accepted.
+The value of the
+Security/MasterPassword/MinimumLength
node specifies
+the minimum master password length (in characters). For example, by setting
+it to 10
, KeePass will only accept
+master passwords that consist of at least 10 characters.
+
+The value of the
+Security/MasterPassword/MinimumQuality
node specifies
+the minimum estimated quality (in bits) that master passwords must have.
+For example, by setting it to 80
, only master passwords
+with an estimated quality of at least 80 bits will be accepted.
+
+The Security/MasterKeyExpiryRec
node can be set to an
+XSD date.
+If the master key has not been changed since the specified date,
+KeePass recommends to change it.
By specifying KeyCreationFlags
and/or KeyPromptFlags
(in the UI
node), you can force states (enabled, disabled,
diff -Nru keepass2-2.35+dfsg/Docs/Chm/help/base/placeholders.html keepass2-2.36+dfsg/Docs/Chm/help/base/placeholders.html
--- keepass2-2.35+dfsg/Docs/Chm/help/base/placeholders.html 2017-01-09 10:10:12.000000000 +0000
+++ keepass2-2.36+dfsg/Docs/Chm/help/base/placeholders.html 2017-06-09 08:39:18.000000000 +0000
@@ -277,7 +277,12 @@
- Upper or U:
Upper-case.
- Lower or L:
-Lower-case.
+Lower-case.
+Example.
+Let the user name of an entry be 'Bob
' and
+the URL 'http://myprovider.net/?user={T-CONV:/{USERNAME}/L/}
'.
+When running the URL, KeePass opens
+'http://myprovider.net/?user=bob
'.
- Base64:
The Base64 encoding of the UTF-8 representation of the text.
- Hex:
@@ -286,12 +291,19 @@
The URI-escaped representation of the text.
- Uri-Dec:
The URI-unescaped representation of the text.
+- Raw:
+Spr-compiles Text without encoding the result for the current context.
+Example.
+Let the user name of an entry be '+
'.
+The auto-type sequence '{USERNAME}a
' results in the text
+'+a
', whereas the auto-type sequence
+'{T-CONV:/{USERNAME}/Raw/}a
' results in the text
+'A
'
+(because this placeholder inserts '+
' into the auto-type
+sequence without encoding it, and
+'+a
' means to press Shift+A,
+which results in the text 'A
').
-Usage example.
-Let the user name field contain 'Bob
' and
-the URL field 'http://myprovider.net/?user={T-CONV:/{USERNAME}/L/}
'.
-When running the URL field, KeePass opens
-'http://myprovider.net/?user=bob
'.
@@ -331,6 +343,8 @@
each of these placeholders is replaced by the specified part of the string that is
being overridden.
See below.
+{CMD:/CommandLine/Options/} |
+Runs a command line. See below. |
@@ -416,7 +430,7 @@
KeePass shows the character picking dialog once and reuses the picked characters
in all following placeholders with the same ID.
-Usage examples:
+Usage examples:
{USERNAME}{TAB}{PICKCHARS:Password:C=5}{ENTER}
First a dialog is shown in which the user can pick exactly 5 characters
@@ -515,7 +529,7 @@
HmacOtp-Secret-Base64
(secret as Base64 string).
The counter is stored in decimal form in the HmacOtp-Counter
field.
-Usage example.
+Usage example.
Create a new entry, set its password to the {HMACOTP}
placeholder, switch to the 'Advanced' tab, add a string named
HmacOtp-Secret
with value 12345678901234567890,
@@ -542,7 +556,7 @@
global URL override (defined in 'Tools' -> 'Options' -> tab 'Integration' ->
button 'URL Overrides'), because there no entry context may be available.
-Example. For the entry URL
+Usage example. For the entry URL
http://user:pw@keepass.info:80/path/example.php?q=e&s=t
,
the placeholders return the following values:
@@ -573,5 +587,99 @@
{BASE}
supports exactly the same parts as {URL}
.
+
+
+
+
+{CMD:/CommandLine/Options/}
– Running a command line:
+The {CMD:/CommandLine/Options/}
placeholder
+runs the specified command line.
+
+A command line consists of a path to an executable file or a document
+and command line parameters.
+If the path contains spaces, it must be enclosed in quotes ("
).
+
+The character after the first ':
' specifies the separator
+character. It can be chosen freely (except '{
' and '}
'),
+but it must not occur in the command line or any of the options.
+For example, {CMD:/Notepad.exe/W=0/}
and
+{CMD:!Notepad.exe!W=0!}
are equivalent.
+The separator character at the end (before the '}
') is mandatory.
+
+An option is a key-value pair, separated by '=
'.
+Multiple options must be separated using commas ',
'.
+
+Options:
+
+M
:
+Specifies the method for running/opening the executable/document.
+The default value is S
.
+
+S
:
+Use the system shell (via ShellExecute
).
+With this, executable files are executed and documents are opened
+using their associated applications.
+However, no standard input/output is supported.
+C
:
+Run an executable file (EXE or COM, via CreateProcess
);
+documents are not supported.
+Standard input/output is supported.
+
+
+
+O
:
+Specifies what to do with the standard output of the executed application.
+The default value is 1
.
+
+0
:
+Ignore the standard output. The placeholder is replaced by an empty string.
+1
:
+Replace the placeholder by the standard output.
+
+
+
+W
:
+Specifies whether to wait for the termination of the executed application.
+The default value is 1
.
+
+0
:
+Do not wait.
+1
:
+Wait.
+
+
+
+WS
:
+Specifies the window style. Not all applications support this option.
+The default value is N
.
+
+N
:
+Normal.
+H
:
+Hidden.
+Min
:
+Minimized.
+Max
:
+Maximized.
+
+
+
+V
:
+Specifies the verb (action to be performed),
+e.g. 'Open' or 'Print'.
+When using the verb 'RunAs', the application is executed with administrative
+rights (this may require a confirmation via the UAC dialog).
+
+
+Usage examples:
+
+{CMD:/Notepad.exe/W=0/}
+Runs Notepad and continues immediately.
+{CMD:/PowerShell.exe -Command "(Get-FileHash '%SYSTEMROOT%\Win.ini'
+-Algorithm SHA256).Hash"/M=C,WS=H/}
+The placeholder is replaced by the SHA-256 hash of Windows' Win.ini file.
+
+
+