Fix various size_t related warnings and errors
[kugel-rb.git] / manual / plugins / text_viewer.tex
blob487f8eba7ad998ccbc4d380b9a0c60e9dbd5d579
1 \subsection{Text Viewer}
2 \screenshot{plugins/images/ss-text_viewer-main}{Text Viewer}{img:text_viewer-main}
3 This is a Viewer for text files with word wrap. Just open a \fname{.txt} or
4 \fname{.nfo} file to display it. The text viewer features controls to handle
5 various styles of text formatting and has top{}-of{}-file and bottom{}-of{}-file
6 buttons. You can view files without a \fname{.txt} or \fname{.nfo} extension
7 by using \emph{Open with} from the \emph{Context Menu}
8 (see \reference{ref:Contextmenu}). You can also bookmark pages.
10 \subsubsection{Default keys}
11 \begin{table}
12 \begin{btnmap}{}{}
13 \opt{PLAYER_PAD}{\ButtonLeft}
14 \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
15 ,SANSA_E200_PAD,SANSA_FUZE_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonUp}
16 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack}
17 \opt{IRIVER_H10_PAD}{\ButtonScrollUp}
18 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp}
19 \opt{GIGABEAT_S_PAD}{\ButtonPrev}
20 \opt{COWON_D2_PAD}{\ButtonMinus{} / \TouchTopMiddle}
21 \opt{PBELL_VIBE500_PAD}{\ButtonOK}
22 \opt{HAVEREMOTEKEYMAP}{&
23 \opt{IAUDIO_M3_PAD}{\ButtonRCUp}
25 & Scroll{}-up\\
27 \opt{PLAYER_PAD}{\ButtonRight}
28 \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
29 ,SANSA_E200_PAD,SANSA_FUZE_PAD,GIGABEAT_PAD,MROBE100_PAD}{\ButtonDown}
30 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd}
31 \opt{IRIVER_H10_PAD}{\ButtonScrollDown}
32 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolDown}
33 \opt{GIGABEAT_S_PAD}{\ButtonNext}
34 \opt{COWON_D2_PAD}{\ButtonPlus{} / \TouchBottomMiddle}
35 \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
36 \opt{HAVEREMOTEKEYMAP}{&
37 \opt{IAUDIO_M3_PAD}{\ButtonRCDown}
39 & Scroll{}-down\\
41 \opt{PLAYER_PAD}{\ButtonMenu+\ButtonLeft}
42 \opt{GIGABEAT_S_PAD}{\ButtonPlay+\ButtonLeft}
43 \opt{COWON_D2_PAD}{\TouchMidLeft}
44 \nopt{PLAYER_PAD,GIGABEAT_S_PAD,COWON_D2_PAD,IAUDIO_M3_PAD}{\ButtonLeft}
45 \opt{HAVEREMOTEKEYMAP}{&
46 \opt{IAUDIO_M3_PAD}{\ButtonRCLeft}
48 & Top of file (Narrow mode) /
49 One screen left (Wide mode)\\
51 \opt{PLAYER_PAD}{\ButtonMenu+\ButtonRight}
52 \opt{GIGABEAT_S_PAD}{\ButtonPlay+\ButtonRight}
53 \opt{COWON_D2_PAD}{\TouchMidRight}
54 \nopt{PLAYER_PAD,GIGABEAT_S_PAD,COWON_D2_PAD,IAUDIO_M3_PAD}{\ButtonRight}
55 \opt{HAVEREMOTEKEYMAP}{&
56 \opt{IAUDIO_M3_PAD}{\ButtonRCRight}
58 & Bottom of file (Narrow mode) /
59 One screen right (Wide mode)\\
61 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD%
62 ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD%
63 ,PBELL_VIBE500_PAD}{%
64 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonUp}
65 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollBack}
66 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD}{\ButtonUp}
67 \opt{HAVEREMOTEKEYMAP}{& }
68 & One line up\\
71 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD%
72 ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD%
73 ,PBELL_VIBE500_PAD}{%
74 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonDown}
75 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollFwd}
76 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD}{\ButtonDown}
77 \opt{HAVEREMOTEKEYMAP}{& }
78 & One line down\\
81 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_S_PAD}{
82 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonLeft}
83 \opt{GIGABEAT_S_PAD}{\ButtonLeft}
84 \opt{HAVEREMOTEKEYMAP}{& }
85 & One column left\\
88 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_S_PAD}{
89 \opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonRight}
90 \opt{GIGABEAT_S_PAD}{\ButtonRight}
91 \opt{HAVEREMOTEKEYMAP}{& }
92 & One column right\\
95 \opt{RECORDER_PAD,PLAYER_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD%
96 ,IRIVER_H10_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD}{\ButtonPlay}
97 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
98 \opt{ONDIO_PAD}{\ButtonMenu}
99 \opt{GIGABEAT_PAD}{\ButtonA}
100 \opt{SANSA_C200_PAD,SANSA_E200_PAD}{\ButtonRec}
101 \opt{SANSA_CLIP_PAD}{\ButtonHome}
102 \opt{SANSA_FUZE_PAD}{\ButtonDown+\ButtonSelect}
103 \opt{MROBE100_PAD}{\ButtonDisplay}
104 \opt{COWON_D2_PAD}{\TouchCenter}
105 \opt{HAVEREMOTEKEYMAP}{&
106 \opt{IAUDIO_M3_PAD}{\ButtonRCMode}
108 & Toggle autoscroll\\
110 \opt{PLAYER_PAD}{\ButtonOn}
111 \opt{RECORDER_PAD}{\ButtonFTwo}
112 \opt{ONDIO_PAD}{\ButtonMenu+\ButtonOff}
113 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonSelect}
114 \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonSelect}
115 \opt{IRIVER_H10_PAD}{\ButtonFF}
116 \opt{IAUDIO_X5_PAD}{\ButtonRec}
117 \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonDown+\ButtonSelect}
118 \opt{COWON_D2_PAD}{\ButtonMenu+\ButtonPlus}
119 \opt{SANSA_FUZE_PAD}{\ButtonUp+\ButtonSelect}
120 \opt{PBELL_VIBE500_PAD}{\ButtonPower}
121 \opt{HAVEREMOTEKEYMAP}{&
122 \opt{IAUDIO_M3_PAD}{\ButtonRCPlay+\ButtonRCMode}
124 & Set/Reset bookmarks\\
126 \opt{RECORDER_PAD}{\ButtonFOne}
127 \opt{ONDIO_PAD}{Long \ButtonMenu}
128 \opt{PLAYER_PAD,IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD%
129 ,MROBE100_PAD,PBELL_VIBE500_PAD}{\ButtonMenu}
130 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
131 \opt{IAUDIO_X5_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_E200_PAD}{\ButtonSelect}
132 \opt{SANSA_FUZE_PAD}{Long \ButtonSelect}
133 \opt{IRIVER_H10_PAD}{\ButtonRew}
134 \opt{COWON_D2_PAD}{\ButtonMenu{} / \TouchTopRight}
135 \opt{HAVEREMOTEKEYMAP}{&
136 \opt{IAUDIO_M3_PAD}{\ButtonRCPlay}
138 & Enter menu\\
140 \opt{PLAYER_PAD}{\ButtonStop}
141 \opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
142 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
143 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD%
144 ,GIGABEAT_PAD,MROBE100_PAD}{\ButtonPower}
145 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
146 \opt{GIGABEAT_S_PAD}{\ButtonBack}
147 \opt{COWON_D2_PAD}{\ButtonPower{} / \TouchTopLeft}
148 \opt{IAUDIO_M3_PAD,PBELL_VIBE500_PAD}{\ButtonRec}
149 \opt{HAVEREMOTEKEYMAP}{&
150 \opt{IAUDIO_M3_PAD}{\ButtonRCRec}
151 \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
153 & Exit text viewer\\
155 \end{btnmap}
156 \end{table}
158 \subsubsection{Menu}
160 \begin{description}
161 \item[Return] Return to the file being viewed.
162 \item[Viewer Options] Change settings for the current file.
163 \begin{description}
164 \item[Encoding] Set the codepage in the text viewer.
165 % ToDo: wrap some of the following settings into a \opt{lcd_bitmap} to exlude
166 % ones that don't work on charcell - as soon as the plugin itself does
167 Available settings:
168 \setting{ISO-8859-1} (Latin 1).
169 \setting{ISO-8859-7} (Greek),
170 \opt{lcd_bitmap}{
171 \setting{ISO-8859-8} (Hebrew),
173 \setting{CP1251} (Cyrillic),
174 \opt{lcd_bitmap}{
175 \setting{ISO-8859-11} (Thai),
176 \setting{CP1256} (Arabic),
178 \setting{ISO-8859-9} (Turkish),
179 \setting{ISO-8859-2} (Latin Extended),
180 \setting{CP1250} (Central European),
181 \opt{lcd_bitmap}{
182 \setting{SJIS} (Japanese),
183 \setting{GB-2312} (Simple Chinese),
184 \setting{KSX-1001} (Korean),
185 \setting{BIG5} (Traditional Chinese),
187 \setting{UTF-8} (Unicode),
188 This setting only applies to the plugin and is independent from the
189 \setting{Default Codepage} setting (see \reference{ref:Defaultcodepage}).
190 \item[Word Wrap] Toggle word wrap mode.
191 \begin{description}
192 \item[On] Break lines at the maximum column limit.
193 \item[Off (Chop Words)] Break lines at white space or hyphen.
194 \end{description}
195 \item[Line Mode] Change how lines are displayed.
196 \begin{description}
197 \item[Normal] Break lines at newline characters.
198 \item[Join] Join lines together.
199 \item[Expand] Add a blank line at newlines. Useful for making paragraphs
200 clearer in some book style text files.
201 \opt{lcd_bitmap}{
202 \item[Reflow Lines] Justify the text.
204 \end{description}
205 \item[Wide View] Set the viewmode.
206 \begin{description}
207 \item[No (Narrow)] Set the maximum column width to the screen width.
208 \item[Yes] Set the maximum column width to 114 pixels.
209 (Currently, \setting{Wide} and \setting{Join} cannot be selected together.)
210 \end{description}
211 \opt{lcd_bitmap}{
212 \item[Alignment] Set the text alignment.
213 \begin{description}
214 \item[Right] Set the text alignment to the right.
215 (Useful for displaying right-to-left languages, such as Arabic or Hebrew)
216 \item[Left] Set the text alignment to the left.
217 \end{description}
218 \item[Show Scrollbar] Toggle the scrollbar for the current mode. If the
219 file fits on one screen, there is no scrollbar and toggling this setting
220 has no effect.
221 \begin{description}
222 \item[Off] Turn the scrollbar off.
223 \item[On] Turn the scrollbar on.
224 \end{description}
225 \item[Overlap Pages] Set whether the last line from the previous screen is
226 retained when scrolling pages.
227 \begin{description}
228 \item[No] Set page{}-down/page{}-up to one full screen.
229 \item[Yes] Set page{}-down/page{}-up to retain one line from the
230 previous screen.
231 \end{description}
233 \opt{lcd_bitmap}{
234 \item[Show Header] Select whether to show the status bar and the current file path.
235 \begin{description}
236 \item[None] Do not display the status bar or the current file path.
237 \item[File Path] Display only the current file path.
238 \item[Status bar] Display only the status bar.
239 \item[Both] Display both the status bar and the current file path.
240 \end{description}
241 \note{If the status bar position is not set to the top of the screen then
242 \setting{Status bar} and \setting{Both} are not available.}
244 \item[Show Footer] Select whether to show the status bar and the page number.
245 \begin{description}
246 \item[None] Do not display the status bar or the page number.
247 \item[Page Num] Display only the page number.
248 \item[Status bar] Display only the status bar.
249 \item[Both] Display both the status bar and the page number.
250 \end{description}
251 \note{If the status bar position is not set to the bottom of the screen then
252 \setting{Status bar} and \setting{Both} are not available.}
254 \item[Font] Select the font to be used by the Text Viewer.
256 \item[Scroll Mode] Change the function of the ``Scroll-up'' and
257 ``Scroll-down'' buttons.
258 \begin{description}
259 \item[Scroll by Page]
260 \item[Scroll by Line]
261 \end{description}
262 \item[Auto-scroll Speed] Control the speed of auto-scrolling in number
263 of lines per second. Available options are \setting{1} to
264 \setting{10} lines per second. As an example,
265 \setting{4} will scroll the text at four lines per second.
266 \end{description}
268 \item[Show Playback Menu] Display the playback menu to allow control of the
269 currently playing music without leaving the plugin.
271 \item[Select Bookmark] Select a saved bookmark. In the screenshot below, the
272 ``*'' denotes the current page.
274 \screenshot{plugins/images/ss-text_viewer-sel_bk_menu}{The select bookmark menu}{img:text_viewer-sel_bk}
276 \item[Global Settings] Set the default settings for the text viewer.
277 The setting items are the same as \setting{Viewer Options}. The global
278 settings are stored in
279 \fname{.rockbox/rocks/viewers/viewer.dat}.
281 \item[Quit] Exits the plugin. The text viewer automatically
282 stores its settings, the current position and bookmarks in
283 \fname{.rockbox/rocks/viewers/viewer\_file.dat}.
284 \end{description}
286 \subsubsection{Bookmarks}
287 To add a bookmark, press
288 \opt{PLAYER_PAD}{\ButtonOn}\opt{RECORDER_PAD}{\ButtonFTwo}%
289 \opt{ONDIO_PAD}{\ButtonMenu+\ButtonOff}%
290 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonSelect}%
291 \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonSelect}%
292 \opt{IRIVER_H10_PAD}{\ButtonFF}\opt{IAUDIO_X5_PAD}{\ButtonRec}%
293 \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonDown+\ButtonSelect}%
294 \opt{COWON_D2_PAD}{\ButtonMenu+\ButtonPlus}%
295 \opt{SANSA_FUZE_PAD}{\ButtonUp+\ButtonSelect}%
296 \opt{IAUDIO_M3_PAD}{\ButtonRCPlay+\ButtonRCMode}.
297 The bookmark will be displayed as shown below. To delete the bookmark
298 press the same button again.
300 \screenshot{plugins/images/ss-text_viewer-bookmark}{A bookmark}{img:text_viewer-bookmark}