diff --git a/beets/ui/commands.py b/beets/ui/commands.py index a30a00311..855f639e9 100644 --- a/beets/ui/commands.py +++ b/beets/ui/commands.py @@ -803,6 +803,8 @@ default_commands.append(import_cmd) # list: Query and show library contents. +DEFAULT_LIST_FORMAT = '$artist - $album - $title' + def list_items(lib, query, album, path, fmt): """Print out items in lib matching query. If album, then search for albums instead of single items. If path, print the matched objects' @@ -838,7 +840,10 @@ list_cmd.parser.add_option('-p', '--path', action='store_true', list_cmd.parser.add_option('-f', '--format', action='store', help='print with custom format', default=None) def list_func(lib, config, opts, args): - list_items(lib, decargs(args), opts.album, opts.path, opts.format) + format = opts.format if opts.format is not None else \ + ui.config_val(config, 'beets', 'list_format', + DEFAULT_LIST_FORMAT) + list_items(lib, decargs(args), opts.album, opts.path, format) list_cmd.func = list_func default_commands.append(list_cmd) diff --git a/docs/reference/config.rst b/docs/reference/config.rst index 4d5d21a51..1bce057c2 100644 --- a/docs/reference/config.rst +++ b/docs/reference/config.rst @@ -171,6 +171,11 @@ section header: This option is historical and deprecated: it's almost always more appropriate to use ``import_move`` instead. +``list_format`` + Format to use when listing library content using ``beet list``. Defaults to + ``$artist - $album - $title``. The ``-f`` command-line option override this + setting. + .. _path-format-config: Path Format Configuration