summaryrefslogtreecommitdiff
path: root/.local
diff options
context:
space:
mode:
Diffstat (limited to '.local')
-rwxr-xr-x.local/share/kio/servicemenus/zfs-vault.desktop16
1 files changed, 16 insertions, 0 deletions
diff --git a/.local/share/kio/servicemenus/zfs-vault.desktop b/.local/share/kio/servicemenus/zfs-vault.desktop
new file mode 100755
index 0000000..d018af9
--- /dev/null
+++ b/.local/share/kio/servicemenus/zfs-vault.desktop
@@ -0,0 +1,16 @@
+[Desktop Entry]
+Type=Service
+X-KDE-ServiceTypes=KonqPopupMenu/Plugin
+MimeType=inode/directory;
+Actions=unlockZfs;lockZfs;
+X-KDE-Priority=TopLevel
+
+[Desktop Action unlockZfs]
+Name=Unlock ZFS Vault
+Icon=dialog-password
+Exec=bash -c 'PASS=$(zenity --password --title="Unlock ZFS Dataset"); if [ -n "$PASS" ]; then echo "$PASS" | sudo zfs load-key iron-wolf/media/documents && sudo zfs mount iron-wolf/media/documents || zenity --error --text="Failed to mount dataset."; fi'
+
+[Desktop Action lockZfs]
+Name=Lock & Unload ZFS Vault
+Icon=object-locked
+Exec=bash -c 'sudo zfs unmount iron-wolf/media/documents && sudo zfs unload-key iron-wolf/media/documents && zenity --info --text="Dataset locked successfully." || zenity --error --text="Failed to unmount. Is the directory in use?"'