mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-09-29 22:07:49 +00:00
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~
|
**** New variable : ~org-deadline-past-days~
|
||||||
See docstring for details.
|
See docstring for details.
|
||||||
**** Binding C-c C-x < for ~org-agenda-set-restriction-lock-from-agenda~
|
**** 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~
|
*** New value for ~org-publish-sitemap-sort-folders~
|
||||||
|
|
||||||
The new ~ignore~ value effectively allows toggling inclusion of
|
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
|
(defvaralias 'org-agenda-remove-tags-when-in-prefix
|
||||||
'org-agenda-remove-tags)
|
'org-agenda-remove-tags)
|
||||||
|
|
||||||
(defcustom org-agenda-tags-column -80
|
(defcustom org-agenda-tags-column 'auto
|
||||||
"Shift tags in agenda items to this column.
|
"Shift tags in agenda items to this column.
|
||||||
If this number is positive, it specifies the column. If it is negative,
|
If set to `auto', tags will be automatically aligned to the right
|
||||||
it means that the tags should be flushright to that column. For example,
|
edge of the window.
|
||||||
-80 works well for a normal 80 character screen."
|
|
||||||
|
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
|
: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)
|
(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)
|
(defun org-agenda-align-tags (&optional line)
|
||||||
"Align all tags in agenda items to `org-agenda-tags-column'."
|
"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
|
(save-excursion
|
||||||
(goto-char (if line (point-at-bol) (point-min)))
|
(goto-char (if line (point-at-bol) (point-min)))
|
||||||
(while (re-search-forward "\\([ \t]+\\)\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$"
|
(while (re-search-forward "\\([ \t]+\\)\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$"
|
||||||
|
|
Loading…
Reference in a new issue