━━━━━━━━━━━━━━━━━━━━━━━━━━━ README FOR ORG TREE SLIDE ━━━━━━━━━━━━━━━━━━━━━━━━━━━ [2020-06-05 Fri 23:39] Table of Contents ───────────────── 1. 1. What's this? .. 1. 1-1. Related packages 2. 2. Install .. 1. 2.1 el-get recipe .. 2. 2.2 MELPA .. 3. 2.2 Requirements .. 4. 2.3 additional package (moom.el) 3. 3. Recommended settings 4. 4. Profiles .. 1. 4-1. `Simple' .. 2. 4-2. `Presentation' .. 3. 4-3. `TODO Pursuit with narrowing' 5. 5. User variables .. 1. 5-1. Useful settings for experts 6. 6. Functions .. 1. Control functions .. 2. Startup options .. 3. Toggle variables .. 4. Batch setting of user variables .. 5. Hooks 7. 7. History 8. 8. Contact [http://melpa.org/packages/org-tree-slide-badge.svg] [http://stable.melpa.org/packages/org-tree-slide-badge.svg] [http://melpa.org/packages/org-tree-slide-badge.svg] [http://stable.melpa.org/packages/org-tree-slide-badge.svg] 1 1. What's this? ═════════════════ The main purpose of this elisp is to handle each tree in an org buffer as a slide by simple narrowing. This emacs lisp is a minor mode for Emacs Org-mode. Main features: • Live editable presentation • Fast switching of narrowing/widen • TODO pursuit with narrowing • Displaying the current number of slides in mode line • CONTENT view during a presentation • Slide-in effect • Slide header from org file's header • Countdown timer 1.1 1-1. Related packages ───────────────────────── There are various packages to make a presentation with org-mode. See . For more simple use, [presentation.el] may suitable. [presentation.el] 2 2. Install ════════════ 1. Put this elisp into your load-path 2. Add `(require 'org-tree-slide)' in your `.emacs' OR 1. Eval: `(auto-install-from-url "https://raw.github.com/takaxp/org-tree-slide/master/org-tree-slide.el")' (for auto-install users) 2. Add `(require 'org-tree-slide)' in your `.emacs' Then open an org file, just type `C-<' and `C->', which means `C-M-,' and `C-M-.', you can see a presentation will begin with a header, slide-in effect, and slide number in mode line. It is recommended to change the keybindings to make your presentation smoothly. Here is an example. ┌──── │ (with-eval-after-load "org-tree-slide" │ (define-key org-tree-slide-mode-map (kbd "") 'org-tree-slide-move-previous-tree) │ (define-key org-tree-slide-mode-map (kbd "") 'org-tree-slide-move-next-tree) │ ) └──── 2.1 2.1 el-get recipe ───────────────────── If you are an [el-get] user, just do ┌──── │ M-x el-get-install RET org-tree-slide └──── [el-get] 2.2 2.2 MELPA ───────────── Now, you can install `org-tree-slide' via [MELPA]. [MELPA] 2.3 2.2 Requirements ──────────────────── • Org-mode 6.33x or higher version is required. • This elisp doesn't require any additional packages. 2.4 2.3 additional package (moom.el) ──────────────────────────────────── Normally, presentations will appear in full screen or frame maximized. [moom] is useful in such cases since the package can change frame position and size by keyboard and the font size will be increased suitably for your presentation. [moom] 3 3. Recommended settings ═════════════════════════ Assigning a single key to `org-tree-slide-mode' is recommended. ┌──── │ (global-set-key (kbd "") 'org-tree-slide-mode) │ (global-set-key (kbd "S-") 'org-tree-slide-skip-done-toggle) └──── OR ┌──── │ (define-key org-mode-map (kbd "") 'org-tree-slide-mode) │ (define-key org-mode-map (kbd "S-") 'org-tree-slide-skip-done-toggle) └──── 4 4. Profiles ═════════════ Three useful profiles are available. Please select a profile that is the most suitable for your using scenario. If you select `simple' profile, call the following command while `org-tree-slide-mode' is ON. ┌──── │ M-x org-tree-slide-simple-profile └──── If you want to use this setting as the default, put the following configuration including recommended settings into your `.emacs'. ┌──── │ (when (require 'org-tree-slide nil t) │ (global-set-key (kbd "") 'org-tree-slide-mode) │ (global-set-key (kbd "S-") 'org-tree-slide-skip-done-toggle) │ (org-tree-slide-simple-profile)) └──── `org-tree-slide-presentation-profile' and `org-tree-slide-narrowing-control-profile' are also available. 4.1 4-1. `Simple' ───────────────── This profile will display trees in your org buffer by simple narrowing. You can change trees without `widen' command. Most of the visual effect is disabled. Type `M-x org-tree-slide-simple-profile' while `org-tree-slide-mode' is ON. 1. No header display 2. No slide-in effect 3. The cursor will move to the head of the buffer when exit 4. No slide number display in mode line 5. Display every type of tree except `org-comment-string' (e.g. COMMENT) 4.2 4-2. `Presentation' ─────────────────────── This profile is the default setting of org-tree-slide. If an org buffer includes `#+title:', `#+email:', and `#+author:', org-tree-slide attempts to use those variables in the slide header. A date in the header will be set with the presentation of the day. You can enjoy a slide-in effect, the current slide number in mode line. If you want to show the content of your presentation, type `C-x s c' or `M-x org-tree-slide-content'. All of the headings will be shown in a buffer like a Table Of Content except some headings configured as skipping by `org-tree-slide-skip-outline-level'. Find a heading that you want to show, and type `C->', the presentation will be resumed. It is possible to skip slides when a heading level is higher than or equal to a value of `org-tree-slide-skip-outline-level'. see User variables. To exit a presentation, set `org-tree-slide-mode' OFF. The cursor move to the head of the buffer and the trees will be rendered according to the value of `#+startup:' if possible. `M-x org-tree-slide-presentation-profile' 1. Display header 2. Enable slide-in effect 3. The cursor will move to the head of buffer when exit 4. Display slide number in mode line 5. Display every type of tree except `org-comment-string' (e.g. COMMENT) 4.3 4-3. `TODO Pursuit with narrowing' ────────────────────────────────────── This profile will display trees restricted to `TODO status' without a header and slide-in effect. It is very useful to concentrate your focus on the current TODO item that is not done, and go to the next task by typing of `C->'. This is "TODO Pursuit with narrowing". If you want to track every kind of tree including finished items, toggle `M-x org-tree-slide-skip-done-toggle' OFF. When you exit `org-tree-slide-mode', the cursor will keep the same position, it is therefore possible to focus again by toggle `M-x org-tree-slide-mode'. If you feel the cursor moving is very slow, please change a value of `org-tree-slide-modeline-display' to `'outside' or `nil'. `M-x org-tree-slide-narrowing-control-profile' 1. No header display 2. No slide-in effect 3. The cursor will keep the same position when exit 4. Display slide number in mode line 5. Display TODO trees only except `org-comment-string' (e.g. COMMENT) 5 5. User variables ═══════════════════ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Variable Default value Select ──────────────────────────────────────────────────────────────────────── 1 org-tree-slide-skip-outline-level 0 Numeric 2 org-tree-slide-header t Boolean 3 org-tree-slide-slide-in-effect t Boolean 4 org-tree-slide-cursor-init t Boolean 5 org-tree-slide-slide-in-brank-lines 10 Numeric 6 org-tree-slide-slide-in-waiting 0.02 Float 7 org-tree-slide-heading-emphasis nil Boolean 8 org-tree-slide-never-touch-face nil Boolean 9 org-tree-slide-skip-done nil Boolean 10 org-tree-slide-skip-comments t Boolean 11 org-tree-slide-activate-message Hello… String 12 org-tree-slide-deactivate-message Quit, Bye! String 13 org-tree-slide-modeline-display 'outside [*1] 14 org-tree-slide-fold-subtrees-skipped t Boolean 15 org-tree-slide-breadcrumbs " > " String 16 org-tree-slide-breadcrumbs-hide-todo-state t Boolean 17 org-tree-slide-indicator plist [*2] ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table 1: User variables [*1] { nil| 'lighter | 'outside } 'outside: shown in the mode line outside of lighter 'lighter: shown in lighter (slow) nil: nothing to be shown" [*2] '(:next " Next >>" :previous "<< Previous" :content "<< CONTENT >>") If you prefer to show nothing for entering content mode, then specify as '(:next " Next >>" :previous "<< Previous" :content nil) 5.1 5-1. Useful settings for experts ──────────────────────────────────── If you like this elisp, the following setting is more useful. Try it! In this case, `' / `' / `' / `' are assigned in order to control org-tree-slide. ┌──── │ (when (require 'org-tree-slide nil t) │ (global-set-key (kbd "") 'org-tree-slide-mode) │ (global-set-key (kbd "S-") 'org-tree-slide-skip-done-toggle) │ (define-key org-tree-slide-mode-map (kbd "") │ 'org-tree-slide-move-previous-tree) │ (define-key org-tree-slide-mode-map (kbd "") │ 'org-tree-slide-move-next-tree) │ (define-key org-tree-slide-mode-map (kbd "") │ 'org-tree-slide-content) │ (setq org-tree-slide-skip-outline-level 4) │ (org-tree-slide-narrowing-control-profile) │ (setq org-tree-slide-skip-done nil))) └──── 6 6. Functions ══════════════ 6.1 Control functions ───────────────────── • org-tree-slide-move-next-tree (`C->') • org-tree-slide-move-previous-tree (`C-<') • org-tree-slide-content (`C-x s c') 6.2 Startup options ─────────────────── These functions will toggle `org-tree-slide-mode' ON, automatically. • org-tree-slide-without-init-play • org-tree-slide-play-with-timer 6.3 Toggle variables ──────────────────── • org-tree-slide-display-header-toggle • org-tree-slide-slide-in-effect-toggle • org-tree-slide-skip-done-toggle • org-tree-slide-skip-comments-toggle • org-tree-slide-heading-emphasis-toggle 6.4 Batch setting of user variables ─────────────────────────────────── • org-tree-slide-simple-profile • org-tree-slide-presentation-profile • org-tree-slide-narrowing-control-profile 6.5 Hooks ───────── • org-tree-slide-play-hook • org-tree-slide-stop-hook • org-tree-slide-before-narrow-hook • org-tree-slide-after-narrow-hook • org-tree-slide-before-move-next-hook • org-tree-slide-before-move-previous-hook NOTE: For senior user, some hook were renamed, please update your configurations 7 7. History ════════════ see also [ChangeLog] for details ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Version Date Description ──────────────────────────────────────────────────────────────────── v2.8.0 2015-02-20@21:27 Changed Keymap, and renamed/added hooks v2.7.0 2013-07-21@05:21 Support buffers without headings v2.6.0 2012-11-21@02:14 Support dark color theme v2.5.0 2011-12-12@18:16 Remove auto-play function (TBD) v2.4.0 2011-12-08@10:51 Support TODO pursuit in a slideshow v2.3.0 2011-12-07@16:17 Support displaying a slide number v2.2.0 2011-12-07@02:15 Support minor mode v2.0.0 2011-12-01@17:41 Add profiles and support org 6.33x v1.0.0 2011-09-28@20:59 Release the initial version ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ [ChangeLog] 8 8. Contact ════════════ The author is Takaaki ISHIKAWA (takaxp@ieee.org). Feel free to email me or use a mention of twitter ([@takaxp]) [@takaxp]