summaryrefslogtreecommitdiff
path: root/doc/ncmpcpp.1
blob: 6a8acbfaf0adfe820dc0189c13d0d06166ca3755 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
.TH "ncmpcpp" "1"
.SH "NAME"
ncmpcpp \- An ncurses Music Player Daemon (MPD) client.
.SH "SYNOPSIS"
.B ncmpcpp
[options]
.SH "DESCRIPTION"
ncmpcpp is an ncurses client for MPD (Music Player Daemon), inspired by ncmpc.

Read more about MPD at http://www.musicpd.org
.SH "OPTIONS"
Mandatory arguments to long options are mandatory for short options too.
.TP
\fB\-h\fR, \fB\-\-host\fR=\fIHOST\fR
Connect to server at host [localhost]
.TP
\fB\-p\fR, \fB\-\-port\fR=\fIPORT\fR
Connect to server at port [6600]
.TP
\fB\-\-current-song\fR[=\fIFORMAT\fR]
Print current song using given format and exit
.TP
\fB\-c\fR, \fB\-\-config\fR=\fIFILE\fR
Specify configuration file(s)
.TP
\fB\-\-ignore-config-errors\fR
Ignore unknown and invalid options in configuration files
.TP
\fB\-b\fR, \fB\-\-bindings\fR=\fIFILE\fR
Specify bindings file(s)
.TP
\fB\-s\fR, \fB\-\-screen <name>\fR
Specify the startup screen (<name> may be: help, playlist, browser, search_engine, media_library, playlist_editor, tag_editor, outputs, visualizer, clock)
.TP
\fB\-S\fR, \fB\-\-slave-screen <name>\fR
Specify the startup slave screen (<name> may be: help, playlist, browser, search_engine, media_library, playlist_editor, tag_editor, outputs, visualizer, clock)
.TP
\fB\-q\fR, \fB\-\-quiet\fR
Suppress logs and excess output
.TP
\fB\-?\fR, \fB\-\-help\fR
Display help.
.TP
\fB\-v\fR, \fB\-\-version\fR
Display version information.

.SH "CONFIGURATION"
When ncmpcpp starts, it tries to read user's settings from $HOME/.ncmpcpp/config and $XDG_CONFIG_HOME/ncmpcpp/config files. If no configuration is found, ncmpcpp uses its default configuration. An example configuration file containing all default values is provided with ncmpcpp and can be usually found in /usr/share/doc/ncmpcpp (exact location may depend on used distribution or configure prefix).

Note: Configuration option values can either be enclosed in quotation marks or not.
 - If they are enclosed, the leftmost and the rightmost quotation marks are treated as delimiters, therefore it is not necessary to escape quotation marks you use within the value itself.
 - If they are not, any whitespace characters between = and the first printable character of the value, as well as whitespace characters after the last printable character of the value are trimmed.

Therefore the rule of thumb is: if you need whitespaces at the beginning or at the end of the value, enclose it in quotation marks. Otherwise, don't.

Note: COLOR has to be the name (not a number) of one of colors 1-8 from SONG FORMAT section.

Supported configuration options:
.TP
.B ncmpcpp_directory = PATH
Directory for storing ncmpcpp related files. Changing it is useful if you want to store everything somewhere else and provide command line setting for alternative location to config file which defines that while launching ncmpcpp.
.TP
.B lyrics_directory = PATH
Directory for storing downloaded lyrics. It defaults to ~/.lyrics since other MPD clients (eg. ncmpc) also use that location.
.TP
.B mpd_host = HOST
Connect to MPD running on specified host/unix socket. When HOST starts with a '/', it is assumed to be a unix socket. Note: MPD_HOST environment variable overrides this setting.
.TP
.B mpd_port = PORT
Connect to MPD on the specified port. Note: MPD_PORT environment variable overrides this setting.
.TP
.B mpd_music_dir = PATH
Search for files in specified directory. This is needed for tag editor to work.
.TP
.B mpd_connection_timeout = SECONDS
Set connection timeout to MPD to given value.
.TP
.B mpd_crossfade_time = SECONDS
Default number of seconds to crossfade, if enabled by ncmpcpp.
.TP
.B visualizer_fifo_path = PATH
Path to mpd fifo output. This is needed to make music visualizer work (note that output sound format of this fifo has to be either 44100:16:1 or 44100:16:2, depending on whether you want mono or stereo visualization)
.TP
.B visualizer_output_name = NAME
Name of output that provides data for visualizer. Needed to keep sound and visualization in sync.
.TP
.B visualizer_in_stereo = yes/no
Should be set to 'yes', if fifo output's format was set to 44100:16:2.
.TP
.B visualizer_sync_interval = SECONDS
Defines interval between syncing visualizer and audio outputs.
.TP
.B visualizer_type = spectrum/wave/wave_filled/ellipse
Defines default visualizer type (spectrum is available only if ncmpcpp was compiled with fftw support).
.TP
.B visualizer_look = STRING
Defines visualizer's look (string has to be exactly 2 characters long: first one is for wave whereas second for frequency spectrum).
.TP
.B visualizer_color = COLORS
Comma separated list of colors to be used in music visualization.
.TP
.B visualizer_autoscale = yes/no
Automatically scale visualizer size.
.TP
.B visualizer_spectrum_smooth_look = yes/no
For spectrum visualizer, use unicode block characters for a smoother, more continuous look. This will override the visualizer_look option. With transparent terminals and visualizer_in_stereo set, artifacts may be visible on the bottom half of the visualization.
.TP
.B visualizer_spectrum_dft_size = NUMBER
For spectrum visualizer, a value between 0 and 5 inclusive. Specifying a larger value makes the visualizer look at a larger slice of time, which results less jumpy visualizer output.
.TP
.B visualizer_spectrum_hz_min = Hz
For spectrum visualizer, left-most frequency of visualizer, must be less than HZ MAX.
.TP
.B visualizer_spectrum_hz_max = Hz
For spectrum visualizer, right-most frequency of visualizer, must be greater than HZ MIN.
.TP
.B system_encoding = ENCODING
If you use encoding other than utf8, set it in order to handle utf8 encoded strings properly.
.TP
.B playlist_disable_highlight_delay = SECONDS
Delay for highlighting playlist since the last key was pressed. If set to 0, highlighting never fades away.
.TP
.B message_delay_time = SECONDS
Delay for displayed messages to remain visible.
.TP
.B song_list_format
Song format for lists of songs.
.TP
.B song_status_format
Song format for statusbar.
.TP
.B song_library_format
Song format for media library.
.TP
.B alternative_header_first_line_format = TEXT
Now playing song format for the first line in alternative user interface header window.
.TP
.B alternative_header_second_line_format = TEXT
Now playing song format for the second line in alternative user interface header window.
.TP
.B current_item_prefix = TEXT
Prefix for currently selected item.
.TP
.B current_item_suffix = TEXT
Suffix for currently selected item.
.TP
.B current_item_inactive_column_prefix = TEXT
Prefix for currently selected item in the inactive column.
.TP
.B current_item_inactive_column_suffix = TEXT
Suffix for currently selected item in the inactive column.
.TP
.B now_playing_prefix = TEXT
Prefix for currently playing song.
.TP
.B now_playing_suffix = TEXT
Suffix for currently playing song.
.TP
.B browser_playlist_prefix = TEXT
Prefix for playlists in Browser.
.TP
.B selected_item_prefix = TEXT
Prefix for selected items.
.TP
.B selected_item_suffix = TEXT
Suffix for selected items.
.TP
.B modified_item_prefix = TEXT
Prefix for modified item (tag editor).
.TP
.B browser_sort_mode
Determines sort mode for browser. Possible values are "name", "mtime", "format" and "noop".
.TP
.B browser_sort_format
Format to use for sorting songs in browser. For this option to be effective, browser_sort_mode must be set to "format".
.TP
.B song_window_title_format
Song format for window title.
.TP
.B song_columns_list_format
Format for songs' list displayed in columns.
.TP
.B execute_on_song_change = COMMAND
Shell command to execute on song change.
.TP
.B execute_on_player_state_change = COMMAND
Shell command to execute on player state change. The environment variable
.B MPD_PLAYER_STATE
is set to the current state (either unknown, play, pause, or stop) for its duration.
.TP
.B playlist_show_mpd_host = yes/no
If enabled, current MPD host will be shown in playlist.
.TP
.B playlist_show_remaining_time = yes/no
If enabled, time remaining to end of playlist will be shown after playlist statistics.
.TP
.B playlist_shorten_total_times = yes/no
If enabled, total/remaining playlist time displayed in statusbar will be shown using shortened units' names (d:h:m:s instead of days:hours:minutes:seconds).
.TP
.B playlist_separate_albums = yes/no
If enabled, separators will be placed between albums.
.TP
.B playlist_display_mode = classic/columns
Default display mode for Playlist.
.TP
.B browser_display_mode = classic/columns
Default display mode for Browser.
.TP
.B search_engine_display_mode = classic/columns
Default display mode for Search engine.
.TP
.B playlist_editor_display_mode = classic/columns
Default display mode for Playlist editor.
.TP
.B discard_colors_if_item_is_selected = yes/no
Indicates whether custom colors of tags have to be discarded if item is selected or not.
.TP
.B show_duplicate_tags = yes/no
Indicates whether ncmpcpp should display multiple tags as-is or remove duplicates.
.TP
.B incremental_seeking = yes/no
If enabled, seek time will increment by one each second of seeking.
.TP
.B seek_time = SECONDS
Base seek time to begin with.
.TP
.B volume_change_step = NUMBER
Number of percents volume has to be increased/decreased by in volume_up/volume_down.
.TP
.B autocenter_mode = yes/no
Default state for autocenter mode at start.
.TP
.B centered_cursor = yes/no
If enabled, currently highlighted position in the list will be always centered.
.TP
.B progressbar_look = TEXT
This variable defines the look of progressbar. Note that it has to be exactly two or three characters long.
.TP
.B default_place_to_search_in = database/playlist
If set to "playlist", Search engine will perform searching in current MPD playlist rather than in music database.
.TP
.B user_interface = classic/alternative
Default user interface used by ncmpcpp at start.
.TP
.B data_fetching_delay = yes/no
If enabled, there will be a 250ms delay between refreshing position in media library or playlist editor and fetching appropriate data from MPD. This limits data fetched from the server and is particularly useful if ncmpcpp is connected to a remote host.
.TP
.B media_library_primary_tag = artist/album_artist/date/genre/composer/performer
Default tag type for leftmost column in media library.
.TP
.B media_library_albums_split_by_date = yes/no
Determines whether albums in media library should be split by date.
.TP
.B media_library_hide_album_dates = yes/no
Determines whether album dates in media library should be hidden.
.TP
.B default_find_mode = wrapped/normal
If set to "wrapped", going from last found position to next will take you to the first one (same goes for the first position and going to previous one), otherwise no actions will be performed.
.TP
.B default_tag_editor_pattern = TEXT
Default pattern used by Tag editor's parser.
.TP
.B header_visibility = yes/no
If enabled, header window will be displayed, otherwise hidden.
.TP
.B statusbar_visibility = yes/no
If enabled, statusbar will be displayed, otherwise hidden.
.TP
.B connected_message_on_startup = yes/no
Show the "Connected to ..." message on startup
.TP
.B titles_visibility = yes/no
If enabled, column titles will be displayed, otherwise hidden.
.TP
.B header_text_scrolling = yes/no
If enabled, text in header window will scroll if its length is longer then actual screen width, otherwise it won't.
.TP
.B cyclic_scrolling = yes/no
If enabled, cyclic scrolling is used (e.g. if you press down arrow being at the end of list, it'll take you to the beginning)
.TP
.B lines_scrolled = NUMBER
Number of lines that are scrolled with mouse wheel.
.TP
.B lyrics_fetchers = FETCHERS
Comma separated list of lyrics fetchers.
.TP
.B follow_now_playing_lyrics = yes/no
If enabled, lyrics will be switched at song's change to currently playing one's (Note: this works only if you are viewing lyrics of item from Playlist).
.TP
.B fetch_lyrics_for_current_song_in_background = yes/no
If enabled, each time song changes lyrics fetcher will be automatically run in background in attempt to download lyrics for currently playing song.
.TP
.B store_lyrics_in_song_dir = yes/no
If enabled, lyrics will be saved in song's directory, otherwise in ~/.lyrics. Note that it needs properly set mpd_music_dir.
.TP
.B generate_win32_compatible_filenames = yes/no
If set to yes, filenames generated by ncmpcpp (with tag editor, for lyrics, artists etc.) will not contain the following characters: \\?*:|\"<> - otherwise only slash (/) will not be used.
.TP
.B allow_for_physical_item_deletion = yes/no
If set to yes, it will be possible to physically delete files and directories from the disk in the browser.
.TP
.B lastfm_preferred_language = ISO 639 alpha-2 language code
If set, ncmpcpp will try to get info from last.fm in language you set and if it fails, it will fall back to English. Otherwise it will use English the first time.
.TP
.B space_add_mode = add_remove/always_add
If set to add_remove, attempting to add files that are already in playlist will remove them. Otherwise they can be added multiple times.
.TP
.B show_hidden_files_in_local_browser = yes/no
Trigger for displaying in local browser files and directories that begin with '.'
.TP
.B screen_switcher_mode = SWITCHER_MODE
If set to "previous", key_screen_switcher will switch between current and last used screen. If set to "screen1,...screenN" (a list of screens) it will switch between them in a sequence. Syntax clarification can be found in example config file.
.TP
.B startup_screen = SCREEN_NAME
Screen that has to be displayed at start (playlist by default).
.TP
.B startup_slave_screen = SCREEN_NAME
Slave screen that has to be displayed at start (nothing by default).
.TP
.B startup_slave_screen_focus = yes/no
If set to yes, slave screen will be the active one after startup. Otherwise master screen will be.
.TP 
.B locked_screen_width_part = 20-80
If you want to lock a screen, ncmpcpp asks for % of locked screen's width to be reserved before that and provides a default value, which is the one you can set here.
.TP
.B ask_for_locked_screen_width_part = yes/no
If enabled, ncmpcpp will ask for % of locked screen's width each time you want to lock a screen. If you disable that, it'll silently attempt to use default value.
.TP
.B jump_to_now_playing_song_at_start = yes/no
If enabled, ncmpcpp will jump at start to now playing song if mpd is playing or paused.
.TP
.B ask_before_clearing_playlists = yes/no
If enabled, user will be asked if he really wants to clear the playlist after pressing key responsible for that.
.TP
.B clock_display_seconds = yes/no
If enabled, clock will display time in format hh:mm:ss, otherwise hh:mm.
.TP
.B display_volume_level = yes/no
If enabled, volume level will be displayed in statusbar, otherwise not.
.TP
.B display_bitrate = yes/no
If enabled, bitrate of currently playing song will be displayed in statusbar.
.TP
.B display_remaining_time = yes/no
If enabled, remaining time of currently playing song will be be displayed in statusbar instead of elapsed time.
.TP
.B regular_expressions = none/basic/extended/perl
Type of currently used regular expressions.
.TP
.B ignore_leading_the = yes/no
If enabled, word "the" at the beginning of tags/filenames/sort format will be ignored while sorting items.
.TP
.B ignore_diacritics = yes/no
If enabled, diacritics in strings will be ignored while searching and filtering lists.
.TP
.B block_search_constraints_change_if_items_found = yes/no
If enabled, fields in Search engine above "Reset" button will be blocked after successful searching, otherwise they won't.
.TP
.B mouse_support = yes/no
If set to yes, mouse support will be enabled.
.TP
.B mouse_list_scroll_whole_page = yes/no
If enabled, mouse wheel will scroll the whole page of item list at a time, otherwise the number of lines specified by lines_scrolled variable.
.TP
.B empty_tag_marker = TEXT
Text that will be displayed, if requested tag is not set.
.TP
.B tags_separator = TEXT
Separator that is placed between tags. Also interpreted by tag editor which splits input string into separate tags using it.
.TP
.B tag_editor_extended_numeration = yes/no
If enabled, tag editor will number tracks using format xx/yy (where xx is the current track and yy is total amount of all numbered tracks), not plain xx.
.TP
.B media_library_sort_by_mtime = yes/no
If enabled, media library will be sorted by modification time. Otherwise lexicographic sorting is used.
.TP
.B enable_window_title = yes/no
If enabled, ncmpcpp will override current window title with its own one.
.TP
.B search_engine_default_search_mode = MODE_NUMBER
Number of default mode used in search engine.
.TP
.B external_editor = PATH
Path to external editor used to edit lyrics.
.TP
.B use_console_editor = yes/no
If your external editor is console application, you need to enable it.
.TP
.B colors_enabled = yes/no
No need to describe it, huh?
.TP
.B empty_tag_color = COLOR
Color of empty tag marker.
.TP
.B header_window_color = COLOR
Color of header window.
.TP
.B volume_color = COLOR
Color of volume state.
.TP
.B state_line_color = COLOR
Color of lines separating header and statusbar from main window.
.TP
.B state_flags_color = COLOR
Color of MPD status flags.
.TP
.B main_window_color = COLOR
Color of main window.
.TP
.B color1 = COLOR
One of colors used in Song info, Tiny tag editor and Search engine.
.TP
.B color2 = COLOR
One of colors used in Song info, Tiny tag editor and Search engine.
.TP
.B progressbar_color = COLOR
Color of progressbar.
.TP
.B progressbar_elapsed_color = COLOR
Color of part of progressbar that represents elapsed time.
.TP
.B statusbar_color = COLOR
Color of statusbar.
.TP
.B statusbar_time_color = COLOR
Color of current track time shown in statusbar.
.TP
.B player_state_color = COLOR
Color of player state shown in statusbar.
.TP
.B alternative_ui_separator_color = COLOR
Color of separators used in alternative user interface.
.TP
.B window_border_color = BORDER
Border color of pop-up windows. If set to 'none', no border will be shown.
.TP
.B active_window_border = COLOR
Color of active window's border.
.TP
.SH "BINDINGS"
When ncmpcpp starts, it tries to read user's bindings from ~/.ncmpcpp/bindings and $XDG_CONFIG_HOME/ncmpcpp/bindings files. If no bindings file is found, ncmpcpp uses the defaults. An example bindings file with the default values can be found usually in /usr/share/doc/ncmpcpp (exact location may depend on used distribution or configure prefix).

You can view current keybindings by pressing F1.
.SH "SONG FORMAT"

For song format you can use:

 %l - length
 %f - filename
 %D - directory
 %a - artist
 %A - album artist
 %t - title
 %b - album
 %y - date
 %n - track number (01/12 -> 01)
 %N - full track info (01/12 -> 01/12)
 %g - genre
 %c - composer
 %p - performer
 %d - disc
 %C - comment
 %P - priority
 $R - begin right alignment

You can also put them in { } and then they will be displayed only if all requested values are available and/or define alternate value with { }|{ } e.g. {%a - %t}|{%f} will check if artist and title tags are available and if they are, display them. Otherwise it'll display filename.

\fBNote\fR: If you want to set limit on maximal length of a tag, just put the appropriate number between % and character that defines tag type, e.g. to make album take max. 20 terminal cells, use '%20b'.

\fBNote\fR: Format that is similar to "%a - %t" (i.e. without any additional braces) is equal to "{%a - %t}", so if one of the tags is missing, you'll get nothing.

Text can have different color than the main window, e.g. if you want length to be green, write $3%l$9.

Available values for colors:

 - 0 - default window color (discards all other colors)
 - 1 - black
 - 2 - red
 - 3 - green
 - 4 - yellow
 - 5 - blue
 - 6 - magenta
 - 7 - cyan
 - 8 - white
 - 9 - end of current color

\fBNote\fR: colors can be nested, so if you write $2some$5text$9, it'll disable only usage of blue color and make red the current one.

.SH "BUGS"
Report bugs on https://github.com/arybczak/ncmpcpp/issues
.SH "NOTE"
Since MPD uses UTF\-8, ncmpcpp needs to convert characters to the charset used by the local system. If you get character conversion errors while you are running ncmpcpp, you probably need to set up your locale. This is done by setting LANG and LC_ALL/LC_CTYPE environment variables (LC_CTYPE only affects character handling).
.SH "HOMEPAGE"
-> http://rybczak.net/ncmpcpp

.SH "SEE ALSO"
mpc(1), mpd(1)