org-agenda.el: Add option to automatically align tags in agenda
* lisp/org-agenda.el (org-agenda-tags-column): Add 'auto setting. (org-agenda-align-tags): Handle automatic alignment. TINYCHANGE
This commit is contained in:
parent
f1b2a95bee
commit
7e46af419c
|
@ -112,6 +112,12 @@ docstrings.
|
|||
**** New variable : ~org-deadline-past-days~
|
||||
See docstring for details.
|
||||
**** Binding C-c C-x < for ~org-agenda-set-restriction-lock-from-agenda~
|
||||
**** New auto-align default setting for =org-agenda-tags-column=
|
||||
|
||||
=org-agenda-tags-column= can now be set to =auto=, which will
|
||||
automatically align tags to the right edge of the window. This is now
|
||||
the default setting.
|
||||
|
||||
*** New value for ~org-publish-sitemap-sort-folders~
|
||||
|
||||
The new ~ignore~ value effectively allows toggling inclusion of
|
||||
|
|
|
@ -1886,13 +1886,21 @@ When this is the symbol `prefix', only remove tags when
|
|||
(defvaralias 'org-agenda-remove-tags-when-in-prefix
|
||||
'org-agenda-remove-tags)
|
||||
|
||||
(defcustom org-agenda-tags-column -80
|
||||
(defcustom org-agenda-tags-column 'auto
|
||||
"Shift tags in agenda items to this column.
|
||||
If this number is positive, it specifies the column. If it is negative,
|
||||
it means that the tags should be flushright to that column. For example,
|
||||
-80 works well for a normal 80 character screen."
|
||||
If set to `auto', tags will be automatically aligned to the right
|
||||
edge of the window.
|
||||
|
||||
If set to a positive number, tags will be left-aligned to that
|
||||
column. If set to a negative number, tags will be right-aligned
|
||||
to that column. For example, -80 works well for a normal 80
|
||||
character screen."
|
||||
:group 'org-agenda-line-format
|
||||
:type 'integer)
|
||||
:type '(choice
|
||||
(const :tag "Automatically align to right edge of window" auto)
|
||||
(integer :tag "Specific column" -80))
|
||||
:package-version '(Org . "9.1")
|
||||
:version "26.1")
|
||||
|
||||
(defvaralias 'org-agenda-align-tags-to-column 'org-agenda-tags-column)
|
||||
|
||||
|
@ -8959,7 +8967,11 @@ If FORCE-TAGS is non nil, the car of it returns the new tags."
|
|||
|
||||
(defun org-agenda-align-tags (&optional line)
|
||||
"Align all tags in agenda items to `org-agenda-tags-column'."
|
||||
(let ((inhibit-read-only t) l c)
|
||||
(let ((inhibit-read-only t)
|
||||
(org-agenda-tags-column (if (eq 'auto org-agenda-tags-column)
|
||||
(- (window-text-width))
|
||||
org-agenda-tags-column))
|
||||
l c)
|
||||
(save-excursion
|
||||
(goto-char (if line (point-at-bol) (point-min)))
|
||||
(while (re-search-forward "\\([ \t]+\\)\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$"
|
||||
|
|
Loading…
Reference in New Issue