20 Commits

Author SHA1 Message Date
davide 3f90a46fa5 gitignore: ignore egg-info metadata 2026-05-06 11:06:13 +02:00
davide 013d234348 appimage: update type2 runtime xz pin 2026-05-06 11:05:02 +02:00
davide f3c376d8f4 docs: add Davide Grilli as BitcoinPurple fork author in AUTHORS 2026-05-06 10:25:40 +02:00
davide 39d65bb454 docs: add Davide Grilli copyright to LICENCE for BitcoinPurple fork additions 2026-05-06 10:25:06 +02:00
davide 13f8be46b3 docs: update README to identify Electrum Purple as unofficial BitcoinPurple fork by Davide Grilli 2026-05-06 10:24:21 +02:00
davide 4fc74d5510 fix: correct broken electrum-purple symlink (was ../run_electrum, now run_electrum) 2026-05-06 10:20:28 +02:00
davide 63e76fb088 fix: update Qt wizard icon reference to electrum-purple.png 2026-05-06 10:20:04 +02:00
davide 029ec7ab2d fix: use dynamic Config.baseUnitsList in Preferences.qml instead of hardcoded BTC names 2026-05-06 10:04:24 +02:00
davide 5ddbb637fa fix: expose baseUnitsList as QML property for network-aware unit names 2026-05-06 10:04:02 +02:00
davide 7e782baa73 fix: correct stale 'electrum' references in build scripts and Java classes
- apprun.sh: exec electrum-purple (was: electrum) — AppImage would fail to launch
- electrum-purple.nsi: shortcuts point to electrum-purple-VERSION.exe (was: electrum-VERSION.exe)
- SimpleScannerActivity.java: import org.electrumpurple.electrum_purple.res.R
- BiometricActivity.java: import org.electrumpurple.electrum_purple.res.R + title Electrum Purple
- run_electrum: is_local check looks for electrum-purple.desktop
2026-05-06 09:54:30 +02:00
davide 55f2ba2586 fix: update setup.py data_files and pyinstaller.spec for electrum-purple rename 2026-05-06 09:14:39 +02:00
davide 2ab945833a chore: update Android buildozer spec for Electrum Purple 2026-05-06 09:10:32 +02:00
davide 2a7cf8278b chore: rename NSIS installer script and update for Electrum Purple
- Rename contrib/build-wine/electrum.nsi to electrum-purple.nsi
- Update PRODUCT_NAME from "Electrum" to "Electrum Purple"
- Update PRODUCT_WEB_SITE to https://github.com/DavideGrilli/electrum
- Update PRODUCT_PUBLISHER to "Electrum Purple"
- Update OutFile to dist/electrum-purple-setup.exe
- Update icon references to electrum-purple.ico
- Update exe references to electrum-purple-${PRODUCT_VERSION}.exe
- Update build-electrum-git.sh to reference new NSI filename
- Update NAME_ROOT to electrum-purple in build-electrum-git.sh

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-06 09:08:46 +02:00
davide 1a09d60a95 chore: update AppImage build script for electrum-purple naming 2026-05-06 09:04:25 +02:00
davide 99f11fc5cb chore: update icon references from electrum.png to electrum-purple.png 2026-05-06 09:03:08 +02:00
davide d22bd6c379 chore: rename electrum.png and electrum.ico to electrum-purple.* 2026-05-06 09:03:02 +02:00
davide 1ae12899f6 chore: fix stale comment in electrum-purple.desktop 2026-05-06 09:01:37 +02:00
davide 729a0081a5 chore: rename desktop and metainfo files for Electrum Purple 2026-05-06 08:57:35 +02:00
davide 90f567d57b chore: rename pip package to electrum-purple, entry point to electrum-purple 2026-05-06 08:52:31 +02:00
davide 645216003f chore: bump version to 1.0.0 for Electrum Purple fork 2026-05-06 08:49:03 +02:00
32 changed files with 121 additions and 84 deletions
+1
View File
@@ -5,6 +5,7 @@
build/
dist/
*.egg/
*.egg-info/
Electrum.egg-info/
.devlocaltmp/
*_trial_temp
+3 -1
View File
@@ -1,4 +1,6 @@
ThomasV - Creator and maintainer.
Davide Grilli <davide.grilli@outlook.com> - BitcoinPurple fork author and maintainer.
ThomasV - Creator and maintainer (original Electrum).
Animazing / Tachikoma - Styled the new GUI. Mac version.
Azelphur - GUI stuff.
Coblee - Alternate coin support and py2app support.
+1
View File
@@ -1,5 +1,6 @@
The MIT License (MIT)
Copyright (c) 2024-2026 Davide Grilli (BitcoinPurple fork additions)
Copyright (c) 2011-2024 The Electrum developers
Copyright (c) 2011-2024 Thomas Voegtlin
+2 -2
View File
@@ -1,9 +1,9 @@
include LICENCE RELEASE-NOTES AUTHORS
include README.md
include electrum.desktop
include electrum-purple.desktop
include *.py
include run_electrum
include org.electrum.electrum.metainfo.xml
include org.electrumpurple.electrum-purple.metainfo.xml
recursive-include packages *.py
recursive-include packages cacert.pem
+46 -18
View File
@@ -1,16 +1,46 @@
# Electrum - Lightweight Bitcoin client
# Electrum Purple - Lightweight BitcoinPurple Wallet
> **Unofficial fork** of [Electrum](https://github.com/spesmilo/electrum) with support for the [BitcoinPurple](https://bitcoinpurple.org) network.
```
Licence: MIT Licence
Author: Thomas Voegtlin
Language: Python (>= 3.10)
Homepage: https://electrum.org/
Licence: MIT Licence
Fork author: Davide Grilli <davide.grilli@outlook.com>
Original author: Thomas Voegtlin
Language: Python (>= 3.10)
Upstream: https://github.com/spesmilo/electrum
```
[![Build Status](https://api.cirrus-ci.com/github/spesmilo/electrum.svg?branch=master)](https://cirrus-ci.com/github/spesmilo/electrum)
[![Test coverage statistics](https://coveralls.io/repos/github/spesmilo/electrum/badge.svg?branch=master)](https://coveralls.io/github/spesmilo/electrum?branch=master)
[![Help translate Electrum online](https://d322cqt584bo4o.cloudfront.net/electrum/localized.svg)](https://crowdin.com/project/electrum)
---
## About this fork
This project is an **unofficial, independent fork** of Electrum, maintained by **Davide Grilli**.
It adds first-class support for the **BitcoinPurple (BTCP)** network — a Bitcoin fork with
1-minute blocks and a 120-block difficulty retarget window — while keeping full compatibility
with the original Electrum codebase and all upstream bug fixes.
This fork is **not affiliated with, endorsed by, or supported by** the original Electrum project
or its developers. For the official Bitcoin wallet, use [electrum.org](https://electrum.org/).
### What is different from upstream Electrum
- `--bitcoinpurple` and `--bitcoinpurple_testnet` launch flags
- BitcoinPurple chain parameters (1-min blocks, 120-block retarget, adjusted PoW limits)
- Lightning Network timeouts scaled for 1-minute block times
- Branding and packaging renamed to `electrum-purple` / `Electrum Purple`
Everything else — wallet format, Lightning support, hardware wallets, plugins — is identical
to upstream Electrum.
### Licence and credits
This software is released under the **MIT Licence**, the same licence as the original Electrum.
All original copyright notices are preserved as required by the licence.
Original copyright: © 2011-2024 Thomas Voegtlin and The Electrum developers.
Fork additions: © 2024-2026 Davide Grilli.
---
## Getting started
@@ -142,15 +172,13 @@ $ pytest tests/test_bitcoin.py -v
## Contributing
Any help testing the software, reporting or fixing bugs, reviewing pull requests
and recent changes, writing tests, or helping with outstanding issues is very welcome.
Implementing new features, or improving/refactoring the codebase, is of course
also welcome, but to avoid wasted effort, especially for larger changes,
we encourage discussing these on the issue tracker or IRC first.
Bug reports, testing, and pull requests for BitcoinPurple-specific features are welcome.
Besides [GitHub](https://github.com/spesmilo/electrum),
most communication about Electrum development happens on IRC, in the
`#electrum` channel on Libera Chat. The easiest way to participate on IRC is
with the web client, [web.libera.chat](https://web.libera.chat/#electrum).
For issues unrelated to BitcoinPurple support (core wallet, Lightning, hardware wallets),
please check the [upstream Electrum project](https://github.com/spesmilo/electrum) first —
fixes merged upstream can be rebased into this fork.
Please improve translations on [Crowdin](https://crowdin.com/project/electrum).
---
*Electrum Purple is an independent fork and is not affiliated with the Electrum project.*
*Original Electrum translations are maintained on [Crowdin](https://crowdin.com/project/electrum).*
+3 -3
View File
@@ -1,13 +1,13 @@
[app]
# (str) Title of your application
title = Electrum
title = Electrum Purple
# (str) Package name
package.name = Electrum
package.name = electrum_purple
# (str) Package domain (needed for android/ios packaging)
package.domain = org.electrum
package.domain = org.electrumpurple
# (str) Source code where the main.py live
source.dir = .
+1 -1
View File
@@ -8,4 +8,4 @@ export LD_LIBRARY_PATH="${APPDIR}/usr/lib/:${APPDIR}/usr/lib/x86_64-linux-gnu${L
export PATH="${APPDIR}/usr/bin:${PATH}"
export LDFLAGS="-L${APPDIR}/usr/lib/x86_64-linux-gnu -L${APPDIR}/usr/lib"
exec "${APPDIR}/usr/bin/python3" -s "${APPDIR}/usr/bin/electrum" "$@"
exec "${APPDIR}/usr/bin/python3" -s "${APPDIR}/usr/bin/electrum-purple" "$@"
@@ -7,7 +7,7 @@ CONTRIB="$PROJECT_ROOT/contrib"
CONTRIB_APPIMAGE="$CONTRIB/build-linux/appimage"
DISTDIR="$PROJECT_ROOT/dist"
BUILDDIR="$CONTRIB_APPIMAGE/build/appimage"
APPDIR="$BUILDDIR/electrum.AppDir"
APPDIR="$BUILDDIR/electrum-purple.AppDir"
CACHEDIR="$CONTRIB_APPIMAGE/.cache/appimage"
TYPE2_RUNTIME_REPO_DIR="$CACHEDIR/type2-runtime"
export DLL_TARGET_DIR="$CACHEDIR/dlls"
@@ -25,7 +25,7 @@ PY_VER_MAJOR="3.12" # as it appears in fs paths
PKG2APPIMAGE_COMMIT="a9c85b7e61a3a883f4a35c41c5decb5af88b6b5d"
VERSION=$(git describe --tags --dirty --always)
APPIMAGE="$DISTDIR/electrum-$VERSION-x86_64.AppImage"
APPIMAGE="$DISTDIR/electrum-purple-$VERSION-x86_64.AppImage"
rm -rf "$BUILDDIR"
mkdir -p "$APPDIR" "$CACHEDIR" "$PIP_CACHE_DIR" "$DISTDIR" "$DLL_TARGET_DIR"
@@ -159,8 +159,8 @@ info "installing electrum and its dependencies."
info "desktop integration."
cp "$PROJECT_ROOT/electrum.desktop" "$APPDIR/electrum.desktop"
cp "$PROJECT_ROOT/electrum/gui/icons/electrum.png" "$APPDIR/electrum.png"
cp "$PROJECT_ROOT/electrum-purple.desktop" "$APPDIR/electrum-purple.desktop"
cp "$PROJECT_ROOT/electrum/gui/icons/electrum-purple.png" "$APPDIR/electrum-purple.png"
# add launcher
@@ -108,7 +108,7 @@ index 07b6533..fba9c6e 100644
+ autoconf=2.72-r0 \
+ automake=1.17-r0 \
+ libtool=2.4.7-r3 \
+ xz=5.6.3-r1 \
+ xz=5.8.3-r0 \
+ eudev-dev=3.2.14-r5 \
+ gettext-dev=0.22.5-r0 \
+ linux-headers=6.6-r1 \
+4 -4
View File
@@ -1,6 +1,6 @@
#!/bin/bash
NAME_ROOT=electrum
NAME_ROOT=electrum-purple
PROJECT_ROOT="$WINEPREFIX/drive_c/electrum"
export PYTHONDONTWRITEBYTECODE=1 # don't create __pycache__/ folders with .pyc files
@@ -70,11 +70,11 @@ find -exec touch -h -d '2000-11-11T11:11:11+00:00' {} +
popd
info "building NSIS installer"
# $VERSION could be passed to the electrum.nsi script, but this would require some rewriting in the script itself.
makensis -DPRODUCT_VERSION=$VERSION electrum.nsi
# $VERSION could be passed to the electrum-purple.nsi script, but this would require some rewriting in the script itself.
makensis -DPRODUCT_VERSION=$VERSION electrum-purple.nsi
cd dist
mv electrum-setup.exe $NAME_ROOT-$VERSION-setup.exe
mv electrum-purple-setup.exe $NAME_ROOT-$VERSION-setup.exe
cd ..
info "Padding binaries to 8-byte boundaries, and fixing COFF image checksum in PE header"
@@ -6,9 +6,9 @@
;--------------------------------
;Variables
!define PRODUCT_NAME "Electrum"
!define PRODUCT_WEB_SITE "https://github.com/spesmilo/electrum"
!define PRODUCT_PUBLISHER "Electrum Technologies GmbH"
!define PRODUCT_NAME "Electrum Purple"
!define PRODUCT_WEB_SITE "https://github.com/DavideGrilli/electrum"
!define PRODUCT_PUBLISHER "Electrum Purple"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
;--------------------------------
@@ -16,7 +16,7 @@
;Name and file
Name "${PRODUCT_NAME}"
OutFile "dist/electrum-setup.exe"
OutFile "dist/electrum-purple-setup.exe"
;Default installation folder
InstallDir "$PROGRAMFILES64\${PRODUCT_NAME}"
@@ -72,7 +72,7 @@
!define MUI_ABORTWARNING
!define MUI_ABORTWARNING_TEXT "Are you sure you wish to abort the installation of ${PRODUCT_NAME}?"
!define MUI_ICON "..\..\electrum\gui\icons\electrum.ico"
!define MUI_ICON "..\..\electrum\gui\icons\electrum-purple.ico"
;--------------------------------
;Pages
@@ -168,7 +168,7 @@ Section
;Files to pack into the installer
File /r "dist\electrum\*.*"
File "..\..\electrum\gui\icons\electrum.ico"
File "..\..\electrum\gui\icons\electrum-purple.ico"
;Store installation folder
WriteRegStr HKCU "Software\${PRODUCT_NAME}" "" $INSTDIR
@@ -179,33 +179,33 @@ Section
;Create desktop shortcut
DetailPrint "Creating desktop shortcut..."
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-${PRODUCT_VERSION}.exe" ""
CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe" ""
;Create start-menu items
DetailPrint "Creating start-menu items..."
CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\Uninstall.exe" "" "$INSTDIR\Uninstall.exe" 0
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-${PRODUCT_VERSION}.exe" "" "$INSTDIR\electrum-${PRODUCT_VERSION}.exe" 0
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Testnet.lnk" "$INSTDIR\electrum-${PRODUCT_VERSION}.exe" "--testnet" "$INSTDIR\electrum-${PRODUCT_VERSION}.exe" 0
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe" "" "$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe" 0
CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME} Testnet.lnk" "$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe" "--testnet" "$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe" 0
;Links bitcoin:, lightning: and lnurl LUD-17 URIs to Electrum
WriteRegStr HKCU "Software\Classes\bitcoin" "" "URL:bitcoin Protocol"
WriteRegStr HKCU "Software\Classes\bitcoin" "URL Protocol" ""
WriteRegStr HKCU "Software\Classes\bitcoin" "DefaultIcon" "$\"$INSTDIR\electrum.ico, 0$\""
WriteRegStr HKCU "Software\Classes\bitcoin\shell\open\command" "" "$\"$INSTDIR\electrum-${PRODUCT_VERSION}.exe$\" $\"%1$\""
WriteRegStr HKCU "Software\Classes\bitcoin" "DefaultIcon" "$\"$INSTDIR\electrum-purple.ico, 0$\""
WriteRegStr HKCU "Software\Classes\bitcoin\shell\open\command" "" "$\"$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe$\" $\"%1$\""
WriteRegStr HKCU "Software\Classes\lightning" "" "URL:lightning Protocol"
WriteRegStr HKCU "Software\Classes\lightning" "URL Protocol" ""
WriteRegStr HKCU "Software\Classes\lightning" "DefaultIcon" "$\"$INSTDIR\electrum.ico, 0$\""
WriteRegStr HKCU "Software\Classes\lightning\shell\open\command" "" "$\"$INSTDIR\electrum-${PRODUCT_VERSION}.exe$\" $\"%1$\""
WriteRegStr HKCU "Software\Classes\lightning" "DefaultIcon" "$\"$INSTDIR\electrum-purple.ico, 0$\""
WriteRegStr HKCU "Software\Classes\lightning\shell\open\command" "" "$\"$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe$\" $\"%1$\""
WriteRegStr HKCU "Software\Classes\lnurlp" "" "URL:lnurlp Protocol"
WriteRegStr HKCU "Software\Classes\lnurlp" "URL Protocol" ""
WriteRegStr HKCU "Software\Classes\lnurlp" "DefaultIcon" "$\"$INSTDIR\electrum.ico, 0$\""
WriteRegStr HKCU "Software\Classes\lnurlp\shell\open\command" "" "$\"$INSTDIR\electrum-${PRODUCT_VERSION}.exe$\" $\"%1$\""
WriteRegStr HKCU "Software\Classes\lnurlp" "DefaultIcon" "$\"$INSTDIR\electrum-purple.ico, 0$\""
WriteRegStr HKCU "Software\Classes\lnurlp\shell\open\command" "" "$\"$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe$\" $\"%1$\""
WriteRegStr HKCU "Software\Classes\lnurlw" "" "URL:lnurlw Protocol"
WriteRegStr HKCU "Software\Classes\lnurlw" "URL Protocol" ""
WriteRegStr HKCU "Software\Classes\lnurlw" "DefaultIcon" "$\"$INSTDIR\electrum.ico, 0$\""
WriteRegStr HKCU "Software\Classes\lnurlw\shell\open\command" "" "$\"$INSTDIR\electrum-${PRODUCT_VERSION}.exe$\" $\"%1$\""
WriteRegStr HKCU "Software\Classes\lnurlw" "DefaultIcon" "$\"$INSTDIR\electrum-purple.ico, 0$\""
WriteRegStr HKCU "Software\Classes\lnurlw\shell\open\command" "" "$\"$INSTDIR\electrum-purple-${PRODUCT_VERSION}.exe$\" $\"%1$\""
;Adds an uninstaller possibility to Windows Uninstall or change a program section
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
@@ -213,7 +213,7 @@ Section
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum.ico"
WriteRegStr HKCU "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\electrum-purple.ico"
;Fixes Windows broken size estimates
${GetSize} "$INSTDIR" "/S=0K" $0 $1 $2
+1 -1
View File
@@ -12,7 +12,7 @@ if TYPE_CHECKING:
PYPKG="electrum"
MAIN_SCRIPT="run_electrum"
PROJECT_ROOT = "C:/electrum"
ICONS_FILE=f"{PROJECT_ROOT}/{PYPKG}/gui/icons/electrum.ico"
ICONS_FILE=f"{PROJECT_ROOT}/{PYPKG}/gui/icons/electrum-purple.ico"
cmdline_name = os.environ.get("ELECTRUM_CMDLINE_NAME")
if not cmdline_name:
+1
View File
@@ -0,0 +1 @@
run_electrum
+8 -8
View File
@@ -1,18 +1,18 @@
# If you want Electrum to appear in a Linux app launcher ("start menu"), install this by doing:
# sudo desktop-file-install electrum.desktop
# sudo desktop-file-install electrum-purple.desktop
# Note: This assumes $HOME/.local/bin is in your $PATH
[Desktop Entry]
Comment=Lightweight Bitcoin Client
Exec=electrum %u
Comment=Lightweight Bitcoin client with BitcoinPurple support
Exec=electrum-purple %u
GenericName[en_US]=Bitcoin Wallet
GenericName=Bitcoin Wallet
Icon=electrum
Name[en_US]=Electrum Bitcoin Wallet
Name=Electrum Bitcoin Wallet
Icon=electrum-purple
Name[en_US]=Electrum Purple Bitcoin Wallet
Name=Electrum Purple Bitcoin Wallet
Categories=Finance;Network;
StartupNotify=true
StartupWMClass=electrum
StartupWMClass=electrum-purple
Terminal=false
Type=Application
MimeType=x-scheme-handler/bitcoin;x-scheme-handler/lightning;x-scheme-handler/lnurlp;x-scheme-handler/lnurlw;
@@ -20,5 +20,5 @@ Actions=Testnet;
Keywords=crypto;currency;BTC
[Desktop Action Testnet]
Exec=electrum --testnet %u
Exec=electrum-purple --testnet %u
Name=Testnet mode
-1
View File
@@ -1 +0,0 @@
../run_electrum

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

+1 -1
View File
@@ -15,7 +15,7 @@ Pane {
padding: 0
property var _baseunits: ['BTC','mBTC','bits','sat']
property var _baseunits: Config.baseUnitsList
ColumnLayout {
anchors.fill: parent
@@ -36,7 +36,7 @@ Item {
Image {
visible: _qrprops.valid
source: '../../../icons/electrum.png'
source: '../../../icons/electrum-purple.png'
x: 1
y: 1
width: parent.width - 2
+1 -1
View File
@@ -81,7 +81,7 @@ ApplicationWindow
MenuItem {
icon.color: action.enabled ? 'transparent' : Material.iconDisabledColor
icon.source: '../../icons/electrum.png'
icon.source: '../../icons/electrum-purple.png'
action: Action {
text: qsTr('About');
onTriggered: menu.openPage(Qt.resolvedUrl('About.qml'))
@@ -17,7 +17,7 @@ ElDialog {
title: (pages.currentItem.wizard_title ? pages.currentItem.wizard_title : wizardTitle) +
(pages.currentItem.title ? ' - ' + pages.currentItem.title : '')
iconSource: '../../../icons/electrum.png'
iconSource: '../../../icons/electrum-purple.png'
// android back button triggers close() on Popups. Disabling close here,
// we handle that via Keys.onReleased event handler in the root layout.
@@ -22,7 +22,7 @@ import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.IvParameterSpec;
import org.electrum.electrum.res.R;
import org.electrumpurple.electrum_purple.res.R;
public class BiometricActivity extends Activity {
private static final String TAG = "BiometricActivity";
@@ -54,7 +54,7 @@ public class BiometricActivity extends Activity {
Executor executor = getMainExecutor();
BiometricPrompt biometricPrompt = new BiometricPrompt.Builder(this)
.setTitle("Electrum Wallet")
.setTitle("Electrum Purple")
.setAllowedAuthenticators(BiometricManager.Authenticators.BIOMETRIC_STRONG | BiometricManager.Authenticators.DEVICE_CREDENTIAL)
.setSubtitle(authMessage)
.build();
@@ -27,7 +27,7 @@ import de.markusfisch.android.zxingcpp.ZxingCpp.Result;
import de.markusfisch.android.zxingcpp.ZxingCpp.ContentType;
import org.electrum.electrum.res.R; // package set in build.gradle
import org.electrumpurple.electrum_purple.res.R; // package set in build.gradle
public class SimpleScannerActivity extends Activity {
private static final int MY_PERMISSIONS_CAMERA = 1002;
+1 -1
View File
@@ -170,7 +170,7 @@ class QEAppController(BaseCrashReporter, QObject):
icon = "" # plyer wants image to be in .ico format on Windows
else:
icon = os.path.join(
os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "icons", "electrum.png",
os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "icons", "electrum-purple.png",
)
try:
# TODO: lazy load not in UI thread please
+5
View File
@@ -89,6 +89,11 @@ class QEConfig(AuthMixin, QObject):
self.config.set_base_unit(unit)
self.baseUnitChanged.emit()
@pyqtProperty('QVariantList', notify=baseUnitChanged)
def baseUnitsList(self):
from electrum.util import get_base_units_list
return get_base_units_list()
@pyqtProperty('QRegularExpression', notify=baseUnitChanged)
def btcAmountRegex(self):
return self._btcAmountRegex()
+1 -1
View File
@@ -164,7 +164,7 @@ class ElectrumGui(BaseElectrumGui, Logger):
self.app.installEventFilter(self.screenshot_protection_efilter)
# explicitly set 'AA_DontShowIconsInMenus' False so menu icons are shown on MacOS
self.app.setAttribute(Qt.ApplicationAttribute.AA_DontShowIconsInMenus, on=False)
self.app.setWindowIcon(read_QIcon("electrum.png"))
self.app.setWindowIcon(read_QIcon("electrum-purple.png"))
self.translator = ElectrumTranslator()
self.app.installTranslator(self.translator)
self._cleaned_up = False
+1 -1
View File
@@ -251,7 +251,7 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, Logger, QtEventListener):
if self.config.GUI_QT_WINDOW_IS_MAXIMIZED:
self.showMaximized()
self.setWindowIcon(read_QIcon("electrum.png"))
self.setWindowIcon(read_QIcon("electrum-purple.png"))
self.init_menubar()
wrtabs = weakref.proxy(tabs)
+2 -2
View File
@@ -110,7 +110,7 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
self.setTabOrder(self.back_button, self.next_button)
self.icon_filename = None
self.set_icon('electrum.png')
self.set_icon('electrum-purple.png')
self.start_viewstate = start_viewstate
@@ -196,7 +196,7 @@ class QEAbstractWizard(QDialog, MessageBoxMixin):
self.please_wait_l.setText(page.busy_msg if page.busy_msg else _("Please wait..."))
self.error_msg.setText(str(page.error))
self.error.setVisible(not page.busy and bool(page.error))
icon = page.params.get('icon', icon_path('electrum.png'))
icon = page.params.get('icon', icon_path('electrum-purple.png'))
if icon:
if icon != self.icon_filename:
self.set_icon(icon)
+1 -1
View File
@@ -1,4 +1,4 @@
ELECTRUM_VERSION = '4.7.2' # version of the client package
ELECTRUM_VERSION = '1.0.0' # version of the client package
PROTOCOL_VERSION_MIN = '1.4' # electrum protocol
PROTOCOL_VERSION_MAX = '1.6'
@@ -9,9 +9,9 @@
-->
<component type="desktop-application">
<id>org.electrum.electrum</id>
<id>org.electrumpurple.electrum-purple</id>
<name>Electrum</name>
<name>Electrum Purple</name>
<summary>Bitcoin Wallet</summary>
<metadata_license>MIT</metadata_license>
@@ -29,7 +29,7 @@
<name>The Electrum developers</name>
</developer>
<launchable type="desktop-id">electrum.desktop</launchable>
<launchable type="desktop-id">electrum-purple.desktop</launchable>
<content_rating type="oars-1.1" />
</component>
+1 -1
View File
@@ -47,7 +47,7 @@ is_appimage = 'APPIMAGE' in os.environ
is_binary_distributable = is_pyinstaller or is_android or is_appimage
# is_local: unpacked tar.gz but not pip installed, or git clone
is_local = (not is_binary_distributable
and os.path.exists(os.path.join(script_dir, "electrum.desktop")))
and os.path.exists(os.path.join(script_dir, "electrum-purple.desktop")))
is_git_clone = is_local and os.path.exists(os.path.join(script_dir, ".git"))
if is_git_clone:
+5 -5
View File
@@ -35,9 +35,9 @@ data_files = []
if platform.system() in ['Linux', 'FreeBSD', 'DragonFly']:
# note: we can't use absolute paths here. see #7787
data_files += [
(os.path.join('share', 'applications'), ['electrum.desktop']),
(os.path.join('share', 'pixmaps'), ['electrum/gui/icons/electrum.png']),
(os.path.join('share', 'icons/hicolor/128x128/apps'), ['electrum/gui/icons/electrum.png']),
(os.path.join('share', 'applications'), ['electrum-purple.desktop']),
(os.path.join('share', 'pixmaps'), ['electrum/gui/icons/electrum-purple.png']),
(os.path.join('share', 'icons/hicolor/128x128/apps'), ['electrum/gui/icons/electrum-purple.png']),
]
extras_require = {
@@ -56,7 +56,7 @@ extras_require['fast'] = extras_require['crypto']
setup(
name="Electrum",
name="electrum-purple",
version=version.ELECTRUM_VERSION,
python_requires='>={}'.format(MIN_PYTHON_VERSION),
install_requires=requirements,
@@ -71,7 +71,7 @@ setup(
# package_data kwarg lists what gets put in site-packages when pip installing the tar.gz.
# By specifying include_package_data=True, MANIFEST.in becomes responsible for both.
include_package_data=True,
scripts=['electrum/electrum'],
scripts=['electrum-purple'],
data_files=data_files,
description="Lightweight Bitcoin Wallet",
author="Thomas Voegtlin",