Permalink
Newer
Older
100644 232 lines (167 sloc) 9.51 KB
Dec 17, 2011
1
#+TITLE: README for Org Tree Slide
2
#+AUTHOR: Takaaki Ishikawa
3
#+EMAIL: takaxp@ieee.org
4
#+STARTUP: content
Dec 17, 2011
5
#+Last Update: 2011-12-17@20:49
Dec 17, 2011
6
Dec 17, 2011
7
* 1. What's this?
Dec 17, 2011
8
Dec 17, 2011
9
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.
Dec 17, 2011
10
Dec 17, 2011
11
Main features:
12
13
- Live editable presentation
14
- Fast switching of narrowing/widen
15
- TODO pursuit with narrowing
16
- Displaying the current number of slides
17
- Countdown timer
18
- CONTENT view during a presentation
Dec 17, 2011
19
- Slide-in effect
Dec 17, 2011
20
- Slide header from org file's header
21
22
** 1-1. Related packages
Dec 17, 2011
23
24
see [[http://orgmode.org/worg/org-tutorials/non-beamer-presentations.html]].
25
Dec 17, 2011
26
* 2. Install
Dec 17, 2011
27
28
1. Put this elisp into your load-path
Dec 17, 2011
29
2. Add =(require 'org-tree-slide)= in your =.emacs=
Dec 17, 2011
30
31
OR
32
Dec 17, 2011
33
1. Eval: =(auto-install-from-url "https://raw.github.com/takaxp/org-tree-slide/master/org-tree-slide.el")= (for auto-install users)
Dec 17, 2011
34
2. Add =(require 'org-tree-slide)= in your =.emacs=
Dec 17, 2011
35
Dec 17, 2011
36
Then open an org file, just type =<right>= and =<left>=. A presentation will begin with a header, slide-in effect, and slide number.
Dec 17, 2011
37
38
** 2.1 Requirements
Dec 17, 2011
39
- Org-mode 6.33x or higher version is required.
40
- This elisp doesn't require any additional packages.
Dec 17, 2011
41
* 3. Recommended settings
Dec 17, 2011
42
Dec 17, 2011
43
Assigning a single key to =org-tree-slide-mode= is recommended.
Dec 17, 2011
44
Dec 17, 2011
45
#+BEGIN_SRC emacs-lisp
Dec 17, 2011
46
(global-set-key (kbd "<f8>") 'org-tree-slide-mode)
47
(global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
Dec 17, 2011
48
#+END_SRC
Dec 17, 2011
49
50
OR
51
Dec 17, 2011
52
#+BEGIN_SRC emacs-lisp
Dec 17, 2011
53
(define-key org-mode-map (kbd "<f8>") 'org-tree-slide-mode)
54
(define-key org-mode-map (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
Dec 17, 2011
55
#+END_SRC
Dec 17, 2011
56
Dec 17, 2011
57
* 4. Profiles
58
Dec 17, 2011
59
Three useful profiles are available. Please select a profile that is the most suitable for your using scenario.
Dec 17, 2011
60
Dec 17, 2011
61
If you select =simple= profile, call the following command while =org-tree-slide-mode= is ON.
Dec 17, 2011
62
Dec 17, 2011
63
#+BEGIN_SRC emacs-lisp
Dec 17, 2011
64
M-x org-tree-slide-simple-profile
Dec 17, 2011
65
#+END_SRC
Dec 17, 2011
66
Dec 17, 2011
67
If you want to use this setting as the default, put the following configuration including recommended settings into your =.emacs=.
Dec 17, 2011
68
Dec 17, 2011
69
#+BEGIN_SRC emacs-lisp
Dec 17, 2011
70
(when (require 'org-tree-slide nil t)
71
(global-set-key (kbd "<f8>") 'org-tree-slide-mode)
72
(global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
73
(org-tree-slide-simple-profile))
Dec 17, 2011
74
#+END_SRC
Dec 17, 2011
75
Dec 17, 2011
76
=org-tree-slide-presentation-profile= and =org-tree-slide-narrowing-control-profile= are also available.
Dec 17, 2011
77
Dec 17, 2011
78
** 4-1. `Simple'
79
80
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.
Dec 17, 2011
81
Dec 17, 2011
82
Type =M-x org-tree-slide-simple-profile= while =org-tree-slide-mode= is ON.
Dec 17, 2011
83
84
1. No header display
85
2. No slide-in effect
Dec 17, 2011
86
3. The cursor will move to the head of the buffer when exit
Dec 17, 2011
87
4. No slide number display in mode line
88
5. Display every type of tree
89
Dec 17, 2011
90
** 4-2. `Presentation'
91
Dec 17, 2011
92
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=.
93
Dec 17, 2011
94
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 headers will be shown like a Table Of Content. Find a heading that you want to show, and type =<right>=, the presentation will be resumed.
Dec 17, 2011
95
Dec 17, 2011
96
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.
Dec 17, 2011
97
Dec 17, 2011
98
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.
Dec 17, 2011
99
Dec 17, 2011
100
=M-x org-tree-slide-presentation-profile=
Dec 17, 2011
101
102
1. Display header
103
2. Enable slide-in effect
104
3. The cursor will move to the head of buffer when exit
105
4. Display slide number in mode line
106
5. Display every type of tree
107
Dec 17, 2011
108
** 4-3. `TODO Pursuit with narrowing'
109
Dec 17, 2011
110
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.
Dec 17, 2011
111
Dec 17, 2011
112
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= again.
Dec 17, 2011
113
Dec 17, 2011
114
If you feel the cursor moving is very slow, please change a value of =org-tree-slide-modeline-display= to =\'outside= or =nil=.
115
Dec 17, 2011
116
=M-x org-tree-slide-narrowing-control-profile=
Dec 17, 2011
117
118
1. No header display
119
2. No slide-in effect
120
3. The cursor will keep the same position when exit
121
4. Display slide number in mode line
122
5. Display TODO trees only
123
Dec 17, 2011
124
* 5. User variables
Dec 17, 2011
125
Dec 17, 2011
126
|---+-------------------------------------+---------------+---------|
Dec 17, 2011
127
| | Variable | Default value | Select |
128
|---+-------------------------------------+---------------+---------|
Dec 17, 2011
129
| 1 | org-tree-slide-skip-outline-level | 0 | Numeric |
130
| 2 | org-tree-slide-header | t | Boolean |
131
| 3 | org-tree-slide-slide-in-effect | t | Boolean |
132
| 4 | org-tree-slide-slide-in-brank-lines | 10 | Numeric |
133
| 5 | org-tree-slide-slide-in-waiting | 0.02 | Float |
134
| 6 | org-tree-slide-cursor-init | t | Boolean |
135
| 7 | org-tree-slide-heading-emphasis | nil | Boolean |
136
| 8 | org-tree-slide-skip-done | nil | Boolean |
Dec 17, 2011
137
| 9 | org-tree-slide-modeline-display | 'outside | [*1] |
Dec 17, 2011
138
Dec 17, 2011
139
Dec 17, 2011
140
#+BEGIN_SRC
Dec 17, 2011
141
[*1] { nil| 'lighter | 'outside }
142
'outside: shown in the mode line outside of lighter
143
'lighter: shown in lighter (slow)
144
nil: nothing to be shown"
Dec 17, 2011
145
#+END_SRC
Dec 17, 2011
146
Dec 17, 2011
147
** 5-1. Useful settings for experts
148
149
If you like this elisp, the following setting is more useful. Try it!
150
151
=<f8>= / =<f9>= / =<f10>= / =<f11>= are assigned to control org-tree-slide.
152
Dec 17, 2011
153
#+BEGIN_SRC emacs-lisp
Dec 17, 2011
154
(when (require 'org-tree-slide nil t)
155
(global-set-key (kbd "<f8>") 'org-tree-slide-mode)
156
(global-set-key (kbd "S-<f8>") 'org-tree-slide-skip-done-toggle)
157
(define-key org-tree-slide-mode-map (kbd "<f9>")
158
'org-tree-slide-move-previous-tree)
159
(define-key org-tree-slide-mode-map (kbd "<f10>")
160
'org-tree-slide-move-next-tree)
161
(define-key org-tree-slide-mode-map (kbd "<f11>")
162
'org-tree-slide-content)
163
;; Reset the default setting
164
(define-key org-tree-slide-mode-map (kbd "<left>") 'backward-char)
165
(define-key org-tree-slide-mode-map (kbd "<right>") 'forward-char)
166
(setq org-tree-slide-skip-outline-level 4)
167
(org-tree-slide-narrowing-control-profile)
168
(setq org-tree-slide-skip-done nil)))
Dec 17, 2011
169
#+END_SRC
Dec 17, 2011
170
171
* 6. Functions
172
173
** Control functions
174
175
- org-tree-slide-move-next-tree (=<right>=)
176
- org-tree-slide-move-previous-tree (=<left>=)
Dec 17, 2011
177
- org-tree-slide-content (=C-x s c=)
Dec 17, 2011
178
179
** Startup options
180
181
These function will toggle =org-tree-slide-mode= ON, automatically.
182
183
- org-tree-slide-without-init-play
184
- org-tree-slide-play-with-timer
185
186
** Toggle variables
187
188
- org-tree-slide-display-header-toggle
189
- org-tree-slide-slide-in-effect-toggle
190
- org-tree-slide-skip-done-toggle
191
- org-tree-slide-heading-emphasis-toggle
192
193
** Batch setting of user variables
194
195
- org-tree-slide-simple-profile
196
- org-tree-slide-presentation-profile
197
- org-tree-slide-narrowing-control-profile
198
199
* 7. History
Dec 17, 2011
200
Dec 17, 2011
201
see also ChangeLog
Dec 17, 2011
202
203
|---------+------------------+-----------------------------------------------|
204
| Version | Date | Description |
205
|---------+------------------+-----------------------------------------------|
Dec 17, 2011
206
| v2.5.2 | 2011-12-17@17:52 | Set presentation profile as the default |
Dec 17, 2011
207
| v2.5.1 | 2011-12-17@13:34 | org-tree-slide-skip-done set nil as default |
208
| v2.5.0 | 2011-12-12@18:16 | Remove auto-play function (TBD) |
209
| v2.4.1 | 2011-12-09@11:46 | Add an option to control mode line display |
210
| v2.4.0 | 2011-12-08@10:51 | Support TODO pursuit in a slideshow |
211
| v2.3.2 | 2011-12-08@09:22 | Reduce redundant processing |
212
| v2.3.1 | 2011-12-07@20:30 | Add a new profile to control narrowing status |
213
| v2.3.0 | 2011-12-07@16:17 | Support displaying a slide number |
214
| v2.2.0 | 2011-12-07@02:15 | Support minor mode |
215
| v2.1.7 | 2011-12-06@00:26 | Support TITLE/AUTHOR/EMAIL in a header |
216
| v2.1.5 | 2011-12-05@17:08 | Fix an issue of title display |
217
| v2.1.3 | 2011-12-05@15:08 | Fix the end of slide for skip control |
218
| v2.1.1 | 2011-12-05@11:08 | Add skip control by heading level |
219
| v2.0.1 | 2011-12-02@18:29 | Change function names, ots- is introduced. |
220
| v2.0.0 | 2011-12-01@17:41 | Add profiles and support org 6.33x |
221
| v1.2.5 | 2011-10-31@18:34 | Add CONTENT view to see all the subtrees. |
222
| v1.2.3 | 2011-10-30@20:42 | Add a variable to control slide-in duration |
223
| v1.2.1 | 2011-10-30@16:10 | Add slide-in visual effect |
224
| v1.1.1 | 2011-10-28@16:16 | Add functions to start and stop slide view |
225
| v1.0.0 | 2011-09-28@20:59 | Release the initial version |
226
Dec 17, 2011
227
* 8. Contact
Dec 17, 2011
228
Dec 17, 2011
229
The author is Takaaki ISHIKAWA (takaxp@ieee.org).
Dec 17, 2011
230
Feel free to email me or use a mention of twitter ([[https://twitter.com/#!/takaxp][@takaxp]])
Dec 17, 2011
231