guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guix.el: Key bindings for a "package list"


From: Alex Kost
Subject: Re: guix.el: Key bindings for a "package list"
Date: Sat, 06 Sep 2014 20:45:41 +0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Ludovic Courtès (2014-09-06 00:22 +0400) wrote:

> Alex Kost <address@hidden> skribis:
>
>> Ludovic Courtès (2014-09-05 12:26 +0400) wrote:
>>
>>> Alex Kost <address@hidden> skribis:
>>>
>>>> Hello,
>>>>
>>>> I would like to know people's opinions about default key bindings.
>>>>
>>>> Currently in a buffer with a list of packages we have: "u"/"U" to
>>>> unmark/unmark all.  But it leaves no room for marking for upgrade and I
>>>> just bound it to "^" which is not very good.
>>>>
>>>> So what about combining "unmark"/"unmark all" into one key and use
>>>> either:
>>>>
>>>> 1. "U" - unmark ("C-u U" - unmark all);
>>>>    "u" - mark for upgrading.
>>>>
>>>> 2. "u" - unmark ("C-u u" - unmark all);
>>>>    "U" - mark for upgrade.  Should it also require (for consistency) to
>>>>    use upper-case "I"/"D" for marking for installing/deletion?
>>>
>>> I’m hesitant, but I would vote for #2.  I don’t think I and D are needed
>>> though.
>>
>> I prefer this variant as well: "u" is a too common binding for unmarking
>> in Emacs (it is used in dired, buffer-menu, ibuffer, package-menu, ...).
>> So unmarking should probably stay on "u" (and unmark all with prefix).
>
> Yes.
>
>>>> Also should there be a command to mark all obsolete packages for
>>>> upgrading?  If so, what key should it be bound to? (perhaps my favourite
>>>> "^").
>>>
>>> Actually this is what U does in package.el.  But I’m fine with ^ here.
>>
>> Taylan suggested "C-u U" for this one.  And I think it would be perfect,
>> but...
>>
>> Let's say a user has both "foo-1.0:out" and "foo-1.0:doc" installed and
>> one day they become obsolete.  He decides to upgrade only "out" for some
>> reason.  May there exist such a situation?
>
> Ooh.  Well, why not?
>
>> If so, then I think "C-u U" should be used to specify a particular
>> output for upgrading.  Actually I implemented such specifying of outputs
>> for installing and deletion ("i"/"d") but not for upgrading (I don't
>> remember why).
>
> OK.  Then I’m fine with ^.

OK, so the summary is:

- "u" to unmark ("C-u u" to unmark all);

- "i" to mark for installing "out" of the current package ("C-u i" to
  prompt for outputs to install);

- "d" to mark for deleting all outputs of the current package ("C-u d" to
  prompt for outputs to delete);

- "U" to mark for upgrade all outputs of the current package ("C-u U" to
  prompt for outputs to upgrade);

- "^" to mark all obsolete packages for upgrade.

And here is a patch with all changes.  Perhaps it would be better to
split it into several commits or is it OK to push it like this?

Attachment: 0001-emacs-Improve-key-bindings-for-marking-the-packages.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]