Skip to content

Commit 23075f4

Browse files
committed
nemo-seahorse: Turn it into a python action
There's no need for it to be an extension Simpler to maintain in python Drop abandoned dependencies such as libcryptui and all Drop notify (use dialogs) Expose all features to UI (verify, import, decrypt)
1 parent 89c04e4 commit 23075f4

17 files changed

Lines changed: 1223 additions & 483 deletions

generate_desktop_files

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/usr/bin/python3
2+
3+
DOMAIN = "nemo-extensions"
4+
PATH = "/usr/share/locale"
5+
6+
import os
7+
import gettext
8+
from mintcommon import additionalfiles
9+
10+
os.environ['LANGUAGE'] = "en_US.UTF-8"
11+
gettext.install(DOMAIN, PATH)
12+
13+
prefix = "[Nemo Action]\n"
14+
15+
suffix = """Active=true
16+
Exec=nemo-seahorse-tool --sign %U
17+
Icon-Name=xsi-certificate-symbolic
18+
Selection=notnone
19+
Extensions=any;
20+
"""
21+
22+
additionalfiles.generate(DOMAIN, PATH, "nemo-seahorse/data/nemo-seahorse-sign.nemo_action", prefix, _("Sign"), _("Sign the selected files"), suffix)
23+
24+
suffix = """Active=true
25+
Exec=nemo-seahorse-tool --encrypt %U
26+
Icon-Name=xsi-certificate-symbolic
27+
Selection=notnone
28+
Extensions=any;
29+
"""
30+
31+
additionalfiles.generate(DOMAIN, PATH, "nemo-seahorse/data/nemo-seahorse-encrypt.nemo_action", prefix, _("Encrypt..."), _("Encrypt the selected files"), suffix)
32+
33+
suffix = """Active=true
34+
Exec=nemo-seahorse-tool --decrypt %U
35+
Icon-Name=xsi-certificate-symbolic
36+
Selection=notnone
37+
Extensions=gpg;pgp;asc;
38+
"""
39+
40+
additionalfiles.generate(DOMAIN, PATH, "nemo-seahorse/data/nemo-seahorse-decrypt.nemo_action", prefix, _("Decrypt"), _("Decrypt the selected files"), suffix)
41+
42+
suffix = """Active=true
43+
Exec=nemo-seahorse-tool --verify %U
44+
Icon-Name=xsi-certificate-symbolic
45+
Selection=notnone
46+
Extensions=sig;asc;
47+
"""
48+
49+
additionalfiles.generate(DOMAIN, PATH, "nemo-seahorse/data/nemo-seahorse-verify.nemo_action", prefix, _("Verify Signature"), _("Verify the signature of the selected file"), suffix)
50+
51+
suffix = """Active=true
52+
Exec=nemo-seahorse-tool --import %U
53+
Icon-Name=xsi-certificate-symbolic
54+
Selection=notnone
55+
Extensions=asc;gpg;pgp;
56+
"""
57+
58+
additionalfiles.generate(DOMAIN, PATH, "nemo-seahorse/data/nemo-seahorse-import.nemo_action", prefix, _("Import Key"), _("Import the PGP key from the selected file"), suffix)

makepot

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ potfiles_to_extract=(
1313
nemo-pastebin/data/nemo-pastebin-configurator.ui
1414
nemo-repairer/src/encoding-dialog.ui
1515
nemo-repairer/src/repair-dialog.ui
16-
nemo-seahorse/tool/seahorse-multi-encrypt.xml
17-
nemo-seahorse/tool/seahorse-notify.xml
18-
nemo-seahorse/tool/seahorse-progress.xml
1916
nemo-share/interfaces/share-dialog.ui
2017
)
2118

@@ -39,11 +36,6 @@ potfiles_c=(
3936
nemo-repairer/src/*.c
4037
nemo-repairer/src/*.h
4138
nemo-repairer/src/*.ui.h
42-
nemo-seahorse/nemo-ext/*.c
43-
nemo-seahorse/nemo-ext/*.h
44-
nemo-seahorse/tool/*.c
45-
nemo-seahorse/tool/*.h
46-
nemo-seahorse/tool/*.xml.h
4739
nemo-share/interfaces/*.ui.h
4840
nemo-share/src/*.c
4941
nemo-share/src/*.h
@@ -57,8 +49,9 @@ potfiles_python=(
5749
nemo-pastebin/*.py
5850
nemo-pastebin/src/*.py
5951
nemo-pastebin/data/*.ui.h
52+
nemo-seahorse/tool/nemo-seahorse-tool
6053
nemo-terminal/src/*.py
61-
54+
generate_desktop_files
6255
)
6356
potfiles_javascript=(
6457
nemo-preview/src/js/*/*.js
@@ -67,5 +60,6 @@ potfiles_javascript=(
6760
xgettext --language=C --keyword=_ --keyword=N_ --keyword=g_dngettext:2,3 --output="$pot" --join-existing "${potfiles_c[@]}"
6861
xgettext --language=JavaScript --keyword=_ --keyword=N_ --output="$pot" --join-existing "${potfiles_javascript[@]}"
6962
xgettext --language=Python --keyword=_ --keyword=N_ --output="$pot" --join-existing "${potfiles_python[@]}"
63+
xgettext --language=Desktop --output="$pot" --join-existing nemo-seahorse/data/*.nemo_action
7064

7165
rm -f "${potfiles_extracted[@]}"

nemo-seahorse/data/meson.build

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
1-
dataconf = configuration_data()
2-
dataconf.set('VERSION', meson.project_version())
3-
41
install_data(
52
'org.nemo.plugins.seahorse.gschema.xml',
63
'org.nemo.plugins.seahorse.window.gschema.xml',
74
install_dir: get_option('datadir') / 'glib-2.0' / 'schemas',
85
)
96

7+
install_data(
8+
'nemo-seahorse-encrypt.nemo_action',
9+
'nemo-seahorse-sign.nemo_action',
10+
'nemo-seahorse-decrypt.nemo_action',
11+
'nemo-seahorse-verify.nemo_action',
12+
'nemo-seahorse-import.nemo_action',
13+
install_dir: get_option('datadir') / 'nemo' / 'actions',
14+
)
15+
1016
install_man('nemo-seahorse-tool.1')
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[Nemo Action]
2+
Name=Decrypt
3+
Comment=Decrypt the selected files
4+
Active=true
5+
Exec=nemo-seahorse-tool --decrypt %U
6+
Icon-Name=xsi-certificate-symbolic
7+
Selection=notnone
8+
Extensions=gpg;pgp;asc;
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
[Nemo Action]
2+
Name=Encrypt...
3+
Name[am]=መመስጠሪያ...
4+
Name[ar]=التشفير...
5+
Name[be]=Зашыфраваць...
6+
Name[bg]=Шифриране…
7+
Name[br]=Enrinegañ...
8+
Name[ca]=Xifra...
9+
Name[ca@valencia]=Xifra...
10+
Name[cs]=Zašifrovat…
11+
Name[cy]=Amgryptio...
12+
Name[da]=Kryptér …
13+
Name[de]=Verschlüsseln …
14+
Name[el]=Κρυπτογράφηση...
15+
Name[eo]=Ĉifri...
16+
Name[es]=Cifrar…
17+
Name[et]=Krüpteeri...
18+
Name[eu]=Enkriptatu...
19+
Name[fa]=رمزگذاری
20+
Name[fi]=Salaa...
21+
Name[fr]=Chiffrer…
22+
Name[fr_CA]=Chiffrer…
23+
Name[he]=הצפנה...
24+
Name[hi]=एन्क्रिप्ट करें ...
25+
Name[hr]=Šifriraj...
26+
Name[hu]=Titkosítás…
27+
Name[ia]=Cifrar...
28+
Name[id]=Mengenkripsi...
29+
Name[ie]=Ciffrar...
30+
Name[is]=Dulrita...
31+
Name[it]=Cifra...
32+
Name[ja]=暗号化...
33+
Name[ka]=დაშიფვრა...
34+
Name[kab]=Wgelhen...
35+
Name[ko]=암호화...
36+
Name[la]=Crypta ...
37+
Name[lo]=ເຂົ້າລະຫັດ...
38+
Name[lt]=Šifruoti...
39+
Name[lv]=Šifrēt...
40+
Name[nb]=Krypter...
41+
Name[nl]=Versleutelen…
42+
Name[nn]=Krypter...
43+
Name[oc]=Chifrar…
44+
Name[pl]=Zaszyfruj...
45+
Name[pt]=Cifrar…
46+
Name[pt_BR]=Criptografar...
47+
Name[ro]=Criptează...
48+
Name[ru]=Зашифровать...
49+
Name[sk]=Zašifrovať...
50+
Name[sl]=Šifriraj ...
51+
Name[sq]=Enkripto...
52+
Name[sr]=Шифрирај...
53+
Name[sr@latin]=Šifruj...
54+
Name[sv]=Kryptera…
55+
Name[tr]=Şifrele...
56+
Name[uk]=Зашифрувати…
57+
Name[uz]=Shifrlash...
58+
Name[vi]=Mã hoá...
59+
Name[zh_CN]=加密...
60+
Name[zh_HK]=加密...
61+
Name[zh_TW]=加密...
62+
Comment=Encrypt the selected files
63+
Active=true
64+
Exec=nemo-seahorse-tool --encrypt %U
65+
Icon-Name=xsi-certificate-symbolic
66+
Selection=notnone
67+
Extensions=any;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[Nemo Action]
2+
Name=Import Key
3+
Comment=Import the PGP key from the selected file
4+
Active=true
5+
Exec=nemo-seahorse-tool --import %U
6+
Icon-Name=xsi-certificate-symbolic
7+
Selection=notnone
8+
Extensions=asc;gpg;pgp;
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
[Nemo Action]
2+
Name=Sign
3+
Name[am]=መፈረሚያ
4+
Name[ar]=التوقيع
5+
Name[be]=Подпіс
6+
Name[bg]=Подписване
7+
Name[br]=Sinañ
8+
Name[ca]=Signa
9+
Name[ca@valencia]=Signa
10+
Name[cs]=Podepsat
11+
Name[cy]=Llofnodi
12+
Name[da]=Signér
13+
Name[de]=Unterschrieben
14+
Name[el]=Υπογραφή
15+
Name[eo]=Subskribi
16+
Name[es]=Firmar
17+
Name[et]=Allkirjasta
18+
Name[eu]=Sinatu
19+
Name[fa]=امضا
20+
Name[fi]=Allekirjoita
21+
Name[fr]=Signer
22+
Name[fr_CA]=Signer
23+
Name[he]=חתימה
24+
Name[hi]=हस्ताक्षर करें
25+
Name[hr]=Potpis
26+
Name[hu]=Aláírás
27+
Name[ia]=Signo
28+
Name[id]=Tanda Tangan
29+
Name[ie]=Signar
30+
Name[is]=Undirrita
31+
Name[it]=Firma
32+
Name[ja]=署名
33+
Name[ka]=ხელმოწერა
34+
Name[kab]=Zmel
35+
Name[ko]=서명
36+
Name[la]=Signa
37+
Name[lo]=ລົງລາຍເຊັນ
38+
Name[lt]=Pasirašyti
39+
Name[lv]=Parakstīt
40+
Name[nb]=Signer
41+
Name[nl]=Ondertekenen
42+
Name[oc]=Signar
43+
Name[pl]=Podpisz
44+
Name[pt]=Assinar
45+
Name[pt_BR]=Assinar
46+
Name[ro]=Semnează
47+
Name[ru]=Подписать
48+
Name[sk]=Podpísať
49+
Name[sl]=Podpiši
50+
Name[sq]=Shenjë
51+
Name[sr]=Натпис
52+
Name[sr@latin]=Potpiši
53+
Name[sv]=Signera
54+
Name[tr]=İmzala
55+
Name[uk]=Підпис
56+
Name[uz]=Imzolash
57+
Name[vi]=Ký
58+
Name[zh_CN]=签署
59+
Name[zh_HK]=簽署
60+
Name[zh_TW]=簽署
61+
Comment=Sign the selected files
62+
Active=true
63+
Exec=nemo-seahorse-tool --sign %U
64+
Icon-Name=xsi-certificate-symbolic
65+
Selection=notnone
66+
Extensions=any;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[Nemo Action]
2+
Name=Verify Signature
3+
Comment=Verify the signature of the selected file
4+
Active=true
5+
Exec=nemo-seahorse-tool --verify %U
6+
Icon-Name=xsi-certificate-symbolic
7+
Selection=notnone
8+
Extensions=sig;asc;

nemo-seahorse/debian/control

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,17 @@ Section: gnome
33
Priority: optional
44
Maintainer: Clement Lefebvre <[email protected]>
55
Build-Depends: debhelper-compat (= 12),
6-
meson,
7-
libgpgme-dev (>= 1.2.0),
8-
libnotify-dev (>= 0.7.0),
9-
libdbus-glib-1-dev (>= 0.78),
10-
libcryptui-dev,
11-
libglib2.0-dev (>= 2.37.3),
12-
libgtk-3-dev (>= 3.0.0),
13-
libnemo-extension-dev,
14-
libgcr-3-dev (>= 3.4.0)
6+
meson
157
Standards-Version: 3.9.6
168

179
Package: nemo-seahorse
18-
Architecture: any
19-
Depends: ${shlibs:Depends},
20-
${misc:Depends},
21-
seahorse-daemon (>= 3.2.2)
22-
Recommends: seahorse
23-
Replaces: seahorse-plugins
10+
Architecture: all
11+
Depends: ${misc:Depends},
12+
python3,
13+
python3-gpg,
14+
python3-gi,
15+
gir1.2-gtk-3.0,
16+
seahorse
2417
Description: seahorse plugins and utilities for encryption
2518
Nemo-Seahorse is an extension for Nemo which allows encryption
2619
and decryption of OpenPGP files using GnuPG - the GNU Privacy

nemo-seahorse/debian/rules

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
#!/usr/bin/make -f
22

3-
export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
4-
53
%:
64
dh $@ --buildsystem=meson

0 commit comments

Comments
 (0)