Add --show-cursor command line option
[cmus.git] / Doc / cmus.txt
blob3915e78fcbecb1b43e2d628a5968daa7275e5440
1 @title CMUS 1 05/11/2006 cmus
3 @h1 NAME
5 cmus - C\* Music Player
8 @h1 SYNOPSIS
10 cmus [*options*]
13 @h1 DESCRIPTION
15 cmus is a small ncurses based music player.  It supports various output
16 methods by output-plugins. It has got completely configurable keybindings and
17 it can be controlled from the outside via *cmus-remote*(1).
19 @h1 OPTIONS
21 --listen ADDR
22         Listen to ADDR (UNIX socket) instead of `/tmp/cmus-$USER`.
23         ADDR is either a UNIX socket or host[:port].
25         *WARNING*: Using host[:port] is insecure even with password!
26         It might be useful though in LAN if you want multiple local users to
27         able to control cmus.  Never make cmus listen to the internet.
29         NOTE: Don't use this option to run multiple instances as same user.
30         That would corrupt the track metadata cache.
32 --plugins
33         List available plugins and exit.
35 --show-cursor
36         Keep cursor always visible.  This is useful for screen readers.
38 --help
39         Display usage information and exit.
41 --version
42         Display version information and exit.
45 @h1 VIEWS
47 There are 7 views in cmus.  Press keys 1-7 to change active view.
49 Library view (1)
50         Display all tracks in so-called *library*. Tracks are sorted
51         artist/album tree.  Artist sorting is done alphabetically. Albums are
52         sorted by year.
54 Sorted library view (2)
55         Displays same content as view 1, but as a simple list which is
56         automatically sorted by user criteria.
58 Playlist view (3)
59         Displays editable playlist with optional sorting.
61 Play Queue view (4)
62         Displays queue of tracks which are played next. These tracks are
63         played before anything else (i.e. the playlist or library).
65 Browser (5)
66         Directory browser.  In this view, music can be added to either the
67         library, playlist or queue from the filesystem.
69 Filters view (6)
70         Lists user defined filters.
72 Settings view (7)
73         Lists keybindings, unbound commands and options.  Remove bindings with
74         *D* or *del*, change bindings and variables with *enter* and toggle
75         variables with *space*.
77 @h1 COMMAND LINE
79 Everything in cmus is implemented as commands which can be typed at command
80 line or bound to a key.  To enter command mode type *:*.  To execute a command
81 press *ENTER* or to cancel press *ESC*.  Use up/down arrows to browse command
82 history.  Use *TAB* to complete commands and parameters, you can tab complete
83 almost anything.  You don't need to type full command names if the command is
84 unambiguous (no other commands starting with the same characters).
86 Examples:
88         @pre
89         # add files, short for ':add ~/music'
90         :a ~/music
92         # change output plugin
93         :set output_plugin=oss
95         # start playing
96         # you could just press 'x' which is the default
97         # binding for this command
98         :player-play
100         # clear current view (library, playlist or play queue)
101         :clear
102         @endpre
105 @h1 SEARCHING
107 Search mode works like the command mode, to enter search mode press */* and
108 then type the search words and press *ENTER*.  Press *n* to search next or *N*
109 to search previous match using the same search words.  Type *?* to search
110 backwards.
112 In views 1-4 words are compared to artist, album and title tags. Type
113 *//WORDS* or *??WORDS* to search only artists/albums in view 1 or titles in
114 views 2-4. If the file doesn't have tags words are compared to filename
115 without path.
117 Searching works in views 5-7 too and its logic should be pretty obvious.
119 @h1 LIBRARY VIEW SORTING
121 The library view (the tree-like one; not the sorted library view, for which
122 the sorting is controlled by the user by setting lib_sort - see `CONFIGURATION
123 OPTIONS`), is sorted automatically by cmus using the information found in the
124 tagging information provided by the audio files.
126 Generally, in the library view cmus uses three levels of sorting: the first
127 level would be the artist name, the second one the album and finally the
128 actual track.
130 At first, cmus checks if the "filename" looks like an URL, if it does, the
131 item is given the special artist and album name *<Stream>*.
133 If it is a file, it is checked if the artist and album tags are set. If not,
134 cmus assigns the special name *<No Name>* for the unset tag.
136 As the first level, cmus sorts alphanumerically by the value of the artist
137 tag. (<Stream> and <No Name> will be used as if they where normal names.)
139 For album names, alphanumerical sorting is not the primary method, though.
140 To decide, how the second level should be sorted, cmus looks at the date of
141 the first track of each album. Sorting is done from young to old. Of course,
142 if one artist happens to have more then one album from one year,
143 alphanumerical sorting will be used after sorting by date.
145 If the date header is not set, the album will be placed on top of the list (in
146 fact, the internal integer value for unset album tags is -1).
148 The method for third sorting level (the track) is very similar to album
149 sorting. First two numerical values are checked (discnumber and tracknumber).
150 If sorting is still ambiguous, sorting will be done alphanumerically by the
151 value of the track's `filename` (not track name!).
153 For simple albums, that is it. There is a special case, though. Albums, that
154 feature various artists, also known as samplers or compilations.
156 If a track belongs to a compilation is again decided by the existence and
157 value of special tagging information. First, it is checked if cmus should use
158 a special artist name (e.g.: `'Various Artists'`). If so, that one will be used
159 instead of the real artist name.
161 If that special name tag is not set, cmus checks if another tag is set.
162 If that is the case, the album will be given the special artist name
163 *<Compilations>*.
165 That way, you do not end up with compilation tracks scattered around your
166 library view.
168 The problem with compilation tagging is, that there is no generic tag or
169 method, that can be regarded as a standard across all different formats,
170 supported by cmus.
172 For mp3, the special-name tag would be the id3v2 *TPE2* frame. The
173 mark-as-compilation tag is the *TCMP* frame (which is a user defined id3v2.3
174 frame, used at least by amarok and apple's iTunes[tm]).
176 For vorbis style tags (for example in ogg vorbis and flac files), the
177 special-name tag is *ALBUMARTIST* and the mark-as-compilation tag is
178 *COMPILATION*. Vorbis tags names are case insensitive.
180 @h1 PLAYLIST EDITING
182 @h2 Selecting Tracks
184 Editing commands affect the currently marked tracks or if there are no marked
185 tracks the currently selected track (or selected artist/album in view 1).
187 Mark selected track by pressing *SPACE*.  Marked tracks appear with a gray
188 background.  You can only mark tracks in the list views (2-4).
190 @h2 Copying Tracks Between Views
192 You can copy marked or selected tracks from views 1-5.
194 @li *a*
195 copy tracks to the library (1-2)
197 @li *y*
198 copy tracks to the playlist (3)
200 @li *e*
201 append tracks to the play queue (4)
203 @li *E*
204 prepend tracks to the play queue (4)
206 @h2 Moving Tracks
208 In views 2-4 you can move tracks withing the list. Note that moving is
209 disabled if the view is auto-sorted (see *lib_sort* and *pl_sort* options).
211 Pressing *p* moves marked tracks to the position immediately after the
212 selected track.  *P* moves them to the position immediately before the
213 selected track.  If there are no marked tracks then the selected track is
214 moved down (*p*) or up (*P*).
216 NOTE: Changing active filters reloads view 2 so it isn't a good idea to
217 manually order tracks in the view.
219 @h2 Removing Tracks
221 Press *D* or *delete* to remove marked or selected tracks in the current view
222 (1-4).  The tracks will be removed immediately from the view without asking
223 for confirmation.  In the browser and filters views the same keys are used to
224 remove a file or filter (will ask for confirmation).
227 @h1 STATUS LINE
229 Right hand side of the status line (second row from the bottom, black text on
230 a grey background) consists of the following fields:
232 @pre
233 aaa_mode & play_sorted & play_library | continue repeat shuffle
234 @endpre
236 NOTE: *aaa_mode* and *play_sorted* will be displayed only if *play_library* is
237 *true* because these are meaningless when playing the playlist (view 3).
239 Pressing *m*, *o*, *M*, *C*, *r* and *s* keys should make it easier to
240 understand what all those fields mean.
242 See CONFIGURATION OPTIONS section for more information about these options.
245 @h1 KEYBINDINGS
247 Here's list of default keybindings.  See *unbind* and *bind* commands in the
248 COMMANDS section.
251 @h2 Common Context
252 @pre
253 ^C             echo Type :quit<enter> to exit cmus.
254 I              echo {}
255 b              player-next
256 c              player-pause
257 x              player-play
258 z              player-prev
259 v              player-stop
260 ^L             refresh
261 n              search-next
262 N              search-prev
263 .              seek +1m
264 l, right       seek +5
265 ,              seek -1m
266 h, left        seek -5
267 m              toggle aaa_mode
268 C              toggle continue
269 M              toggle play_library
270 o              toggle play_sorted
271 r              toggle repeat
272 ^R             toggle repeat_current
273 t              toggle show_remaining_time
274 s              toggle shuffle
275 u              update-cache
276 1              view tree
277 2              view sorted
278 3              view playlist
279 4              view queue
280 5              view browser
281 6              view filters
282 7              view settings
283 ]              vol +0 +1
284 [              vol +1 +0
285 +, =           vol +10%
286 }              vol -0 -1
287 {              vol -1 -0
288 -              vol -10%
289 enter          win-activate
290 E              win-add-Q
291 a              win-add-l
292 y              win-add-p
293 e              win-add-q
294 G, end         win-bottom
295 down, j        win-down
296 p              win-mv-after
297 P              win-mv-before
298 tab            win-next
299 ^F, page_down  win-page-down
300 ^B, page_up    win-page-up
301 D, delete      win-remove
302 i              win-sel-cur
303 space          win-toggle
304 g, home        win-top
305 k, up          win-up
306 @endpre
308 @h2 Browser Context
309 @pre
310 backspace      browser-up
311 i              toggle show_hidden
312 u              win-update
313 @endpre
315 @h1 COMMANDS
317 This section describes cmus' commands.  You can bind a key to any of these
318 commands, put these commands to configuration files and execute them in
319 command mode.  Also cmus-remote uses these commands in its protocol.
321 Optional parameters are in brackets, obligatory parameters in angle brackets
322 and default key bindings in parenthesis.
324 add [-l] [-p] [-q] [-Q] <file|dir|url|playlist>
325         Add file/dir/url/playlist to the specified view or the current view.
327         @li -l
328         add to library
330         @li -p
331         add to playlist
333         @li -q
334         add play queue
336         @li -Q
337         prepend to play queue
339         URL is a Shoutcast stream (http://...).
341         Supported playlist: plain, .m3u, .pls.
343 bind [-f] <context> <key> <command>
344         Add a key binding.
346         @li -f
347         overwrite existing binding
349         Use tab to expand contexts, keys and commands.  Command is any command
350         listed in this section.
352         Valid key contexts
353                 common, library (1-2), playlist (3), queue (4), browser (5),
354                 filters (6)
356         There's one context for each view.  Common is a special context on
357         which bound keys work in every view.
359         You can override specific keys in common context for a view.  For
360         example *i* selects the current track in views 1-3 but in browser it
361         is overridden to toggle showing of hidden files.
363 browser-up (*backspace*)
364         Change to parent directory in browser view (5). This command only
365         makes sense to be bound to the *browser* key context although it's
366         possible to use this even if browser view is not active.
368 cd [directory]
369         Changes the current working directory.  Changes the directory
370         displayed in browser view too.
372 clear [-l] [-p] [-q]
373         Remove all tracks from the specified view or the current view.
375         @li -l
376         clear library
378         @li -p
379         clear playlist
381         @li -q
382         clear play queue
384 colorscheme <name>
385         Change color scheme.  Color schemes are found in `/usr/share/cmus/` or
386         `~/.cmus/` and have .theme filename extension.
388 echo <arg>...
389         Display arguments on the command line.
391         If the arguments contain *{}* it is replaced with file name of the
392         first selected track.
394         NOTE: unlike with *run* the *{}* is replaced with only the first
395         selected filename.
397         Default bindings:
399                 @pre
400                 common  I   echo {}
401                 common  ^C  echo Type :quit<enter> to exit cmus.
402                 @endpre
404 factivate <user-defined-filter>...
405         Select and activate the given user defined filters (displayed in the
406         filters view).  Filter names are separated by spaces.  This command is
407         mostly useful when bound to a key, to change active filters very
408         quickly.  If no arguments given then all filters are unactivated.
410         If you prefix a filter name with "!" then the filter value is negated
411         before activation.
413 filter <filter-expression>
414         Use this command when you want to temporarily filter contents of the
415         library views without having separately define (fset) and activate the
416         filter.  The filter is not saved.
418 fset <name>=<filter-expression>
419         Define (or replace existing) filter and add it to filters view (6).
421 invert
422         Invert the marking of tracks in playlist and queue views. See *mark*
423         and *unmark*.
425 load [-l] [-p] <playlist>
426         Load a playlist to the specified view or to the current view.
428         @li -l
429         load to library views
431         @li -p
432         load to playlist view
434 lqueue [NUM]
435         Queue NUM (default 1) random albums from the library. See also
436         *tqueue*.
438 mark <filter-expression>
439         Mark tracks in playlist and queue view by using a filter expression.
441 player-next (*b*)
442         Skip to the next track.
444 player-pause (*c*)
445         Toggle pause.
447 player-play (*x*)
448         If stopped, start playing the current song; if already playing seek to
449         beginning of the current song.
451 player-prev (*z*)
452         Skip to the previous track.
454 player-stop (*v*)
455         Stop playback.
457 prev-view
458         Go to previously used view.
460 quit
461         Exit cmus.
463 refresh (*^L*)
464         Redraw the terminal window.
466 run <command>
467         Run command for the marked tracks OR the selected one if none marked.
469         By default file names are appended to the command.  If the command
470         contains *{}* it is replaced with list of filenames.
472         NOTE: In view 1 you can run a command for all files in the selected
473         album or artist.
475 save [-l] [-p] [file]
476         Save the specified view's or the current view's contents to a playlist
477         file.
479         @li -l
480         save library views
482         @li -p
483         save playlist view
485         If no filename given the old filename is used.
487 search-next (*n*)
488         If a search pattern has been entered before, search forward for the
489         next match in the current view.  See *SEARCHING* above.
491 search-prev (*N*)
492         If a search pattern has been entered before, search backwards for the
493         previous match in the current view.  See *SEARCHING* above.
495 seek [+-](<num>[mh] | [HH:]MM:SS)
496         Seek to absolute or relative position.  Position can be given in
497         seconds, minutes (m), hours (h) or HH:MM:SS format where HH: is
498         optional.
500         Seek 1 minute backward
501                 :seek -1m
503         Seek 5 seconds forward
504                 :seek +5
506         Seek to absolute position 1h
507                 :seek 1h
509         Seek 90 seconds forward
510                 :seek +1:30
512         Default bindings:
514                 @pre
515                 common  ,      :seek -1m
516                 common  .      :seek +1m
517                 common  l      :seek +5
518                 common  h      :seek -5
519                 common  right  :seek +5
520                 common  left   :seek -5
521                 @endpre
523 set <option>=<value>
524         Set value of an option. See *OPTIONS*.
526 set <option>
527         Display option value.  Vim compatible *set <option>?* is also
528         supported.
530 showbind <context> <key>
531         Show key binding.
533 shuffle
534         Reshuffle the shuffle lists for both library and playlist views.
536 source <filename>
537         Read and execute commands from <filename>.
539 toggle <option>
540         Toggle value of a toggle-able option (all booleans and tristate
541         *aaa_mode*).
543 tqueue [NUM]
544         Queue NUM (default 1) random tracks from the library. See also
545         *lqueue*.
547 unbind [-f] <context> <key>
548         Remove a key binding. Use tab to cycle through bound keys.
550         -f
551                 Don't throw an error if the binding is not known
553 unmark
554         Unmark all tracks (see *mark*).
556 update-cache
557         Update track metadata cache (~/.cmus/cache).
559 view <name or 1-7>
560         Switches active view.
562 vol [+-]NUM[%] [[+-]NUM[%]]
563         Set, increase or decrease volume.
565         If you give *vol* just one argument it changes both channels.  Two
566         values make it possible to change the left and right channel
567         independently.
569         To increase or decrease volume prefix the value with *-* or *+*,
570         otherwise value is treated as absolute volume.
572         Both absolute and relative values can be given as percentage units
573         (suffixed with *%*) or as internal values (hardware may have volume in
574         range 0-31 for example).
576         Default bindings:
578                 @pre
579                 common  =  :vol +10%
580                 common  +  :vol +10%
581                 common  -  :vol -10%
582                 common  [  :vol +1 +0
583                 common  ]  :vol +0 +1
584                 common  {  :vol -1 -0
585                 common  }  :vol -0 -1
586                 @endpre
588 win-activate (*enter*)
589         In views 1-3 start playing the selected track.  In view 5 start
590         playing the selected track or change to the selected directory.  In
591         view 6 activate the selected filters.  In settings view (7) change
592         binding or variable.
594 win-add-l (*a*)
595         Add the currently marked or selected track(s) (views 3-4), or the
596         currently selected file or directory (view 5) to the library.
598         Analogous to *:add -l*
600 win-add-p (*y*)
601         Add the currently marked or selected track(s) (views 1-2, 4), or the
602         currently selected file or directory (view 5) to the playlist.
604         Analogous to *:add -p*
606 win-add-Q (*E*)
607         Prepend the currently marked or selected track(s) (views 1-3), or the
608         currently selected file or directory (view 5) to the play queue.
610         Analogous to *:add -Q*
612 win-add-q (*e*)
613         Add the currently marked or selected track(s) (views 1-3), or the
614         currently selected file or directory (view 5) to the play queue.
616         Analogous to *:add -q*
618 win-bottom (*G*, *end*)
619         Goto bottom of the current window.
621 win-down (*j*, *down*)
622         Goto down one row in the current window.
624 win-mv-after (*p*)
625         If no tracks are marked, move the selected track down one row. If any
626         tracks are marked, move the marked tracks after the currently selected
627         track.  This command works in unsorted playlist and play queue view.
629 win-mv-before (*P*)
630         If no tracks are marked, move the selected track up one row. If any
631         tracks are marked, move the marked tracks before the currently
632         selected track.  This command works in unsorted playlist and play
633         queue view.
635 win-next (*tab*)
636         Activate next window.  Only relevant in view 1.
638 win-page-down (*^F*, *page_down*)
639         Goto down one page in the current window.
641 win-page-up (*^B*, *page_up*)
642         Goto up one page in the current window.
644 win-remove (*D*, *delete*)
645         Remove the selected entry.  For tracks no confirmations are made.  For
646         files (view 5), filters (view 6) and bindings (view 7) user has to
647         confirm the action.
649 win-sel-cur (*i*)
650         Select the current track (position in library or playlist, not
651         necessarily same as the currently playing track).  Works only in views
652         1-3, does nothing in other views.
654 win-toggle (*space*)
655         Expand albums in library view (1), mark tracks in views 2-4, toggle
656         selection of a filter in view 6, toggle variable value in view 7.
658 win-top (*g*, *home*)
659         Goto top of the current window.
661 win-up (*k*, *up*)
662         Goto up one row in the current window.
664 win-update (*u*)
665         Checks the modification time of the files in the library, and updates
666         metadata for changed files.  Removes non-existent files from the
667         library.
669         Reloads contents of directory in the browser view.
671         Only works in views 1-2 and 5, does nothing in other views.
674 @h1 CONFIGURATION OPTIONS
676 This section describes cmus' options that can be altered with the *set* and
677 *toggle* commands. Default values are in parenthesis, possible values in
678 brackets.
680 auto_reshuffle (false)
681         Reshuffle playlist when end of shuffle list is reached.
683 aaa_mode (all) [all, artist, album]
684         Defines what tracks should be played in the library view.  Not used in
685         the other views. For example if set to *artist* the player behaves
686         like there were only the files of the currently playing artist in the
687         library.
689 altformat_current [`Format String`]
690         Alternative format string for the line displaying currently playing
691         track.
693 altformat_playlist [`Format String`]
694         Alternative format string for the list views (2-4).
696 altformat_title [`Format String`]
697         Alternative format string for terminal title.  NOTE: not all
698         terminals support changing window title.
700 altformat_trackwin [`Format String`]
701         Alternative format string for the tree view's (1) track window.
703 buffer_seconds (10) [1-20]
704         Size of player buffer in seconds.
706 color_cmdline_bg (default) [`Color`]
707         Command line background color.
709 color_cmdline_fg (default) [`Color`]
710         Command line foreground color.
712 color_error (lightred) [`Color`]
713         Color of error messages displayed on the command line.
715 color_info (lightyellow) [`Color`]
716         Color of informational messages displayed on the command line.
718 color_separator (blue) [`Color`]
719         Color of the separator line between windows in view (1).
721 color_statusline_bg (gray) [`Color`]
722         Status line background color.
724 color_statusline_fg (black) [`Color`]
725         Status line foreground color.
727 color_titleline_bg (blue) [`Color`]
728         Background color of the line displaying currently playing track.
730 color_titleline_fg (white) [`Color`]
731         Foreground color of the line displaying currently playing track.
733 color_win_bg (default) [`Color`]
734         Window background color.
736 color_win_cur (lightyellow) [`Color`]
737         Color of currently playing track.
739 color_win_cur_sel_bg (blue) [`Color`]
740         Background color of the selected row which is also the currently
741         playing track in active window.
743 color_win_cur_sel_fg (lightyellow) [`Color`]
744         Foreground color of the selected row which is also the currently
745         playing track in active window.
747 color_win_dir (lightblue) [`Color`]
748         Color of directories in browser.
750 color_win_fg (default) [`Color`]
751         Window foreground color.
753 color_win_inactive_cur_sel_bg (gray) [`Color`]
754         Background color of the selected row which is also the currently
755         playing track in inactive window.
757 color_win_inactive_cur_sel_fg (lightyellow) [`Color`]
758         Foreground color of the selected row which is also the currently
759         playing track in inactive window.
761 color_win_inactive_sel_bg (gray) [`Color`]
762         Background color of selected row in inactive window.
764 color_win_inactive_sel_fg (black) [`Color`]
765         Foreground color of selected row in inactive window.
767 color_win_sel_bg (blue) [`Color`]
768         Background color of selected row in active window.
770 color_win_sel_fg (white) [`Color`]
771         Foreground color of selected row in active window.
773 color_win_title_bg (blue) [`Color`]
774         Background color of window titles (topmost line of the screen).
776 color_win_title_fg (white) [`Color`]
777         Foreground color of window titles (topmost line of the screen).
779 confirm_run (true)
780         Ask for confirmation before executing *:run*
782 continue (true)
783         Continue playing after current track finishes.
785 format_current [`Format String`]
786         Format string for the line displaying currently playing track.
788 format_playlist [`Format String`]
789         Format string for the list views (2-4).
791 format_title [`Format String`]
792         Format string for terminal title.
794         NOTE: not all terminals support changing window title.
796 format_trackwin [`Format String`]
797         Format string for the tree view's (1) track window.
799 id3_default_charset (ISO-8859-1)
800         Default character set to use for ID3v1 and broken ID3v2 tags.
802         NOTE:  This is used only if the tag is not valid UTF-8.
804 lib_sort (artist album discnumber tracknumber title filename) [`Sort Keys`]
805         Sort keys for the sorted library view (2).
807 output_plugin [alsa, arts, oss, sun]
808         Name of output plugin.
810 pl_sort () [`Sort Keys`]
811         Sort keys for the playlist view (3).  Empty value disables sorting and
812         enables manually moving tracks.
814 play_library (true)
815         Play tracks from the library instead of playlist.
817 play_sorted (false)
818         Play tracks from the library in the sorted view (2) order instead of
819         tree view (1) order.  Used only when play_library is true.
821 repeat (false)
822         Repeat after all tracks played.
824 repeat_current (false)
825         Repeat current track forever.
827 replaygain (false)
828         Enable Replay Gain.
830 replaygain_limit (true)
831         Use replay gain limiting when clipping.
833 replaygain_preamp (6.0)
834         Replay gain preamplification in decibels.
836 show_hidden (false)
837         Display hidden files in browser.
839 show_remaining_time (false)
840         Display remaining time instead of elapsed time.
842 shuffle (false)
843         Play in shuffled order.  Shuffle works in the library views (1-2) and
844         playlist view (3).
846 softvol (false)
847         Use software volume control.
849         NOTE: You should probably set this to false when using *ao* as
850         *output_plugin* to output to wav files.
852 softvol_state (100 100)
853         Used to save left and right channel values for software volume
854         control.  Two integers in range 0..100 separated by a space.  This
855         option is not usually changed directly since *vol* command does same
856         thing if *softvol* is true.
858 status_display_program () [command]
859         This command, if not empty, is run every time cmus' status changes.
860         It can be used to display currently playing track on desktop
861         background or panel for example.  See
862         `/usr/share/doc/cmus/examples/cmus-status-display`.
864 @h2 Colors
866 Color is integer in range -1..255.
868 The following color names are recognized:
870 Terminal's default color, -1
871         default
873 Fg & bg, 0..7
874         black, red, green, yellow, blue, magenta, cyan, gray
876 Fg, 8..15
877         darkgray, lightred, lightgreen, lightyellow, lightblue, lightmagenta,
878         lightcyan, white
880 @h2 Format Strings
882 Format strings control display of tracks in library, playlist and play queue
883 views.
885 NOTE: *altformat_\** options are used when there are no tags available.
887 Special Characters:
889         %a
890                 artist
891         %l
892                 album
893         %D
894                 disc number
895         %n
896                 track number
897         %t
898                 title
899         %g
900                 genre
901         %c
902                 comment
903         %y
904                 year
905         %d
906                 duration
907         %f
908                 path and filename
909         %F
910                 filename
911         %=
912                 start align right (use at most once)
913         %%
914                 literal *%*
916 You can use printf style formatting (width, alignment, padding). To see
917 current value of an option type *:set option=<TAB>*.
919 Examples:
921         @pre
922         :set format_trackwin= %02n. %t (%y)%= %d
923         :set format_current= %n. %-30t %40F (%y)%= %d
924         @endpre
926 @h2 Sort Keys
928 Sort option (lib_sort, pl_sort) value is space separated list of the following
929 sort keys:
931         artist, album, title, tracknumber, discnumber, date, genre, comment, filename
934 @h1 PLUGIN OPTIONS
936 dsp.alsa.device
937         PCM device for ALSA plugin, usually "default".
939 mixer.alsa.channel
940         Mixer channel for ALSA Plugin, usually "pcm", "master" or "headphone".
941         To see all possible values run "alsamixer" or "amixer".
943 mixer.alsa.device
944         Mixer device for ALSA plugin, usually "default".
946 dsp.ao.buffer_size
947         Buffer size, default is 8192 but you may want to try bigger values if
948         you experience buffer under-runs.
950 dsp.ao.driver
951         Output driver for libao plugin.  Example values: "alsa09", "esd",
952         "irix", "oss", "sun", "aixs", "wav".
954         NOTE: of the file output drivers only "wav" is supported.
956 dsp.ao.wav_counter
957         Counter used for making filename.  Used only if *dsp.ao.driver* is
958         "wav".  For example if this is 1 and *dsp.ao.wav_dir* is "/home/user"
959         then PCM data is outputted to "/home/user/01.wav".  This counter is
960         incremented every time playback is stopped.
962         NOTE: you probably want to set *continue* to *false* (press *C*),
963         otherwise playback is not stopped between tracks and all PCM data is
964         outputted to one wav file (useful if you want to join files).  Also
965         unsetting shuffle and repeat might be good idea.
967 dsp.ao.wav_dir
968         Output directory for libao plugin, default is your home directory.
969         Used only if *dsp.ao.driver* is "wav".
971 dsp.oss.device
972         PCM device for OSS plugin, usually /dev/dsp.
974 mixer.oss.channel
975         Mixer channel for OSS Plugin, "pcm" or "master".
977 mixer.oss.device
978         Mixer device for OSS plugin, usually /dev/mixer.
980 dsp.sun.device
981         PCM device for Sun plugin, usually /dev/audio.
983 mixer.sun.channel
984         Mixer channel for Sun Plugin, usually "master".
986 mixer.sun.device
987         Mixer device for Sun plugin, usually /dev/mixer.
990 @h1 FILTERS
992 Filters are used mostly for filtering contents of library views (1 & 2).
993 Filters do not change the actual library content, i.e. *:save* command will
994 still save all tracks to playlist file whether they are visible or not.
996 @h2 Syntax
998 Filter expression is list of built-in filters or user defined filters
999 separated with *&* (and) or *|* (or).  Parenthesis can be used group
1000 subexpressions and *!* negates result of the expression following it.
1002 @h2 Strings
1004 *filename*, *artist*, *album*, *title*, *genre*, *comment*
1006 Comparators: *=* and *!=* (not equal)
1008 @h2 Integers
1010 *discnumber*, *tracknumber*, *date* (year), *duration* (seconds)
1012 Comparators: *<*, *<=*, *=*, *>=*, *>*, *!=*
1014 @h2 Booleans
1016 *tag* (true if track has tags), *stream* (true if track is a stream)
1018 @h2 Defining Filters
1020 Filters can be defined with *fset* command.  User defined filters appear in
1021 the filters view (6).
1023 Create a new filter which name is *ogg* and value *filename="\*.ogg"*
1024         :fset ogg=filename="\*.ogg"
1026 Filter ogg and mp3 files from the 90s. Note the use of user defined filter
1027 *ogg*
1028         :fset 90s-ogg-mp3=date>=1990&date<2000&(ogg|filename="\*.mp3")
1030 @h2 Activating Filters
1032 *factivate* changes visible contents of the library (views 1-2).
1034 Activate user defined filters *ogg* and *missing-tags*
1035         :factivate ogg missing-tags
1037 Like above but negate value of *ogg* filter.
1038         :factivate !ogg missing-tags
1040 Alternatively you can select the filters by pressing *space* in view 6 and
1041 then activate the selected filters by pressing *enter*.
1043 @h2 Throw-away Filters
1045 *filter* command is useful when you want to use a filter only once and not
1046 save it.  It changes visible contents of the library (views 1-2) and
1047 unactivates all filters in the filters view.
1049 Filter all rock (anything with *rock* in genre tag) music from 80s-
1050         :filter date>=1980&genre="\*rock\*"
1052 @h2 Selecting Tracks Matching a Filter
1054 Mark (select) all tracks with duration less than 2 minutes
1055         :mark duration<120
1057 This command works in views 2-4.
1060 @h1 FILES
1062 cmus reads its configuration from 3 different places.
1064 `~/.cmus/autosave`
1065         This is the first file cmus loads.  cmus saves its state on exit to
1066         this file so you shouldn't edit it.
1068 `/usr/share/cmus/rc`
1069         If the autosave file didn't exist, this file is read instead.
1071 `~/.cmus/rc`
1072         Static config file. This file is read immediately after the autosave
1073         file, and is never modified by cmus.  You can override auto-saved
1074         settings in this file.  This file is not limited to options, it can
1075         contain other commands too.
1077 @h2 Color Schemes
1079 There are some color schemes (\*.theme) in `/usr/share/cmus`.  You can switch
1080 them using the *:colorscheme* command.  You can put your own color schemes to
1081 ~/.cmus.
1083 @h2 Examples
1085 Example status display script (See *status_display_program* option) can be
1086 found in `/usr/share/doc/cmus/examples`.
1089 @h1 BUGS
1091 After a crash last lines of `/tmp/cmus-debug` (or $TMPDIR/cmus-debug) might
1092 contain useful information.  The file exists only if you configured cmus with
1093 maximum debug level (*./configure DEBUG=2*).
1095 Feature requests and bug reports should go to the cmus-devel mailing list:
1096         http://lists.sourceforge.net/lists/listinfo/cmus-devel
1099 @h1 SEE ALSO
1101 *cmus-remote*(1)
1104 @h1 AUTHORS
1106 cmus was mainly written by Timo Hirvonen <tihirvon\@gmail.com>.  Other
1107 contributers are listed in the `AUTHORS` file.
1109 This man page was written by Frank Terbeck <ft\@bewatermyfriend.org>,
1110 Timo Hirvonen <tihirvon\@gmail.com>, and Clay Barnes <clay.barnes\@gmail.com>.