Skip to content

Commit

Permalink
Default keymap was changed
Browse files Browse the repository at this point in the history
  • Loading branch information
takaxp committed Feb 20, 2015

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
1 parent 3cd42fd commit 8b44ae8
Showing 3 changed files with 78 additions and 38 deletions.
9 changes: 9 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
2015-02-20 Takaaki ISHIKAWA <[email protected]>

* org-tree-slide.el: Default keymap was changed
- Due to many reports on conflicting key binding, `<left>' and `<right>', these keymap changed to `C->' and `C-<'.

* org-tree-slide.el: Add new hooks and rename old hooks
- Added `org-tree-slide-before-move-next-hook' and `org-tree-slide-before-move-previous-hook'
- Renamed hooks. `org-tree-slide-mode-play-hook', `org-tree-slide-mode-stop-hook', `org-tree-slide-mode-before-narrow-hook', `org-tree-slide-mode-after-narrow-hook' will be obsoleted soon.

2015-02-15 Takaaki ISHIKAWA <[email protected]>

* org-tree-slide.el (org-tree-slide): Replace ots- with org-tree-slide--
66 changes: 38 additions & 28 deletions README.org
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#+TITLE: README for Org Tree Slide
#+AUTHOR: Takaaki Ishikawa
#+EMAIL: [email protected]
#+DATE: 2015-02-15
#+UPDATE: 16:30:03
#+DATE: 2015-02-20
#+UPDATE: 21:49:07
#+STARTUP: content

* 1. What's this?
@@ -14,15 +14,15 @@ Main features:
- Live editable presentation
- Fast switching of narrowing/widen
- TODO pursuit with narrowing
- Displaying the current number of slides
- Countdown timer
- 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 (currently, not available)

** 1-1. Related packages

see [[http://orgmode.org/worg/org-tutorials/non-beamer-presentations.html]].
There are various packages to make a presentation with org-mode. See [[http://orgmode.org/worg/org-tutorials/non-beamer-presentations.html]].

* 2. Install

@@ -34,15 +34,19 @@ 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 =<right>= and =<left>=. A presentation will begin with a header, slide-in effect, and slide number.
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.

** el-get recipe
** 2.1 el-get recipe

If you are an [[https://github.com/dimitri/el-get][el-get]] user, just do

: M-x el-get-install RET org-tree-slide

** 2.1 Requirements
** 2.2 MELPA

Now, you can install `org-tree-slide' via [[http://melpa.org/#/org-tree-slide][MELPA]].

** 2.2 Requirements
- Org-mode 6.33x or higher version is required.
- This elisp doesn't require any additional packages.

@@ -85,7 +89,7 @@ If you want to use this setting as the default, put the following configuration

** 4-1. `Simple'

This profile will display trees of your org buffer by simple narrowing. You can change trees without =widen= command. Most of the visual effect is disabled.
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.

@@ -97,13 +101,15 @@ Type =M-x org-tree-slide-simple-profile= while =org-tree-slide-mode= is ON.

** 4-2. `Presentation'

This profile is used as 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. A presentation with a count down timer is started by =M-x org-tree-slide-play-with-timer=.
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.

# A presentation with a count down timer is started by =M-x org-tree-slide-play-with-timer=.

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 like a Table Of Content except some headings configured as skipping by =org-tree-slide-slip-outline-level=. Find a heading that you want to show, and type =<right>=, the presentation will be resumed.
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-slip-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 displayed using =#+STARTUP:= if possible.
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=

@@ -115,11 +121,11 @@ To exit a presentation, set =org-tree-slide-mode= OFF. The cursor move to the he

** 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 a single typing of =<right>=. 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.
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=.
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=

@@ -137,15 +143,16 @@ If you feel the cursor moving is very slow, please change a value of =org-tree-s
| 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-slide-in-brank-lines | 10 | Numeric |
| 5 | org-tree-slide-slide-in-waiting | 0.02 | Float |
| 6 | org-tree-slide-cursor-init | 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-skip-done | nil | Boolean |
| 9 | org-tree-slide-modeline-display | 'outside | [*1] |
| 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] |

#+BEGIN_QUOTE
[*1] { nil| 'lighter | 'outside }
@@ -158,7 +165,7 @@ If you feel the cursor moving is very slow, please change a value of =org-tree-s

If you like this elisp, the following setting is more useful. Try it!

=<f8>= / =<f9>= / =<f10>= / =<f11>= are assigned to control org-tree-slide.
In this case, =<f8>= / =<f9>= / =<f10>= / =<f11>= are assigned in order to control org-tree-slide.

#+BEGIN_SRC emacs-lisp
(when (require 'org-tree-slide nil t)
@@ -170,20 +177,16 @@ If you like this elisp, the following setting is more useful. Try it!
'org-tree-slide-move-next-tree)
(define-key org-tree-slide-mode-map (kbd "<f11>")
'org-tree-slide-content)
;; Reset the default setting
(define-key org-tree-slide-mode-map (kbd "<left>") 'backward-char)
(define-key org-tree-slide-mode-map (kbd "<right>") 'forward-char)
(setq org-tree-slide-skip-outline-level 4)
(org-tree-slide-narrowing-control-profile)
(setq org-tree-slide-skip-done nil)))
#+END_SRC

* 6. Functions

** Control functions

- org-tree-slide-move-next-tree (=<right>=)
- org-tree-slide-move-previous-tree (=<left>=)
- org-tree-slide-move-next-tree (=C->=)
- org-tree-slide-move-previous-tree (=C-<=)
- org-tree-slide-content (=C-x s c=)

** Startup options
@@ -209,8 +212,14 @@ These functions will toggle =org-tree-slide-mode= ON, automatically.

** Hooks

- org-tree-slide-mode-play-hook
- org-tree-slide-mode-stop-hook
- 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. History

@@ -219,6 +228,7 @@ see also ChangeLog
|---------+------------------+-------------------------------------------------|
| Version | Date | Description |
|---------+------------------+-------------------------------------------------|
| v2.8.0 | 2015-02-20@21:27 | Changed Keymap, and renamed/added hooks |
| v2.7.5 | 2015-02-15@16:29 | Replace ots- with org-tree-slide-- |
| v2.7.4 | 2015-02-14@23:30 | Refine displaying slide number in modeline |
| v2.7.2 | 2015-01-12@19:56 | Suppress an error message from org-timer |
41 changes: 31 additions & 10 deletions org-tree-slide.el
Original file line number Diff line number Diff line change
@@ -68,7 +68,7 @@
(require 'org-timer)
(require 'org-clock) ; org-clock-in, -out, -clocking-p

(defconst org-tree-slide "2.7.5"
(defconst org-tree-slide "2.8.0"
"The version number of the org-tree-slide.el")

(defgroup org-tree-slide nil
@@ -158,11 +158,11 @@
(defvar org-tree-slide-mode-map
(let ((map (make-sparse-keymap)))
(define-key map (kbd "C-x s c") 'org-tree-slide-content)
(define-key map (kbd "C-x s r") 'org-tree-slide-resume)
(define-key map (kbd "<left>") 'org-tree-slide-move-previous-tree)
(define-key map (kbd "<right>") 'org-tree-slide-move-next-tree)
;; (define-key map (kbd "C-x s r") 'org-tree-slide-resume) ;; TODO
(define-key map (kbd "C-<") 'org-tree-slide-move-previous-tree)
(define-key map (kbd "C->") 'org-tree-slide-move-next-tree)
map)
"The default key bindings for org-tree-slide.")
"The keymap for `org-tree-slide'.")

(defface org-tree-slide-heading-level-2-init
'((t (:inherit outline-2)))
@@ -185,15 +185,30 @@
:group 'org-tree-slide)

(defvar org-tree-slide-mode nil)
;; These hooks was obsoleted, and will be deleted by Oct. 2015.
(defvar org-tree-slide-mode-play-hook nil
"A hook run when org-tree-slide--play is evaluated to start the slide show")
"[obsolate] A hook run when org-tree-slide--play is evaluated to start the slide show")
(defvar org-tree-slide-mode-stop-hook nil
"A hook run when org-tree-slide--stop is evaluated to stop the slide show")
"[obsolate] A hook run when org-tree-slide--stop is evaluated to stop the slide show")
(defvar org-tree-slide-mode-before-narrow-hook nil
"A hook run before evaluating org-tree-slide--display-tree-with-narrow")
"[obsolate] A hook run before evaluating org-tree-slide--display-tree-with-narrow")
(defvar org-tree-slide-mode-after-narrow-hook nil
"A hook run after evaluating org-tree-slide--display-tree-with-narrow")
"[obsolate] A hook run after evaluating org-tree-slide--display-tree-with-narrow")

;; Updated hooks
(defvar org-tree-slide-play-hook nil
"A hook run when org-tree-slide--play is evaluated to start the slide show")
(defvar org-tree-slide-stop-hook nil
"A hook run when org-tree-slide--stop is evaluated to stop the slide show")
(defvar org-tree-slide-before-narrow-hook nil
"A hook run before evaluating org-tree-slide--display-tree-with-narrow")
(defvar org-tree-slide-after-narrow-hook nil
"A hook run after evaluating org-tree-slide--display-tree-with-narrow")
(defvar org-tree-slide-before-move-next-hook nil
"A hook run before moving to the next slide")
(defvar org-tree-slide-before-move-previous-hook nil
"A hook run before moving to the previous slide")

;;;###autoload
(define-minor-mode org-tree-slide-mode
"A presentation tool for org-mode.
@@ -360,6 +375,7 @@ Profiles:
(setq org-tree-slide-heading-emphasis (not org-tree-slide-heading-emphasis))
(org-tree-slide--apply-custom-heading-face org-tree-slide-heading-emphasis))

(defvar org-tree-slide--previous-line 0)
;;;###autoload
(defun org-tree-slide-skip-done-toggle ()
"Toggle show TODO item only or not"
@@ -391,6 +407,7 @@ Profiles:
(and (= (point-at-bol) 1) (not (org-tree-slide--narrowing-p))))
(or (org-tree-slide--first-heading-with-narrow-p)
(not (org-at-heading-p))))
(run-hooks 'org-tree-slide-before-move-next-hook)
(widen)
(org-tree-slide--outline-next-heading))
;; stay the same slide (for CONTENT MODE, on the subtrees)
@@ -408,6 +425,7 @@ Profiles:
(unless (equal org-tree-slide-modeline-display 'outside)
(message "<< Previous"))
(org-tree-slide--hide-slide-header) ; for at the first heading
(run-hooks 'org-tree-slide-before-move-previous-hook)
(widen)
(cond
((org-tree-slide--before-first-heading-p)
@@ -429,7 +447,6 @@ Profiles:
(defvar org-tree-slide--slide-number nil)
(make-variable-buffer-local 'org-tree-slide--slide-number)
(setq-default org-tree-slide--slide-number " TSlide")
(defvar org-tree-slide--previous-line 0)

(defun org-tree-slide--line-number-at-pos ()
(save-excursion
@@ -464,6 +481,7 @@ Profiles:
(defun org-tree-slide--play ()
"Start slide view with the first tree of the org-mode buffer."
(run-hooks 'org-tree-slide-mode-play-hook)
(run-hooks 'org-tree-slide-play-hook)
(org-tree-slide--apply-local-header-to-slide-header)
(when org-tree-slide-heading-emphasis
(org-tree-slide--apply-custom-heading-face t))
@@ -505,12 +523,14 @@ Profiles:
;; (org-clock-out)
))
(run-hooks 'org-tree-slide-mode-stop-hook)
(run-hooks 'org-tree-slide-stop-hook)
(when org-tree-slide-deactivate-message
(message "%s" org-tree-slide-deactivate-message)))

(defun org-tree-slide--display-tree-with-narrow ()
"Show a tree with narrowing and also set a header at the head of slide."
(run-hooks 'org-tree-slide-mode-before-narrow-hook)
(run-hooks 'org-tree-slide-before-narrow-hook)
(when (equal org-tree-slide-modeline-display 'outside)
(setq org-tree-slide--slide-number
(format " %s" (org-tree-slide--count-slide (point))))
@@ -526,6 +546,7 @@ Profiles:
(org-tree-slide--slide-in org-tree-slide-slide-in-brank-lines))
(when org-tree-slide-header
(org-tree-slide--show-slide-header))
(run-hooks 'org-tree-slide-after-narrow-hook)
(run-hooks 'org-tree-slide-mode-after-narrow-hook))

(defun org-tree-slide--outline-next-heading ()

0 comments on commit 8b44ae8

Please sign in to comment.