* I'm not subscriber, but want to send a code.
@ 2024-02-03 23:59 Teika Kazura
2024-02-04 16:43 ` Ihor Radchenko
0 siblings, 1 reply; 3+ messages in thread
From: Teika Kazura @ 2024-02-03 23:59 UTC (permalink / raw)
To: emacs-orgmode
Hi, list moderators.
I'd like to submit a code to this mailing list without subscribing it.
Or, if you can forward the following to the list.
Thanks a lot for keeping this list.
------------------------------------------------------------------------
[Wishitem] Show the current node name in the header line (w/ sample implementation)
-----------------------------------------------------------------------
Hi. The following code shows the current "node name" (outline header
name) in the emacs header line:
------------------------------------------------------------------------
(defun org-mode-show-node-in-header ()
(setq header-line-format
'(:eval
(org-compute-node-name-for-header))))
(defun org-compute-node-name-for-header ()
(let ((level 0)
cur
(str "")
(nodes (org-get-outline-path t)))
(while nodes
(unless (eq level 0)
(setq str (concat str " ")))
(setq cur (car nodes))
(put-text-property 0 (length cur) 'face (nth level org-level-faces) cur)
(setq str (concat str cur))
(setq level (1+ level))
(setq nodes (cdr nodes)))
str
))
(add-hook 'org-mode-hook #'org-mode-show-node-in-header)
------------------------------------------------------------------------
If you like, adopt it for org-mode. Feel free to modify.
Several things have to be considered.
1. It does not seem there's a fixed word for "node name" (outline
headers). I know there's the function "org-get-outline-path". OTOH the
info does never use the word "path" for this purpose. Nor does
outline-mode (of Emacs.)
2. It's better to implement it as a minor mode.
3. In the header line, my code shows the node names concatenated by
" " (a single space), but it can be turned into an option. Some people
may prefer e.g. " > ".
4. I use org-level-faces. I think it's ok. If users don't like it,
they can hack the code.
5. Maybe you want to ask emacs upstream to enable multiple headers /
multiple-line header. (I'm sure then you'll throw yourself into a
tough situation.)
Sorry that I can't help with none of these issues.
I got an inspiration of this post from
https://emacs.stackexchange.com/a/30901 , but I wrote the code on my
own, so there is no copyright problem. Still you may want to check other
answers there to improve this.
Please cc: to me. I'm not subscribing the org mailing list.
I'm so grateful for your work in org-mode.
Best regards,
Teika
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: I'm not subscriber, but want to send a code.
2024-02-03 23:59 I'm not subscriber, but want to send a code Teika Kazura
@ 2024-02-04 16:43 ` Ihor Radchenko
2024-02-05 5:12 ` Teika Kazura
0 siblings, 1 reply; 3+ messages in thread
From: Ihor Radchenko @ 2024-02-04 16:43 UTC (permalink / raw)
To: Teika Kazura; +Cc: emacs-orgmode
Teika Kazura <teika@gmx.com> writes:
> ------------------------------------------------------------------------
> [Wishitem] Show the current node name in the header line (w/ sample implementation)
> -----------------------------------------------------------------------
> Hi. The following code shows the current "node name" (outline header
> name) in the emacs header line:
> ...
Thanks for the suggestion!
Have you seen org-eldoc.el library (a part of org-contrib)?
It provides a similar functionality using eldoc-mode.
By default, eldoc-mode uses echo area to display the breadcrumbs.
However, you may customize `eldoc-display-functions' to display the
breadcrumbs in header line.
eldoc-mode allows multiline messages.
> If you like, adopt it for org-mode. Feel free to modify.
You might also be interested in https://github.com/joaotavora/breadcrumb
I believe that the proposed functionality is already covered by either
org-eldoc.el or breadcrumb.el. So, we do not need to re-implement it
within Org mode.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-02-05 5:14 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-03 23:59 I'm not subscriber, but want to send a code Teika Kazura
2024-02-04 16:43 ` Ihor Radchenko
2024-02-05 5:12 ` Teika Kazura
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.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).