emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* ANN: org-sticky-header
@ 2017-04-17 23:41 Adam Porter
  2017-04-18  3:28 ` Eric Abrahamsen
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Adam Porter @ 2017-04-17 23:41 UTC (permalink / raw)
  To: emacs-orgmode

Hi friends,

I've posted another package which you might find useful:

https://github.com/alphapapa/org-sticky-header

It's modeled on semantic-stickyfunc-mode.  When you scroll down and push
an Org heading out of view, it displays that heading in the Emacs header
line at the top of the window so you don't forget which heading the
partially displayed entry at the top belongs to.

It seems to be working well so far.  Please let me know if you have any
feedback.

Thanks,
Adam

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-17 23:41 Adam Porter
@ 2017-04-18  3:28 ` Eric Abrahamsen
  2017-04-18 23:10   ` Adam Porter
  2017-04-18 13:29 ` Carsten Dominik
  2017-04-18 23:51 ` Adam Porter
  2 siblings, 1 reply; 26+ messages in thread
From: Eric Abrahamsen @ 2017-04-18  3:28 UTC (permalink / raw)
  To: emacs-orgmode

Adam Porter <adam@alphapapa.net> writes:

> Hi friends,
>
> I've posted another package which you might find useful:
>
> https://github.com/alphapapa/org-sticky-header
>
> It's modeled on semantic-stickyfunc-mode.  When you scroll down and push
> an Org heading out of view, it displays that heading in the Emacs header
> line at the top of the window so you don't forget which heading the
> partially displayed entry at the top belongs to.
>
> It seems to be working well so far.  Please let me know if you have any
> feedback.

I love it! I've wanted something like this for long text files for ages
-- this scratches a very old itch. Thanks for doing this, and I'll
report back with issues, though it's work great so far.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
       [not found] <a8497792e3994095a9867e508a90bb3f@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
@ 2017-04-18  7:21 ` Eric S Fraga
  2017-04-18 23:53   ` Adam Porter
       [not found]   ` <ea4543fad79c4e9687992e41ef77062e@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
  0 siblings, 2 replies; 26+ messages in thread
From: Eric S Fraga @ 2017-04-18  7:21 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 488 bytes --]

On Monday, 17 Apr 2017 at 23:41, Adam Porter wrote:
> Hi friends,
>
> I've posted another package which you might find useful:
>
> https://github.com/alphapapa/org-sticky-header

Interesting and seems to work well overall.  One minor point: for some
reason, the contents of the header line are shifted to the right by one
character so there's a little dissonance.  I use org-indent-mode in case
that matters.

-- 
: Eric S Fraga (0xFFFCF67D), Emacs 26.0.50, Org release_9.0.5-444-g998576

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 194 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-17 23:41 Adam Porter
  2017-04-18  3:28 ` Eric Abrahamsen
@ 2017-04-18 13:29 ` Carsten Dominik
  2017-04-18 13:51   ` John Kitchin
                     ` (2 more replies)
  2017-04-18 23:51 ` Adam Porter
  2 siblings, 3 replies; 26+ messages in thread
From: Carsten Dominik @ 2017-04-18 13:29 UTC (permalink / raw)
  To: Adam Porter; +Cc: org-mode list

[-- Attachment #1: Type: text/plain, Size: 1171 bytes --]

Hi Adam,

this is great, I love it!

I am wondering if you would consider the possibility to show on only the
most recent heading, but, space permitting, the outline path - maybe in
reverse order as to keep the sticky heading itself in the left-most column.

Something like

*** current level | ** level above | * top level

you could use `org-get-outline-path' to get the other headings up the tree.

I don't necessarily think it should be the default, but it could be an
option.

Cheers

Carsten

P.S. I also see what Eric Fraga is seeing and would love to have this issue
solved.


On Tue, Apr 18, 2017 at 1:41 AM, Adam Porter <adam@alphapapa.net> wrote:

> Hi friends,
>
> I've posted another package which you might find useful:
>
> https://github.com/alphapapa/org-sticky-header
>
> It's modeled on semantic-stickyfunc-mode.  When you scroll down and push
> an Org heading out of view, it displays that heading in the Emacs header
> line at the top of the window so you don't forget which heading the
> partially displayed entry at the top belongs to.
>
> It seems to be working well so far.  Please let me know if you have any
> feedback.
>
> Thanks,
> Adam
>
>
>

[-- Attachment #2: Type: text/html, Size: 1874 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18 13:29 ` Carsten Dominik
@ 2017-04-18 13:51   ` John Kitchin
  2017-04-18 13:55     ` Carsten Dominik
                       ` (2 more replies)
  2017-04-18 13:57   ` Kaushal Modi
  2017-04-18 23:06   ` Adam Porter
  2 siblings, 3 replies; 26+ messages in thread
From: John Kitchin @ 2017-04-18 13:51 UTC (permalink / raw)
  To: Carsten Dominik; +Cc: Adam Porter, org-mode list

Indeed, very cool!

The spacing seems to come in here:

(defun org-sticky-header--fetch-stickyline ()
  "Make the heading at the top of the current window sticky.
Capture its heading line, and place it in the header line.
If there is no heading, disable the header line."
  (save-excursion
    (goto-char (window-start))
    (unless (org-at-heading-p)
      (org-back-to-heading)
      ;; TODO: 3 spaces seems to be almost right, but it's still not
      ;; perfect, and it's probably not universally right.  Something
      ;; related to org-indent might be good.
      (if org-sticky-header-full-path
          (org-format-outline-path (org-get-outline-path t) nil "   ")
        (concat "   " (buffer-substring (line-beginning-position)
  (line-end-position)))))))

Maybe the three spaces should be stored in a defcustom. I like no spaces
personally.

Carsten Dominik writes:

> Hi Adam,
>
> this is great, I love it!
>
> I am wondering if you would consider the possibility to show on only the
> most recent heading, but, space permitting, the outline path - maybe in
> reverse order as to keep the sticky heading itself in the left-most column.
>
> Something like
>
> *** current level | ** level above | * top level
>
> you could use `org-get-outline-path' to get the other headings up the tree.
>
> I don't necessarily think it should be the default, but it could be an
> option.
>
> Cheers
>
> Carsten
>
> P.S. I also see what Eric Fraga is seeing and would love to have this issue
> solved.
>
>
> On Tue, Apr 18, 2017 at 1:41 AM, Adam Porter <adam@alphapapa.net> wrote:
>
>> Hi friends,
>>
>> I've posted another package which you might find useful:
>>
>> https://github.com/alphapapa/org-sticky-header
>>
>> It's modeled on semantic-stickyfunc-mode.  When you scroll down and push
>> an Org heading out of view, it displays that heading in the Emacs header
>> line at the top of the window so you don't forget which heading the
>> partially displayed entry at the top belongs to.
>>
>> It seems to be working well so far.  Please let me know if you have any
>> feedback.
>>
>> Thanks,
>> Adam
>>
>>
>>


--
Professor John Kitchin
Doherty Hall A207F
Department of Chemical Engineering
Carnegie Mellon University
Pittsburgh, PA 15213
412-268-7803
@johnkitchin
http://kitchingroup.cheme.cmu.edu

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18 13:51   ` John Kitchin
@ 2017-04-18 13:55     ` Carsten Dominik
       [not found]     ` <2357163c15c549d3a13e923dc7d5f6ea@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
  2017-04-18 23:07     ` Adam Porter
  2 siblings, 0 replies; 26+ messages in thread
From: Carsten Dominik @ 2017-04-18 13:55 UTC (permalink / raw)
  To: John Kitchin; +Cc: Adam Porter, org-mode list

[-- Attachment #1: Type: text/plain, Size: 2630 bytes --]

Hahaha, stupid me, full outline path is already implemented.

Excellent.

Carsten

On Tue, Apr 18, 2017 at 3:51 PM, John Kitchin <jkitchin@andrew.cmu.edu>
wrote:

> Indeed, very cool!
>
> The spacing seems to come in here:
>
> (defun org-sticky-header--fetch-stickyline ()
>   "Make the heading at the top of the current window sticky.
> Capture its heading line, and place it in the header line.
> If there is no heading, disable the header line."
>   (save-excursion
>     (goto-char (window-start))
>     (unless (org-at-heading-p)
>       (org-back-to-heading)
>       ;; TODO: 3 spaces seems to be almost right, but it's still not
>       ;; perfect, and it's probably not universally right.  Something
>       ;; related to org-indent might be good.
>       (if org-sticky-header-full-path
>           (org-format-outline-path (org-get-outline-path t) nil "   ")
>         (concat "   " (buffer-substring (line-beginning-position)
>   (line-end-position)))))))
>
> Maybe the three spaces should be stored in a defcustom. I like no spaces
> personally.
>
> Carsten Dominik writes:
>
> > Hi Adam,
> >
> > this is great, I love it!
> >
> > I am wondering if you would consider the possibility to show on only the
> > most recent heading, but, space permitting, the outline path - maybe in
> > reverse order as to keep the sticky heading itself in the left-most
> column.
> >
> > Something like
> >
> > *** current level | ** level above | * top level
> >
> > you could use `org-get-outline-path' to get the other headings up the
> tree.
> >
> > I don't necessarily think it should be the default, but it could be an
> > option.
> >
> > Cheers
> >
> > Carsten
> >
> > P.S. I also see what Eric Fraga is seeing and would love to have this
> issue
> > solved.
> >
> >
> > On Tue, Apr 18, 2017 at 1:41 AM, Adam Porter <adam@alphapapa.net> wrote:
> >
> >> Hi friends,
> >>
> >> I've posted another package which you might find useful:
> >>
> >> https://github.com/alphapapa/org-sticky-header
> >>
> >> It's modeled on semantic-stickyfunc-mode.  When you scroll down and push
> >> an Org heading out of view, it displays that heading in the Emacs header
> >> line at the top of the window so you don't forget which heading the
> >> partially displayed entry at the top belongs to.
> >>
> >> It seems to be working well so far.  Please let me know if you have any
> >> feedback.
> >>
> >> Thanks,
> >> Adam
> >>
> >>
> >>
>
>
> --
> Professor John Kitchin
> Doherty Hall A207F
> Department of Chemical Engineering
> Carnegie Mellon University
> Pittsburgh, PA 15213
> 412-268-7803
> @johnkitchin
> http://kitchingroup.cheme.cmu.edu
>

[-- Attachment #2: Type: text/html, Size: 3833 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18 13:29 ` Carsten Dominik
  2017-04-18 13:51   ` John Kitchin
@ 2017-04-18 13:57   ` Kaushal Modi
  2017-04-18 23:06   ` Adam Porter
  2 siblings, 0 replies; 26+ messages in thread
From: Kaushal Modi @ 2017-04-18 13:57 UTC (permalink / raw)
  To: Carsten Dominik, Adam Porter; +Cc: org-mode list


[-- Attachment #1.1: Type: text/plain, Size: 873 bytes --]

On Tue, Apr 18, 2017 at 9:30 AM Carsten Dominik <dominik@uva.nl> wrote:

> Hi Adam,
>
> this is great, I love it!
>
> I am wondering if you would consider the possibility to show on only the
> most recent heading, but, space permitting, the outline path - maybe in
> reverse order as to keep the sticky heading itself in the left-most column.
>
> Something like
>
> *** current level | ** level above | * top level
>
> you could use `org-get-outline-path' to get the other headings up the tree.
>
> I don't necessarily think it should be the default, but it could be an
> option.
>
> Cheers
>

On that note, there is also org-eldoc.el in contrib/ that sort of does what
you want.

"sort of" because:

- Shows the breadcrumbs in the echo area instead of in header.
- Shows that only when point is on an org heading, not when in the body.

[image: pasted1]
-- 

Kaushal Modi

[-- Attachment #1.2: Type: text/html, Size: 1557 bytes --]

[-- Attachment #2: pasted1 --]
[-- Type: image/png, Size: 13349 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
       [not found]     ` <2357163c15c549d3a13e923dc7d5f6ea@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
@ 2017-04-18 17:22       ` Eric S Fraga
  2017-04-18 19:16         ` Leslie Watter
  2017-04-18 23:09         ` Adam Porter
  0 siblings, 2 replies; 26+ messages in thread
From: Eric S Fraga @ 2017-04-18 17:22 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 321 bytes --]

On Tuesday, 18 Apr 2017 at 13:55, Carsten Dominik wrote:
> Hahaha, stupid me, full outline path is already implemented.

It is indeed but it would still be nice to have it in reverse order, as
you suggested in an earlier post.  My top level headline overwhelms the
header...

-- 
Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 194 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18 17:22       ` Eric S Fraga
@ 2017-04-18 19:16         ` Leslie Watter
  2017-04-18 23:09         ` Adam Porter
  1 sibling, 0 replies; 26+ messages in thread
From: Leslie Watter @ 2017-04-18 19:16 UTC (permalink / raw)
  To: org-mode-email

[-- Attachment #1: Type: text/plain, Size: 557 bytes --]

I really liked it. I'm editing a huge document and it helps a lot having
the clue in which header I am!

Thanks

LEslie

On Tue, Apr 18, 2017 at 2:22 PM, Eric S Fraga <e.fraga@ucl.ac.uk> wrote:

> On Tuesday, 18 Apr 2017 at 13:55, Carsten Dominik wrote:
> > Hahaha, stupid me, full outline path is already implemented.
>
> It is indeed but it would still be nice to have it in reverse order, as
> you suggested in an earlier post.  My top level headline overwhelms the
> header...
>
> --
> Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D)
>



-- 
Leslie H. Watter

[-- Attachment #2: Type: text/html, Size: 1111 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18 13:29 ` Carsten Dominik
  2017-04-18 13:51   ` John Kitchin
  2017-04-18 13:57   ` Kaushal Modi
@ 2017-04-18 23:06   ` Adam Porter
  2017-04-19  5:46     ` Carsten Dominik
  2 siblings, 1 reply; 26+ messages in thread
From: Adam Porter @ 2017-04-18 23:06 UTC (permalink / raw)
  To: emacs-orgmode

Carsten Dominik <dominik@uva.nl> writes:

Hi Carsten,

> I am wondering if you would consider the possibility to show on only
> the most recent heading, but, space permitting, the outline path -
> maybe in reverse order as to keep the sticky heading itself in the
> left-most column.

That's a great idea, I will add that.  Thanks.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18 13:51   ` John Kitchin
  2017-04-18 13:55     ` Carsten Dominik
       [not found]     ` <2357163c15c549d3a13e923dc7d5f6ea@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
@ 2017-04-18 23:07     ` Adam Porter
  2 siblings, 0 replies; 26+ messages in thread
From: Adam Porter @ 2017-04-18 23:07 UTC (permalink / raw)
  To: emacs-orgmode

John Kitchin <jkitchin@andrew.cmu.edu> writes:

Hi John,

> Maybe the three spaces should be stored in a defcustom. I like no spaces
> personally.

Yep, I will put it in an option right away.  Thanks.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18 17:22       ` Eric S Fraga
  2017-04-18 19:16         ` Leslie Watter
@ 2017-04-18 23:09         ` Adam Porter
  1 sibling, 0 replies; 26+ messages in thread
From: Adam Porter @ 2017-04-18 23:09 UTC (permalink / raw)
  To: emacs-orgmode

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> It is indeed but it would still be nice to have it in reverse order, as
> you suggested in an earlier post.  My top level headline overwhelms the
> header...

Will fix that right away, thanks!

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18  3:28 ` Eric Abrahamsen
@ 2017-04-18 23:10   ` Adam Porter
  0 siblings, 0 replies; 26+ messages in thread
From: Adam Porter @ 2017-04-18 23:10 UTC (permalink / raw)
  To: emacs-orgmode

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

> I love it! I've wanted something like this for long text files for ages
> -- this scratches a very old itch. Thanks for doing this, and I'll
> report back with issues, though it's work great so far.

Thanks, Eric, I'm glad it's useful for you.  :)

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-17 23:41 Adam Porter
  2017-04-18  3:28 ` Eric Abrahamsen
  2017-04-18 13:29 ` Carsten Dominik
@ 2017-04-18 23:51 ` Adam Porter
  2 siblings, 0 replies; 26+ messages in thread
From: Adam Porter @ 2017-04-18 23:51 UTC (permalink / raw)
  To: emacs-orgmode

Thanks for your feedback, everyone.  I've just pushed some updates that
add options for the prefix and reversing the path display.  Please let
me know if you have any other ideas or issues.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18  7:21 ` ANN: org-sticky-header Eric S Fraga
@ 2017-04-18 23:53   ` Adam Porter
       [not found]   ` <ea4543fad79c4e9687992e41ef77062e@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
  1 sibling, 0 replies; 26+ messages in thread
From: Adam Porter @ 2017-04-18 23:53 UTC (permalink / raw)
  To: emacs-orgmode

Eric S Fraga <e.fraga@ucl.ac.uk> writes:

> One minor point: for some reason, the contents of the header line are
> shifted to the right by one character so there's a little dissonance.
> I use org-indent-mode in case that matters.

Hi Eric,

Oops, for some reason this message wasn't threaded and I missed it.

I was using three spaces, which looked okay on my system, but I'm sure
it didn't look right on everyone's.  I added an option to configure it
now.  It would be nice to calculate it automatically somehow, but this
should be an improvement.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-18 23:06   ` Adam Porter
@ 2017-04-19  5:46     ` Carsten Dominik
  2017-04-19  5:52       ` Carsten Dominik
  0 siblings, 1 reply; 26+ messages in thread
From: Carsten Dominik @ 2017-04-19  5:46 UTC (permalink / raw)
  To: Adam Porter; +Cc: org-mode list


[-- Attachment #1.1: Type: text/plain, Size: 1064 bytes --]

Hi Adam,

thanks for adding the option to reverse the outline path.  Great thinking
about using a different separator for the reversed path!

It mostly works - however, if the window is too narrow, the abbreviation
ellipses are now applied to the most recent heading instead of to the last
one shown.  It would be better to reverse the outline path before sending
it into org-format-outline-path, which also saves you the pain to split and
rejoin the path string.

Please find attached a patch that makes this change.  It also removes the
dependence on the string library which is, I think, not by default
available in Emacs.

Thanks

On Wed, Apr 19, 2017 at 1:06 AM, Adam Porter <adam@alphapapa.net> wrote:

> Carsten Dominik <dominik@uva.nl> writes:
>
> Hi Carsten,
>
> > I am wondering if you would consider the possibility to show on only
> > the most recent heading, but, space permitting, the outline path -
> > maybe in reverse order as to keep the sticky heading itself in the
> > left-most column.
>
> That's a great idea, I will add that.  Thanks.
>
>
>

[-- Attachment #1.2: Type: text/html, Size: 1576 bytes --]

[-- Attachment #2: patch --]
[-- Type: application/octet-stream, Size: 1456 bytes --]

--- org-sticky-header.el.orig	2017-04-19 07:33:26.000000000 +0200
+++ org-sticky-header.el	2017-04-19 07:43:26.000000000 +0200
@@ -42,7 +42,6 @@
 ;;; Code:
 
 (require 'dash)
-(require 's)
 
 (defvar org-sticky-header-old-hlf nil
   "Value of the header line when entering org-sticky-header mode.")
@@ -103,13 +102,10 @@
         ('full (concat org-sticky-header-prefix (org-format-outline-path (org-get-outline-path t) (window-width) nil
                                                                          org-sticky-header-outline-path-separator)))
         ('reversed (concat org-sticky-header-prefix
-                           ;; Using "🐱" "CAT FACE" as separator character. It needs to be a single character,
-                           ;; otherwise it could get truncated and cause splitting to fail, and the chances of this
-                           ;; character being in a heading is low enough...right?
-                           (->> (org-format-outline-path (org-get-outline-path t) (window-width) nil "🐱")
-                                (s-split "🐱")
-                                (nreverse)
-                                (s-join org-sticky-header-outline-path-reversed-separator))))))))
+			   (org-format-outline-path
+			    (nreverse (org-get-outline-path t))
+			    (window-width) nil
+			    org-sticky-header-outline-path-reversed-separator)))))))
 
 ;;;###autoload
 (define-minor-mode org-sticky-header-mode

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-19  5:46     ` Carsten Dominik
@ 2017-04-19  5:52       ` Carsten Dominik
  2017-04-19  6:11         ` Carsten Dominik
  0 siblings, 1 reply; 26+ messages in thread
From: Carsten Dominik @ 2017-04-19  5:52 UTC (permalink / raw)
  To: Adam Porter; +Cc: org-mode list

[-- Attachment #1: Type: text/plain, Size: 1412 bytes --]

Hi Adam,

and just after I send this, I now see that the faces of the headings
in the path are now wrong - so you probably already had gone down
this path.  Sorry for the noise, need to come up with something better.

Carsten

On Wed, Apr 19, 2017 at 7:46 AM, Carsten Dominik <dominik@uva.nl> wrote:

> Hi Adam,
>
> thanks for adding the option to reverse the outline path.  Great thinking
> about using a different separator for the reversed path!
>
> It mostly works - however, if the window is too narrow, the abbreviation
> ellipses are now applied to the most recent heading instead of to the last
> one shown.  It would be better to reverse the outline path before sending
> it into org-format-outline-path, which also saves you the pain to split and
> rejoin the path string.
>
> Please find attached a patch that makes this change.  It also removes the
> dependence on the string library which is, I think, not by default
> available in Emacs.
>
> Thanks
>
> On Wed, Apr 19, 2017 at 1:06 AM, Adam Porter <adam@alphapapa.net> wrote:
>
>> Carsten Dominik <dominik@uva.nl> writes:
>>
>> Hi Carsten,
>>
>> > I am wondering if you would consider the possibility to show on only
>> > the most recent heading, but, space permitting, the outline path -
>> > maybe in reverse order as to keep the sticky heading itself in the
>> > left-most column.
>>
>> That's a great idea, I will add that.  Thanks.
>>
>>
>>
>

[-- Attachment #2: Type: text/html, Size: 2290 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
       [not found]   ` <ea4543fad79c4e9687992e41ef77062e@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
@ 2017-04-19  6:07     ` Eric S Fraga
  2017-04-19 15:03       ` Carsten Dominik
  0 siblings, 1 reply; 26+ messages in thread
From: Eric S Fraga @ 2017-04-19  6:07 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 774 bytes --]

On Tuesday, 18 Apr 2017 at 23:53, Adam Porter wrote:
> I was using three spaces, which looked okay on my system, but I'm sure
> it didn't look right on everyone's.  I added an option to configure it
> now.  It would be nice to calculate it automatically somehow, but this
> should be an improvement.

Excellent.  Thank you.

One other minor issue: if there are any inline tasks, the sticky header
shows "END" if there is such an inline task not in the window but
between point and the previous headline.  I think that if point is not
within an inline task, you should be skipping inline tasks (my own
preference) or displaying the headline for the task and not the END
line.

Thanks again,
eric

-- 
: Eric S Fraga (0xFFFCF67D), Emacs 26.0.50, Org release_9.0.5-444-g998576

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 194 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-19  5:52       ` Carsten Dominik
@ 2017-04-19  6:11         ` Carsten Dominik
  2017-04-19 16:44           ` Adam Porter
  0 siblings, 1 reply; 26+ messages in thread
From: Carsten Dominik @ 2017-04-19  6:11 UTC (permalink / raw)
  To: Adam Porter; +Cc: org-mode list


[-- Attachment #1.1: Type: text/plain, Size: 1614 bytes --]

Hi Adam,

here is a new patch with does do this correctly.

Cheers

Carsten

On Wed, Apr 19, 2017 at 7:52 AM, Carsten Dominik <dominik@uva.nl> wrote:

> Hi Adam,
>
> and just after I send this, I now see that the faces of the headings
> in the path are now wrong - so you probably already had gone down
> this path.  Sorry for the noise, need to come up with something better.
>
> Carsten
>
> On Wed, Apr 19, 2017 at 7:46 AM, Carsten Dominik <dominik@uva.nl> wrote:
>
>> Hi Adam,
>>
>> thanks for adding the option to reverse the outline path.  Great thinking
>> about using a different separator for the reversed path!
>>
>> It mostly works - however, if the window is too narrow, the abbreviation
>> ellipses are now applied to the most recent heading instead of to the last
>> one shown.  It would be better to reverse the outline path before sending
>> it into org-format-outline-path, which also saves you the pain to split and
>> rejoin the path string.
>>
>> Please find attached a patch that makes this change.  It also removes the
>> dependence on the string library which is, I think, not by default
>> available in Emacs.
>>
>> Thanks
>>
>> On Wed, Apr 19, 2017 at 1:06 AM, Adam Porter <adam@alphapapa.net> wrote:
>>
>>> Carsten Dominik <dominik@uva.nl> writes:
>>>
>>> Hi Carsten,
>>>
>>> > I am wondering if you would consider the possibility to show on only
>>> > the most recent heading, but, space permitting, the outline path -
>>> > maybe in reverse order as to keep the sticky heading itself in the
>>> > left-most column.
>>>
>>> That's a great idea, I will add that.  Thanks.
>>>
>>>
>>>
>>
>

[-- Attachment #1.2: Type: text/html, Size: 2949 bytes --]

[-- Attachment #2: patch --]
[-- Type: application/octet-stream, Size: 1766 bytes --]

--- org-sticky-header.el.orig	2017-04-19 07:33:26.000000000 +0200
+++ org-sticky-header.el	2017-04-19 08:07:41.000000000 +0200
@@ -42,7 +42,6 @@
 ;;; Code:
 
 (require 'dash)
-(require 's)
 
 (defvar org-sticky-header-old-hlf nil
   "Value of the header line when entering org-sticky-header mode.")
@@ -102,14 +101,19 @@
         ('nil (concat org-sticky-header-prefix (org-get-heading t t)))
         ('full (concat org-sticky-header-prefix (org-format-outline-path (org-get-outline-path t) (window-width) nil
                                                                          org-sticky-header-outline-path-separator)))
-        ('reversed (concat org-sticky-header-prefix
-                           ;; Using "🐱" "CAT FACE" as separator character. It needs to be a single character,
-                           ;; otherwise it could get truncated and cause splitting to fail, and the chances of this
-                           ;; character being in a heading is low enough...right?
-                           (->> (org-format-outline-path (org-get-outline-path t) (window-width) nil "🐱")
-                                (s-split "🐱")
-                                (nreverse)
-                                (s-join org-sticky-header-outline-path-reversed-separator))))))))
+        ('reversed
+	 (let ((s (mapconcat
+		   'identity
+		   (org-split-string
+		    (concat org-sticky-header-prefix
+			    (org-format-outline-path
+			     (org-get-outline-path t)
+			     1000 nil "🐱"))
+		    "🐱")
+		   org-sticky-header-outline-path-reversed-separator)))
+	   (if (> (length s) (window-width))
+	       (concat (substring s 0 (- (window-width) 2)) "..")
+	     s)))))))
 
 ;;;###autoload
 (define-minor-mode org-sticky-header-mode

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-19  6:07     ` Eric S Fraga
@ 2017-04-19 15:03       ` Carsten Dominik
  2017-04-19 16:40         ` Adam Porter
  0 siblings, 1 reply; 26+ messages in thread
From: Carsten Dominik @ 2017-04-19 15:03 UTC (permalink / raw)
  To: Eric S Fraga, org-mode list

[-- Attachment #1: Type: text/plain, Size: 1060 bytes --]

On Wed, Apr 19, 2017 at 8:07 AM, Eric S Fraga <e.fraga@ucl.ac.uk> wrote:

> On Tuesday, 18 Apr 2017 at 23:53, Adam Porter wrote:
> > I was using three spaces, which looked okay on my system, but I'm sure
> > it didn't look right on everyone's.  I added an option to configure it
> > now.  It would be nice to calculate it automatically somehow, but this
> > should be an improvement.
>
> Excellent.  Thank you.
>
> One other minor issue: if there are any inline tasks, the sticky header
> shows "END" if there is such an inline task not in the window but
> between point and the previous headline.  I think that if point is not
> within an inline task, you should be skipping inline tasks (my own
> preference) or displaying the headline for the task and not the END
> line.
>

That would be hard to implement.  Skipping inline tasks entirely would
be easy enough, just truncate the list of path entries to below
org-inlinetask-min-level.

Carsten


>
> Thanks again,
> eric
>
> --
> : Eric S Fraga (0xFFFCF67D), Emacs 26.0.50, Org release_9.0.5-444-g998576
>

[-- Attachment #2: Type: text/html, Size: 1721 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-19 15:03       ` Carsten Dominik
@ 2017-04-19 16:40         ` Adam Porter
  2017-04-19 21:33           ` Adam Porter
       [not found]           ` <7a7a9e1653114a578dcb91186e8a4cab@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
  0 siblings, 2 replies; 26+ messages in thread
From: Adam Porter @ 2017-04-19 16:40 UTC (permalink / raw)
  To: emacs-orgmode

Thanks, Eric and Carsten.  I'll look into this soon.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-19  6:11         ` Carsten Dominik
@ 2017-04-19 16:44           ` Adam Porter
  2017-04-19 21:33             ` Adam Porter
  0 siblings, 1 reply; 26+ messages in thread
From: Adam Porter @ 2017-04-19 16:44 UTC (permalink / raw)
  To: emacs-orgmode

Carsten Dominik <dominik@uva.nl> writes:

> here is a new patch with does do this correctly.

Thanks, Carsten, I will work on this soon.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-19 16:44           ` Adam Porter
@ 2017-04-19 21:33             ` Adam Porter
  2017-04-23  0:06               ` Charles C. Berry
  0 siblings, 1 reply; 26+ messages in thread
From: Adam Porter @ 2017-04-19 21:33 UTC (permalink / raw)
  To: emacs-orgmode

This should now be fixed.  Thanks!

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-19 16:40         ` Adam Porter
@ 2017-04-19 21:33           ` Adam Porter
       [not found]           ` <7a7a9e1653114a578dcb91186e8a4cab@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
  1 sibling, 0 replies; 26+ messages in thread
From: Adam Porter @ 2017-04-19 21:33 UTC (permalink / raw)
  To: emacs-orgmode

Inline tasks are now skipped.  Thanks!

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
  2017-04-19 21:33             ` Adam Porter
@ 2017-04-23  0:06               ` Charles C. Berry
  0 siblings, 0 replies; 26+ messages in thread
From: Charles C. Berry @ 2017-04-23  0:06 UTC (permalink / raw)
  To: Adam Porter; +Cc: emacs-orgmode

On Wed, 19 Apr 2017, Adam Porter wrote:

> This should now be fixed.  Thanks!


I have encountered a bug when trying to export a subtree containing an 
inlinetask just after the headline/metadata and a src block further down.

Here is an ECM:

--8<---------------cut here---------------start------------->8---
* a Headline
*************** my task

   Do this well!

*************** END

#+NAME: my-model
#+BEGIN_src latex :results latex
   \begin{displaymath}
     y = x + z
   \end{displaymath}
#+END_src
--8<---------------cut here---------------end--------------->8---

Put the cursor under the headline (at the end of buffer, say) then type

C-c C-e C-s l L y

and without org-sticky-header mode you get an exported buffer.

With org-sticky-header mode, it just hangs after the 'y' is typed.

Also, if you put point at the beginning of the second line (the start
of the inlinetask) and type

: M-: (narrow-to-region (point) (point-max))

it will narrow if o-s-h mode is off, but hang if it is on.

Adding a newline after the headline `cures' the export problem.
However, if point is at the start of an inlinetask, then emacs will
hang when running the narrow-to-region snippet above regardless of
newlines.

p.s. I am using commit b82b4f210e... (newest at this time)

Chuck

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: ANN: org-sticky-header
       [not found]           ` <7a7a9e1653114a578dcb91186e8a4cab@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
@ 2017-04-24  6:38             ` Eric S Fraga
  0 siblings, 0 replies; 26+ messages in thread
From: Eric S Fraga @ 2017-04-24  6:38 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 196 bytes --]

On Wednesday, 19 Apr 2017 at 21:33, Adam Porter wrote:
> Inline tasks are now skipped.  Thanks!

Excellent.  Thanks!

-- 
: Eric S Fraga (0xFFFCF67D), Emacs 26.0.50, Org release_9.0.5-444-g998576

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 194 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2017-04-24  7:11 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <a8497792e3994095a9867e508a90bb3f@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2017-04-18  7:21 ` ANN: org-sticky-header Eric S Fraga
2017-04-18 23:53   ` Adam Porter
     [not found]   ` <ea4543fad79c4e9687992e41ef77062e@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2017-04-19  6:07     ` Eric S Fraga
2017-04-19 15:03       ` Carsten Dominik
2017-04-19 16:40         ` Adam Porter
2017-04-19 21:33           ` Adam Porter
     [not found]           ` <7a7a9e1653114a578dcb91186e8a4cab@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2017-04-24  6:38             ` Eric S Fraga
2017-04-17 23:41 Adam Porter
2017-04-18  3:28 ` Eric Abrahamsen
2017-04-18 23:10   ` Adam Porter
2017-04-18 13:29 ` Carsten Dominik
2017-04-18 13:51   ` John Kitchin
2017-04-18 13:55     ` Carsten Dominik
     [not found]     ` <2357163c15c549d3a13e923dc7d5f6ea@HE1PR01MB1898.eurprd01.prod.exchangelabs.com>
2017-04-18 17:22       ` Eric S Fraga
2017-04-18 19:16         ` Leslie Watter
2017-04-18 23:09         ` Adam Porter
2017-04-18 23:07     ` Adam Porter
2017-04-18 13:57   ` Kaushal Modi
2017-04-18 23:06   ` Adam Porter
2017-04-19  5:46     ` Carsten Dominik
2017-04-19  5:52       ` Carsten Dominik
2017-04-19  6:11         ` Carsten Dominik
2017-04-19 16:44           ` Adam Porter
2017-04-19 21:33             ` Adam Porter
2017-04-23  0:06               ` Charles C. Berry
2017-04-18 23:51 ` Adam Porter

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).