A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1\subsection{Text Viewer}
2\screenshot{plugins/images/ss-text_viewer-main}{Text Viewer}{img:text_viewer-main}
3This 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
5various styles of text formatting and has top{}-of{}-file and bottom{}-of{}-file
6buttons. You can view files without a \fname{.txt} or \fname{.nfo} extension
7by using \emph{Open with} from the \emph{Context Menu}
8(see \reference{ref:Contextmenu}). You can also bookmark pages.
9
10\subsubsection{Default keys}
11\begin{btnmap}
12 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
13 ,SANSA_E200_PAD,SANSA_FUZE_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_FUZEPLUS_PAD%
14 ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,RG_NANO_PAD}{\ButtonUp}
15 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollBack}
16 \opt{IRIVER_H10_PAD,MPIO_HD300_PAD}{\ButtonScrollUp}
17 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolUp}
18 \opt{GIGABEAT_S_PAD}{\ButtonPrev}
19 \opt{COWON_D2_PAD}{\ButtonMinus{} / }%
20 \opt{touchscreen}{\TouchTopMiddle}
21 \opt{PBELL_VIBE500_PAD}{\ButtonOK}
22 \opt{MPIO_HD200_PAD}{\ButtonRew}
23 \opt{HAVEREMOTEKEYMAP}{&
24 \opt{IAUDIO_M3_PAD}{\ButtonRCUp}
25 }
26 & Scroll{}-up\\
27
28 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD%
29 ,SANSA_E200_PAD,SANSA_FUZE_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_FUZEPLUS_PAD%
30 ,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD,RG_NANO_PAD}{\ButtonDown}
31 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonScrollFwd}
32 \opt{IRIVER_H10_PAD,MPIO_HD300_PAD}{\ButtonScrollDown}
33 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonVolDown}
34 \opt{GIGABEAT_S_PAD}{\ButtonNext}
35 \opt{COWON_D2_PAD}{\ButtonPlus{} / }%
36 \opt{touchscreen}{\TouchBottomMiddle}
37 \opt{PBELL_VIBE500_PAD}{\ButtonCancel}
38 \opt{MPIO_HD200_PAD}{\ButtonFF}
39 \opt{HAVEREMOTEKEYMAP}{&
40 \opt{IAUDIO_M3_PAD}{\ButtonRCDown}
41 }
42 & Scroll{}-down\\
43
44 \opt{GIGABEAT_S_PAD}{\ButtonPlay+\ButtonLeft}
45 \opt{MPIO_HD200_PAD}{\ButtonVolDown}
46 \opt{MPIO_HD300_PAD}{\ButtonRew}
47 \opt{touchscreen}{\TouchMidLeft}
48 \nopt{GIGABEAT_S_PAD,touchscreen,IAUDIO_M3_PAD,MPIO_HD200_PAD%
49 ,MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonLeft}
50 \opt{HAVEREMOTEKEYMAP}{&
51 \opt{IAUDIO_M3_PAD}{\ButtonRCLeft}
52 }
53 & Top of file (Narrow mode) /
54 One screen left (Wide mode)\\
55
56 \opt{GIGABEAT_S_PAD}{\ButtonPlay+\ButtonRight}
57 \opt{MPIO_HD200_PAD}{\ButtonVolUp}
58 \opt{MPIO_HD300_PAD}{\ButtonFF}
59 \opt{touchscreen}{\TouchMidRight}
60 \nopt{GIGABEAT_S_PAD,touchscreen,IAUDIO_M3_PAD,MPIO_HD200_PAD%
61 ,MPIO_HD300_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRight}
62 \opt{HAVEREMOTEKEYMAP}{&
63 \opt{IAUDIO_M3_PAD}{\ButtonRCRight}
64 }
65 & Bottom of file (Narrow mode) /
66 One screen right (Wide mode)\\
67
68 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD%
69 ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD%
70 ,GIGABEAT_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD%
71 ,SAMSUNG_YH820_PAD,RG_NANO_PAD}{%
72 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonUp}
73 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollBack}
74 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD}{\ButtonUp}
75 \opt{GIGABEAT_PAD}{\ButtonA+\ButtonUp}
76 \opt{SANSA_FUZEPLUS_PAD}{\ButtonVolUp}
77 \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonUp}
78 \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonUp}
79 \opt{HAVEREMOTEKEYMAP}{& }
80 \opt{RG_NANO_PAD}{\ButtonR}
81 & One line up\\
82 }
83
84 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,SANSA_E200_PAD%
85 ,SANSA_FUZE_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD%
86 ,GIGABEAT_PAD,PBELL_VIBE500_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD%
87 ,SAMSUNG_YH820_PAD,RG_NANO_PAD}{%
88 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonDown}
89 \opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonScrollFwd}
90 \opt{SANSA_C200_PAD,SANSA_CLIP_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD}{\ButtonDown}
91 \opt{GIGABEAT_PAD}{\ButtonA+\ButtonDown}
92 \opt{SANSA_FUZEPLUS_PAD}{\ButtonVolDown}
93 \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonDown}
94 \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonDown}
95 \opt{HAVEREMOTEKEYMAP}{& }
96 \opt{RG_NANO_PAD}{\ButtonL}
97 & One line down\\
98 }
99
100 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_PAD,%
101 GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{
102 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonLeft}
103 \opt{GIGABEAT_S_PAD}{\ButtonLeft}
104 \opt{GIGABEAT_PAD}{\ButtonA+\ButtonLeft}
105 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomLeft}
106 \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonLeft}
107 \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonLeft}
108 \opt{HAVEREMOTEKEYMAP}{& }
109 & One column left\\
110 }
111
112 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD,GIGABEAT_PAD,%
113 GIGABEAT_S_PAD,SANSA_FUZEPLUS_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{
114 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonRight}
115 \opt{GIGABEAT_S_PAD}{\ButtonRight}
116 \opt{GIGABEAT_PAD}{\ButtonA+\ButtonRight}
117 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBottomRight}
118 \opt{SAMSUNG_YH92X_PAD}{\ButtonFF+\ButtonRight}
119 \opt{SAMSUNG_YH820_PAD}{\ButtonRec+\ButtonRight}
120 \opt{HAVEREMOTEKEYMAP}{& }
121 & One column right\\
122 }
123
124 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD%
125 ,IRIVER_H10_PAD,GIGABEAT_S_PAD,PBELL_VIBE500_PAD%
126 ,MPIO_HD200_PAD,MPIO_HD300_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPlay}
127 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
128 \opt{GIGABEAT_PAD}{\ButtonA}
129 \opt{SANSA_C200_PAD,SANSA_E200_PAD}{\ButtonRec}
130 \opt{SANSA_CLIP_PAD}{\ButtonHome}
131 \opt{SANSA_FUZE_PAD}{\ButtonDown+\ButtonSelect}
132 \opt{MROBE100_PAD}{\ButtonDisplay}
133 \opt{SAMSUNG_YH820_PAD}{\ButtonFF}
134 \opt{SAMSUNG_YH92X_PAD}{\ButtonRecOn{} or \ButtonRecOff}
135 \opt{MPIO_HD200_PAD}{FIXME}
136 \opt{touchscreen}{\TouchCenter}
137 \opt{HAVEREMOTEKEYMAP}{&
138 \opt{IAUDIO_M3_PAD}{\ButtonRCMode}
139 }
140 \opt{RG_NANO_PAD}{\ButtonX}
141 & Toggle autoscroll\\
142
143 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonSelect}
144 \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonSelect}
145 \opt{IRIVER_H10_PAD}{\ButtonFF}
146 \opt{IAUDIO_X5_PAD}{\ButtonRec}
147 \opt{SANSA_FUZEPLUS_PAD}{Long \ButtonSelect}
148 \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonDown+\ButtonSelect}
149 \opt{COWON_D2_PAD}{\ButtonMenu+\ButtonPlus}
150 \opt{SANSA_FUZE_PAD}{\ButtonUp+\ButtonSelect}
151 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonPlay}
152 \opt{PBELL_VIBE500_PAD}{\ButtonPower}
153 \opt{MPIO_HD200_PAD}{\ButtonRec}
154 \opt{MPIO_HD300_PAD}{\ButtonEnter}
155 \opt{HAVEREMOTEKEYMAP}{&
156 \opt{IAUDIO_M3_PAD}{\ButtonRCPlay+\ButtonRCMode}
157 }
158 \opt{RG_NANO_PAD}{\ButtonA}
159 & Set/Reset bookmarks\\
160
161 \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD%
162 ,MROBE100_PAD,PBELL_VIBE500_PAD,MPIO_HD300_PAD}{\ButtonMenu}
163 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
164 \opt{IAUDIO_X5_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD,SANSA_E200_PAD}{\ButtonSelect}
165 \opt{SANSA_FUZE_PAD}{Long \ButtonSelect}
166 \opt{SANSA_FUZEPLUS_PAD}{\ButtonBack}
167 \opt{IRIVER_H10_PAD,SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{\ButtonRew}
168 \opt{COWON_D2_PAD}{\ButtonMenu{} / }%
169 \opt{MPIO_HD200_PAD}{\ButtonFunc}
170 \opt{touchscreen}{\TouchTopRight}
171 \opt{HAVEREMOTEKEYMAP}{&
172 \opt{IAUDIO_M3_PAD}{\ButtonRCPlay}
173 }
174 \opt{RG_NANO_PAD}{\ButtonB}
175 & Enter menu\\
176
177 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
178 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
179 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD%
180 ,GIGABEAT_PAD,MROBE100_PAD,SANSA_FUZEPLUS_PAD}{\ButtonPower}
181 \opt{SANSA_FUZE_PAD}{Long \ButtonHome}
182 \opt{GIGABEAT_S_PAD}{\ButtonBack}
183 \opt{COWON_D2_PAD}{\ButtonPower{} / }%
184 \opt{touchscreen}{\TouchTopLeft}
185 \opt{IAUDIO_M3_PAD,PBELL_VIBE500_PAD}{\ButtonRec}
186 \opt{SAMSUNG_YH92X_PAD,SAMSUNG_YH820_PAD}{Long \ButtonRew}
187 \opt{MPIO_HD200_PAD}{\ButtonRec + \ButtonPlay}
188 \opt{MPIO_HD300_PAD}{Long \ButtonMenu}
189 \opt{HAVEREMOTEKEYMAP}{&
190 \opt{IAUDIO_M3_PAD}{\ButtonRCRec}
191 \opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
192 }
193 \opt{RG_NANO_PAD}{\ButtonStart}
194 & Exit text viewer\\
195
196\end{btnmap}
197
198\subsubsection{Menu}
199
200\begin{description}
201\item[Return] Return to the file being viewed.
202\item[Viewer Options] Change settings for the current file.
203 \begin{description}
204 \item[Encoding] Set the codepage in the text viewer.
205 Available settings:
206 \setting{ISO-8859-1} (Latin 1),
207 \setting{ISO-8859-7} (Greek),
208 \setting{ISO-8859-8} (Hebrew),
209 \setting{CP1251} (Cyrillic),
210 \setting{ISO-8859-11} (Thai),
211 \setting{CP1256} (Arabic),
212 \setting{ISO-8859-9} (Turkish),
213 \setting{ISO-8859-2} (Latin Extended),
214 \setting{CP1250} (Central European),
215 \setting{SJIS} (Japanese),
216 \setting{GB-2312} (Simple Chinese),
217 \setting{KSX-1001} (Korean),
218 \setting{BIG5} (Traditional Chinese),
219 \setting{UTF-8} (Unicode),
220 This setting only applies to the plugin and is independent from the
221 \setting{Default Codepage} setting (see \reference{ref:Displayoptions}).
222 \item[Word Wrap] Toggle word wrap mode.
223 \begin{description}
224 \item[On] Break lines at the maximum column limit.
225 \item[Off (Chop Words)] Break lines at white space or hyphen.
226 \end{description}
227 \item[Line Mode] Change how lines are displayed.
228 \begin{description}
229 \item[Normal] Break lines at newline characters.
230 \item[Join] Join lines together.
231 \item[Expand] Add a blank line at newlines. Useful for making paragraphs
232 clearer in some book style text files.
233 \item[Reflow Lines] Justify the text.
234 \end{description}
235 \item[Screens Per Page] Set the number of screens per page. Available
236 options are \setting{1} to \setting{5} screens per page.
237 \item[Alignment] Set the text alignment.
238 \begin{description}
239 \item[Right] Set the text alignment to the right.
240 (Useful for displaying right-to-left languages, such as Arabic or Hebrew)
241 \item[Left] Set the text alignment to the left.
242 \end{description}
243 \item[Show Header] Select whether to show the header. The header displays the file path.
244 \begin{description}
245 \item[No] Do not display the header.
246 \item[Yes] Display the header.
247 \end{description}
248 \item[Show Footer] Select whether to show the footer. The footer dispays the page number.
249 \begin{description}
250 \item[No] Do not display the footer.
251 \item[Yes] Display the footer.
252 \end{description}
253
254 \item[Font] Select the font to be used by the Text Viewer.
255 \item[Show Statusbar] Select whether to show the status bar. If you select
256 a theme settings that the status bar does not display (see
257 \reference{ref:configure_rockbox_themes}), the status bar is not
258 displayed even if you select \setting{Yes}.
259 \begin{description}
260 \item[No] Do not display the status bar.
261 \item[Yes] Display the status bar.
262 \end{description}
263 \item[Scroll Settings] The scrolling settings submenu.
264 \begin{description}
265 \item[Horizontal] Submenu for horizontal scrolling settings.
266 \begin{description}
267 \item[Scrollbar] Toggle the horizontal scrollbar for the
268 current mode. If the file fits on one screen, there is no
269 scrollbar and this setting has no effect.
270 \begin{description}
271 \item[No] Do not display the horizontal scroll bar.
272 \item[Yes] Display the horizontal scroll bar.
273 \end{description}
274 \item[Scroll Mode] Change the function of the ``Left'' and
275 ``Right'' buttons.
276 \begin{description}
277 \item[Scroll by Screen] Move to the previous/next
278 screen.
279 \item[Scroll by Column] Move to the previous/next
280 column.
281 \end{description}
282 \end{description}
283 \item[Vertical] Submenu for vertical scrolling settings.
284 \begin{description}
285 \item[Scrollbar] Toggle the vertical scrollbar for the
286 current mode. If the file fits on one screen, there is no
287 scrollbar and this setting has no effect.
288 \begin{description}
289 \item[No] Do not display the vertical scroll bar.
290 \item[Yes] Display the vertical scroll bar.
291 \end{description}
292 \item[Scroll Mode] Change the function of the ``Scroll-up''
293 and ``Scroll-down'' buttons.
294 \begin{description}
295 \item[Scroll by Page] Scroll up or down one full screen.
296 \item[Scroll by Line] Scroll up or down one line.
297 \end{description}
298 \item[Overlap Pages] Set whether the last line from the
299 previous screen is retained when scrolling pages.
300 \begin{description}
301 \item[No] Do not retain previous line.
302 \item[Yes] Retain previous line.
303 \end{description}
304 \item[Auto-scroll Speed] Control the speed of auto-scrolling
305 in number of lines per second. Available options are
306 \setting{1} to \setting{10} lines per second. As an example,
307 \setting{4} will scroll the text at four lines per second.
308 \item[Left/Right Key (Narrow mode)] Change the function of
309 the ``Left'' and ``Right'' buttons when the screen is in
310 narrow mode (i.e. one screen per page).
311 \begin{description}
312 \item[Previous/Next Page] Scroll up or down one full screen.
313 \item[Top/Bottom Page] Move to the top or bottom page.
314 \end{description}
315 \end{description}
316 \end{description}
317 \item[Indent Spaces] Set the number of spaces to indent the text when line
318 mode is set to \setting{Reflow Lines}. Available options are \setting{0}
319 to \setting{5} spaces. If you select \setting{0}, a blank line is
320 displayed as an indent.
321 \end{description}
322
323\item[Show Playback Menu] Display the playback menu to allow control of the
324currently playing music without leaving the plugin.
325
326\item[Select Bookmark] Select a saved bookmark. In the screenshot below, the
327``*'' denotes the current page.
328
329\screenshot{plugins/images/ss-text_viewer-sel_bk_menu}{The select bookmark menu}{img:text_viewer-sel_bk}
330
331\item[Global Settings] Set the default settings for the text viewer.
332The setting items are the same as \setting{Viewer Options}. The global
333settings are stored in
334\fname{.rockbox/rocks/viewers/viewer.dat}.
335
336\item[Quit] Exits the plugin. The text viewer automatically
337stores its settings, the current position and bookmarks in
338\fname{.rockbox/rocks/viewers/viewer\_file.dat}.
339\end{description}
340
341\subsubsection{Bookmarks}
342 To add a bookmark, press
343 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonSelect}%
344 \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD}{\ButtonSelect}%
345 \opt{IRIVER_H10_PAD}{\ButtonFF}\opt{IAUDIO_X5_PAD}{\ButtonRec}%
346 \opt{SANSA_E200_PAD,SANSA_C200_PAD,SANSA_CLIP_PAD}{\ButtonDown+\ButtonSelect}%
347 \opt{COWON_D2_PAD}{\ButtonMenu+\ButtonPlus}%
348 \opt{SANSA_FUZE_PAD}{\ButtonUp+\ButtonSelect}%
349 \opt{IAUDIO_M3_PAD}{\ButtonRCPlay+\ButtonRCMode}.
350 \opt{MPIO_HD200_PAD}{FIXME}
351 The bookmark will be displayed as shown below. To delete the bookmark
352 press the same button again.
353
354\screenshot{plugins/images/ss-text_viewer-bookmark}{A bookmark}{img:text_viewer-bookmark}