Let user adjust the column widths of the package menu.

* lisp/emacs-lisp/package.el (package-name-column-width)
(package-version-column-width, package-status-column-width)
(package-archive-column-width): New defcustoms.
(package-menu-mode):
Use the values of defcustoms instead of hardcoded
values.  (Bug#41086)
This commit is contained in:
Chris McMahan 2020-05-05 14:15:01 -04:00 committed by Eli Zaretskii
parent b4a1519189
commit d7fc6bd17c

View file

@ -397,6 +397,26 @@ synchronously."
:type 'boolean
:version "25.1")
(defcustom package-name-column-width 30
"Column width for the Package name in the package menu."
:type 'number
:version "28.1")
(defcustom package-version-column-width 14
"Column width for the Package version in the package menu."
:type 'number
:version "28.1")
(defcustom package-status-column-width 12
"Column width for the Package status in the package menu."
:type 'number
:version "28.1")
(defcustom package-archive-column-width 8
"Column width for the Package status in the package menu."
:type 'number
:version "28.1")
;;; `package-desc' object definition
;; This is the struct used internally to represent packages.
@ -2750,11 +2770,11 @@ Letters do not insert themselves; instead, they are commands.
(package-menu--transaction-status
package-menu--transaction-status)))
(setq tabulated-list-format
`[("Package" 18 package-menu--name-predicate)
("Version" 13 package-menu--version-predicate)
("Status" 10 package-menu--status-predicate)
`[("Package" ,package-name-column-width package-menu--name-predicate)
("Version" ,package-version-column-width package-menu--version-predicate)
("Status" ,package-status-column-width package-menu--status-predicate)
,@(if (cdr package-archives)
'(("Archive" 10 package-menu--archive-predicate)))
`(("Archive" ,package-archive-column-width package-menu--archive-predicate)))
("Description" 0 package-menu--description-predicate)])
(setq tabulated-list-padding 2)
(setq tabulated-list-sort-key (cons "Status" nil))