org-sticky-header
org-sticky-header copied to clipboard
Jump to headings in path by clicking
First, thanks for this simple and yet very useful package. I have some ideas that you might think about:
- The beginning of the first header is not always at the same positions which makes it jumpy and therefore unpleasant during scrolling.
- I would like to customize the background colour.
- Ability to "mouse-1" the headers and jump to it
Kind regards, tech77
First, thanks for this simple and yet very useful package.
You're welcome.
I have some ideas that you might think about:
- The beginning of the first header is not always at the same positions which makes it jumpy and therefore unpleasant during scrolling.
The header is aligned with the position of its counterpart in the buffer, so deeper headings are indented to the right. You could make an option for that, but I think most users would leave it enabled.
- I would like to customize the background colour.
The headings are fontified like in Org mode. You can adjust the face header-line
to adjust the background color of header lines in general.
- Ability to "mouse-1" the headers and jump to it
That could be useful in some cases. I guess you could do this by applying a keymap text property to the string shown in the header line.
The header is aligned with the position of its counterpart in the buffer, so deeper headings are indented to the right. You could make an option for that, but I think most users would leave it enabled.
I imagine that makes sense if you leave org-sticky-header-full-path
at nil
, but when you use full
it looks wrong during scrolling. Some web-pages also have such a tree that just "grows" to the right as deeper you go.
The headings are fontified like in Org mode. You can adjust the face header-line to adjust the background color of header lines in general.
The idea was to have an independent option without being forced to change something else. I assume someone needs to add this to the code. Most likely not me since I lack any coding skills.
That could be useful in some cases. I guess you could do this by applying a keymap text property to the string shown in the header line.
I guess that went over my head. Let's just say I hope the "mouse-1" works magically someday.
Kind regards, tech77
Thanks for sharing the screenshot, that helps me understand much better. Looks like a very nice theme, by the way! Would you mind sharing the a screenshot of the whole Emacs displaying that config file? :)
I imagine that makes sense if you leave org-sticky-header-full-path at nil, but when you use full it looks wrong during scrolling.
Yeah, that's a good point. I use reversed
for org-sticky-header-full-path
, which means that the indented heading in the header matches up with the one in the buffer. But if you don't use the reversed format, it wouldn't look good.
Well, there is already an option for what prefix string to display before the header: org-sticky-header-prefix
. You can set it to a custom string or nil
.
Have you checked all the customization options? i.e. M-x customize-group RET org-sticky-header RET
.
The headings are fontified like in Org mode. You can adjust the face header-line to adjust the background color of header lines in general.
The idea was to have an independent option without being forced to change something else. I assume someone needs to add this to the code. Most likely not me since I lack any coding skills.
I'm open to this idea, but we need to be more specific about how it would work. I could add an option for a face to apply to the header string, but setting that face would work the same way as setting the header-line
face, so unless you really want this package's header line to be displayed differently than all other header lines, that wouldn't do much. And then there's the question of how the face should be applied relative to the Org heading faces and the existing header-line
face. Which should take priority?
Exactly what change are you wanting to make to how the string is displayed? Background color, text color, font, etc?
I guess that went over my head. Let's just say I hope the "mouse-1" works magically someday.
I'll see what I can do...
Ok, I added that feature. Please let me know how it works for you.
The theme is built-in. (load-theme 'tango-dark t)
Dark, high contrast even for comments, colourful and no problem with any package. For some reason it seems to run under the radar.
My mistake. I used (setq org-sticky-header-heading-star "📌:")
instead of (setq org-sticky-header-prefix "📌: ")
Now everything seems to be o.k. during scrolling.
During testing I saw that when using (setq org-sticky-header-full-path 'reversed)
then (setq org-sticky-header-outline-path-separator " < ")
seems to be ignored. It reverts to the default separator. Bug?
As someone who doesn't really know "how the magic works", I have difficulties seeing potential problems when making suggestions. As suggested by you I customized header-line
and it turned out to be o.k. I feared it might cause problems but it turned out to be the opposite.
The mouse-1 implementation works. Would it be difficult to make it "see" where I click? Assume the header shows the full path and I click it on root it would take me to the root - like a web page.
There exists org-sticky-header-outline-path-reversed-separator
The mouse-1 implementation works. Would it be difficult to make it "see" where I click? Assume the header shows the full path and I click it on root it would take me to the root - like a web page.
Sorry for missing your question all this time.
I don't understand what you're asking here.
Looking at this again, I think I understand what you're asking for. I think that should be doable. I probably won't work on that idea soon, though.