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