unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* dired-like interface for GPG
@ 2014-11-17 19:24 Matthew Leach
  2014-11-17 19:31 ` Drew Adams
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Matthew Leach @ 2014-11-17 19:24 UTC (permalink / raw)
  To: emacs-devel

Hello,

I would soon like to embark on making a GPG interface for Emacs. It will
be somewhat like dired, but you use it manage GPG keys in the keyring.
Does this sound useful?

One question I do have; is it advantageous to develop in a separate git
branch so when this is (hopefully) merged, the entire history is
available?

Many thanks,
-- 
Matt



^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: dired-like interface for GPG
  2014-11-17 19:24 dired-like interface for GPG Matthew Leach
@ 2014-11-17 19:31 ` Drew Adams
  2014-11-18  7:48   ` Daiki Ueno
  2014-11-18 10:05 ` Rasmus
  2014-11-18 14:55 ` Ted Zlatanov
  2 siblings, 1 reply; 7+ messages in thread
From: Drew Adams @ 2014-11-17 19:31 UTC (permalink / raw)
  To: Matthew Leach, emacs-devel

> I would soon like to embark on making a GPG interface for Emacs. It
> will be somewhat like dired, but you use it manage GPG keys in the
> keyring.

If you do, please keep things as close as makes sense to the way
Dired does things (e.g. actions on marked things, conventional
key bindings and menus).  (But only where it makes sense.)



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: dired-like interface for GPG
  2014-11-17 19:31 ` Drew Adams
@ 2014-11-18  7:48   ` Daiki Ueno
  0 siblings, 0 replies; 7+ messages in thread
From: Daiki Ueno @ 2014-11-18  7:48 UTC (permalink / raw)
  To: Drew Adams; +Cc: Matthew Leach, emacs-devel

Drew Adams <drew.adams@oracle.com> writes:

>> I would soon like to embark on making a GPG interface for Emacs. It
>> will be somewhat like dired, but you use it manage GPG keys in the
>> keyring.
>
> If you do, please keep things as close as makes sense to the way
> Dired does things (e.g. actions on marked things, conventional
> key bindings and menus).  (But only where it makes sense.)

I like the idea, since `M-x epa-list-keys' is not very useful for key
management.  For what it's worth I've just added a few functions to
epg.el, for advanced key editing.  Now one can edit key attributes with:

--8<---------------cut here---------------start------------->8---
(defun disable-callback (context status string arg)
  (cond
   ((and (equal status "GET_LINE")
	 (equal string "keyedit.prompt"))
    (if (car arg)
	(process-send-string (epg-context-process context) "quit\n")
      (process-send-string (epg-context-process context) "disable\n")))
   ((equal status "GOT_IT")
    (setcar arg t))
   (t
    (message "Unhandled status: %s %s" status string))))

;; Disable a key, associated with a string "test key".
(let ((context (epg-make-context 'OpenPGP))
      (state (list nil))
      keys)
  (setq keys (epg-list-keys context "test key"))
  (if keys
      (epg-edit-key context (car keys) 'disable-callback state)))
--8<---------------cut here---------------end--------------->8---

The interface is a bit inconvenient, but consistent with the GPGME.

See more practical uses in GPA:
http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gpa.git;a=blob;f=src/gpgmeedit.c;h=7ff9a05c0c5e8fbd1599313735160b8d8812f00b;hb=HEAD#l328

Regards,
--
Daiki Ueno



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: dired-like interface for GPG
  2014-11-17 19:24 dired-like interface for GPG Matthew Leach
  2014-11-17 19:31 ` Drew Adams
@ 2014-11-18 10:05 ` Rasmus
  2014-11-18 14:55 ` Ted Zlatanov
  2 siblings, 0 replies; 7+ messages in thread
From: Rasmus @ 2014-11-18 10:05 UTC (permalink / raw)
  To: emacs-devel

Matthew Leach <matthew@mattleach.net> writes:

> Hello,
>
> I would soon like to embark on making a GPG interface for Emacs. It will
> be somewhat like dired, but you use it manage GPG keys in the keyring.
> Does this sound useful?

Yes.  Especially if it can make it somewhat "easier" to use than GPG!
In the same way that dired is "easier" than the terminal and vc is
"easier" than vanilla git/svn/whatever.

> One question I do have; is it advantageous to develop in a separate git
> branch so when this is (hopefully) merged, the entire history is
> available?

I think that was suggested to Larsi.  But don't take my word for it.

—Rasmus

-- 
Sådan en god dansk lagereddike kan man slet ikke bruge mere




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: dired-like interface for GPG
  2014-11-17 19:24 dired-like interface for GPG Matthew Leach
  2014-11-17 19:31 ` Drew Adams
  2014-11-18 10:05 ` Rasmus
@ 2014-11-18 14:55 ` Ted Zlatanov
  2014-11-18 15:16   ` Drew Adams
  2 siblings, 1 reply; 7+ messages in thread
From: Ted Zlatanov @ 2014-11-18 14:55 UTC (permalink / raw)
  To: emacs-devel

On Mon, 17 Nov 2014 19:24:31 +0000 Matthew Leach <matthew@mattleach.net> wrote: 

ML> I would soon like to embark on making a GPG interface for Emacs. It will
ML> be somewhat like dired, but you use it manage GPG keys in the keyring.
ML> Does this sound useful?

Yes.  Can you please use `tabulated-list-mode'?

The "nsm" branch Lars is developing has a very similar purpose, although
it's managing different things (you want GPG keys, he's doing SSL
certificates).  Perhaps you can use his branch and have one "security
manager" instead of several?

ML> One question I do have; is it advantageous to develop in a separate git
ML> branch so when this is (hopefully) merged, the entire history is
ML> available?

Yes, and right before merging I think it's good to rebase and reduce to
as few commits as possible ("git rebase -i" etc.)

Ted




^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: dired-like interface for GPG
  2014-11-18 14:55 ` Ted Zlatanov
@ 2014-11-18 15:16   ` Drew Adams
  2014-11-18 15:26     ` Ted Zlatanov
  0 siblings, 1 reply; 7+ messages in thread
From: Drew Adams @ 2014-11-18 15:16 UTC (permalink / raw)
  To: emacs-devel

> Yes.  Can you please use `tabulated-list-mode'?

No, please do not do that.  It is much better to use full
Dired as a model.  Dired is much richer than `t-l-mode' -
not comparable at all.  Look to the Dired code as a model
for possible features & behavior in general.

Even if you initially mirror only a few of the Dired
features, it will be good to be able to later mirror more.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: dired-like interface for GPG
  2014-11-18 15:16   ` Drew Adams
@ 2014-11-18 15:26     ` Ted Zlatanov
  0 siblings, 0 replies; 7+ messages in thread
From: Ted Zlatanov @ 2014-11-18 15:26 UTC (permalink / raw)
  To: emacs-devel

On Tue, 18 Nov 2014 07:16:34 -0800 (PST) Drew Adams <drew.adams@oracle.com> wrote: 

>> Yes.  Can you please use `tabulated-list-mode'?
DA> No, please do not do that.  It is much better to use full
DA> Dired as a model.  Dired is much richer than `t-l-mode' -
DA> not comparable at all.  Look to the Dired code as a model
DA> for possible features & behavior in general.

DA> Even if you initially mirror only a few of the Dired
DA> features, it will be good to be able to later mirror more.

I don't agree that GPG key management has a lot in common with Dired, so
mirroring the UI doesn't make a lot of sense to me either.  But the
author should at least consider the two options.

Ted




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-11-18 15:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-11-17 19:24 dired-like interface for GPG Matthew Leach
2014-11-17 19:31 ` Drew Adams
2014-11-18  7:48   ` Daiki Ueno
2014-11-18 10:05 ` Rasmus
2014-11-18 14:55 ` Ted Zlatanov
2014-11-18 15:16   ` Drew Adams
2014-11-18 15:26     ` Ted Zlatanov

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).