summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.ncmpcpp/bindings533
-rw-r--r--.ncmpcpp/config84
2 files changed, 578 insertions, 39 deletions
diff --git a/.ncmpcpp/bindings b/.ncmpcpp/bindings
new file mode 100644
index 00000000..e9bd1560
--- /dev/null
+++ b/.ncmpcpp/bindings
@@ -0,0 +1,533 @@
+##########################################################
+## this is example bindings configuration file, copy it ##
+## to ~/.ncmpcpp/bindings and set up your preferences   ##
+##########################################################
+##
+##### General rules #####
+##
+## 1) Because each action has runtime checks whether it's
+##    ok to run it, a few actions can be bound to one key.
+##    Actions will be bound in order given in configuration
+##    file. When a key is pressed, first action in order
+##    will test itself whether it's possible to run it. If
+##    test succeeds, action is executed and other actions
+##    bound to this key are ignored. If it doesn't, next
+##    action in order tests itself etc.
+##
+## 2) It's possible to bind more that one action at once
+##    to a key. It can be done using the following syntax:
+##
+##    def_key "key"
+##      action1
+##      action2
+##      ...
+##
+##    This creates chain of actions. When such chain is
+##    executed, each action in chain is run until the end of
+##    chain is reached or one of actions failed to execute
+##    due to its requirements not being met. Note that
+##    execution of chain of actions ALWAYS succeeds, no
+##    matter if one of actions from the chain failed (even
+##    if it was the first one in order and thus nothing
+##    was really executed). Because of that, if you decide
+##    to bind both actions and chains to a single key, make
+##    sure that chain is defined in the end. Otherwise, all
+##    actions bound to the key after chain will never be run.
+##
+## 3) When ncmpcpp starts, bindings configuration file is
+##    parsed and then ncmpcpp provides "missing pieces"
+##    of default keybindings. If you want to disable some
+##    bindings, there is a special action called 'dummy'
+##    for that purpose. Eg. if you want to disable ability
+##    to crop playlists, you need to put the following
+##    into configuration file:
+##
+##    def_key "C"
+##      dummy
+##
+##    After that ncmpcpp will not bind any default action
+##    to this key.
+##
+## 4) To let you write simple macros, the following special
+##    actions are provided:
+##
+##    - push_character "character" - pushes given special
+##      character into input queue, so it will be immediately
+##      picked by ncmpcpp upon next call to readKey function.
+##      Accepted values: mouse, up, down, page_up, page_down,
+##      home, end, space, enter, insert, delete, left, right,
+##      tab, shift_tab, ctrl_a, ctrl_b, ..., ctrl_z, f1, f2,
+##      ..., f12, backspace, backspace_2.
+##
+##    - push_characters "string" - pushes given string into
+##      input queue.
+##
+##    - require_runnable "action" - checks whether given action
+##      is runnable and fails if it isn't. This is especially
+##      useful when mixed with previous two functions. Consider
+##      the following macro definition:
+##
+##      def_key "key"
+##        push_characters "custom_filter"
+##        apply_filter
+##
+##      If apply_filter can't be currently run, we end up with
+##      sequence of characters in input queue which will be
+##      treated just as we typed them. This may lead to unexpected
+##      results (in this case 'c' will most likely clear current
+##      playlist, 'u' will trigger database update, 's' will stop
+##      playback etc.). To prevent such thing from happening, we
+##      need to change above definition to this one:
+##
+##      def_key "key"
+##        require_runnable "apply_filter"
+##        push_characters "custom_filter"
+##        apply_filter
+##
+##      Here, first we test whether apply_filter can be actually run
+##      before we stuff characters into input queue, so if condition
+##      is not met, whole chain is aborted and we're fine.
+##
+##    - require_screen "screen" - checks whether given screen is
+##      currently active. accepted values: browser, clock, help,
+##      media_library, outputs, playlist, playlist_editor,
+##      search_engine, tag_editor, visualizer, last_fm, lyrics,
+##      selected_items_adder, server_info, song_info,
+##      sort_playlist_dialog, tiny_tag_editor.
+##
+##    - run_external_command "command" - runs given command using
+##      system() function.
+##
+## 5) In addition to binding to a key, you can also bind actions
+##    or chains of actions to a command. If it comes to commands,
+##    syntax is very similar to defining keys. Here goes example
+##    definition of a command:
+##
+##      def_command "quit" [deferred]
+##        stop
+##        quit
+##
+##    If you execute the above command (which can be done by
+##    invoking action execute_command, typing 'quit' and pressing
+##    enter), ncmpcpp will stop the player and then quit. Note the
+##    presence of word 'deferred' enclosed in square brackets. It
+##    tells ncmpcpp to wait for confirmation (ie. pressing enter)
+##    after you typed quit. Instead of 'deferred', 'immediate'
+##    could be used. Then ncmpcpp will not wait for confirmation
+##    (enter) and will execute the command the moment it sees it.
+##
+## Note: Both 'backspace' and 'backspace_2' are used because some
+##       terminals interpret backspace using keycode of 'backspace'
+##       and some the one of 'backspace_2'. You can get away with
+##       binding once if all your terminal emulators use the same
+##       value.
+##
+## Note: There is a difference between:
+##
+##         def_key "key"
+##           action1
+##
+##         def_key "key"
+##           action2
+##
+##       and
+##
+##         def_key "key"
+##           action1
+##           action2
+##
+##      First one binds two single actions to the same key whilst
+##      second one defines a chain of actions. The behavior of
+##      these two is different and is described in (1) and (2).
+##
+## Note: Function def_key accepts non-ascii characters.
+##
+##### List of unbound actions #####
+##
+## The following actions are not bound to any key/command:
+##
+##  - set_volume
+##  - filter_playlist_on_priorities
+##
+#
+#def_key "mouse"
+#  mouse_event
+#
+#def_key "up"
+#  scroll_up
+#
+#def_key "down"
+#  scroll_down
+#
+def_key "j"
+  scroll_down
+
+def_key "k"
+  scroll_up
+
+#def_key "["
+#  scroll_up_album
+#
+#def_key "]"
+#  scroll_down_album
+#
+#def_key "{"
+#  scroll_up_artist
+#
+#def_key "}"
+#  scroll_down_artist
+#
+#def_key "page_up"
+#  page_up
+#
+#def_key "page_down"
+#  page_down
+#
+#def_key "home"
+#  move_home
+#
+#def_key "end"
+#  move_end
+#
+#def_key "space"
+#  press_space
+#
+#def_key "enter"
+#  press_enter
+#
+#def_key "delete"
+#  delete_playlist_items
+#
+#def_key "delete"
+#  delete_stored_playlist
+#
+def_key "d"
+  delete_playlist_items
+
+def_key "d"
+  delete_stored_playlist
+
+#def_key "right"
+#  next_column
+#
+#def_key "right"
+#  slave_screen
+#
+#def_key "right"
+#  volume_up
+#
+#def_key "+"
+#  volume_up
+#
+#def_key "left"
+#  previous_column
+#
+#def_key "left"
+#  master_screen
+#
+#def_key "left"
+#  volume_down
+#
+#def_key "-"
+#  volume_down
+#
+#def_key ":"
+#  execute_command
+#
+#def_key "tab"
+#  next_screen
+#
+#def_key "shift_tab"
+#  previous_screen
+#
+#def_key "f1"
+#  show_help
+#
+def_key "1"
+  show_playlist
+
+def_key "2"
+  show_media_library
+
+def_key "2"
+  toggle_media_library_columns_mode
+
+def_key "3"
+  show_search_engine
+
+def_key "3"
+  reset_search_engine
+
+def_key "4"
+  show_browser
+
+def_key "4"
+  change_browse_mode
+
+#def_key "5"
+#  show_playlist_editor
+#
+#def_key "6"
+#  show_tag_editor
+#
+#def_key "7"
+#  show_outputs
+#
+#def_key "8"
+#  show_visualizer
+#
+def_key "0"
+  show_help
+
+#def_key "="
+#  show_clock
+#
+#def_key "@"
+#  show_server_info
+#
+#def_key "s"
+#  stop
+#
+#def_key "p"
+#  pause
+#
+#def_key ">"
+#  next
+#
+#def_key "<"
+#  previous
+#
+#def_key "ctrl_h"
+#  jump_to_parent_directory
+#
+#def_key "ctrl_h"
+#  replay_song
+#
+#def_key "backspace"
+#  jump_to_parent_directory
+#
+#def_key "backspace"
+#  replay_song
+#
+#def_key "backspace_2"
+#  jump_to_parent_directory
+#
+#def_key "backspace_2"
+#  replay_song
+#
+#def_key "f"
+#  seek_forward
+#
+#def_key "b"
+#  seek_backward
+#
+#def_key "r"
+#  toggle_repeat
+#
+#def_key "z"
+#  toggle_random
+#
+#def_key "y"
+#  save_tag_changes
+#
+#def_key "y"
+#  start_searching
+#
+#def_key "y"
+#  toggle_single
+#
+#def_key "R"
+#  toggle_consume
+#
+#def_key "Y"
+#  toggle_replay_gain_mode
+#
+#def_key "t"
+#  toggle_space_mode
+#
+#def_key "T"
+#  toggle_add_mode
+#
+#def_key "|"
+#  toggle_mouse
+#
+#def_key "#"
+#  toggle_bitrate_visibility
+#
+#def_key "Z"
+#  shuffle
+#
+#def_key "x"
+#  toggle_crossfade
+#
+#def_key "X"
+#  set_crossfade
+#
+#def_key "u"
+#  update_database
+#
+#def_key "ctrl_v"
+#  sort_playlist
+#
+#def_key "ctrl_r"
+#  reverse_playlist
+#
+#def_key "ctrl_f"
+#  apply_filter
+#
+#def_key "/"
+#  find
+#
+#def_key "/"
+#  find_item_forward
+#
+#def_key "?"
+#  find
+#
+#def_key "?"
+#  find_item_backward
+#
+#def_key "."
+#  next_found_item
+#
+#def_key ","
+#  previous_found_item
+#
+#def_key "w"
+#  toggle_find_mode
+#
+#def_key "e"
+#  edit_song
+#
+#def_key "e"
+#  edit_library_tag
+#
+#def_key "e"
+#  edit_library_album
+#
+#def_key "e"
+#  edit_directory_name
+#
+#def_key "e"
+#  edit_playlist_name
+#
+#def_key "e"
+#  edit_lyrics
+#
+#def_key "i"
+#  show_song_info
+#
+#def_key "I"
+#  show_artist_info
+#
+#def_key "g"
+#  jump_to_position_in_song
+#
+#def_key "l"
+#  show_lyrics
+#
+#def_key "v"
+#  reverse_selection
+#
+#def_key "V"
+#  remove_selection
+#
+#def_key "B"
+#  select_album
+#
+#def_key "a"
+#  add_selected_items
+#
+#def_key "c"
+#  clear_playlist
+#
+#def_key "c"
+#  clear_main_playlist
+#
+#def_key "C"
+#  crop_playlist
+#
+#def_key "C"
+#  crop_main_playlist
+#
+#def_key "m"
+#  move_sort_order_up
+#
+#def_key "m"
+#  move_selected_items_up
+#
+#def_key "m"
+#  toggle_media_library_sort_mode
+#
+#def_key "n"
+#  move_sort_order_down
+#
+#def_key "n"
+#  move_selected_items_down
+#
+#def_key "M"
+#  move_selected_items_to
+#
+#def_key "A"
+#  add
+#
+#def_key "S"
+#  save_playlist
+#
+#def_key "o"
+#  jump_to_playing_song
+#
+#def_key "G"
+#  jump_to_browser
+#
+#def_key "G"
+#  jump_to_playlist_editor
+#
+#def_key "~"
+#  jump_to_media_library
+#
+#def_key "E"
+#  jump_to_tag_editor
+#
+#def_key "U"
+#  toggle_playing_song_centering
+#
+#def_key "P"
+#  toggle_display_mode
+#
+#def_key "\\"
+#  toggle_interface
+#
+#def_key "!"
+#  toggle_separators_between_albums
+#
+#def_key "L"
+#  toggle_lyrics_fetcher
+#
+#def_key "F"
+#  toggle_fetching_lyrics_in_background
+#
+#def_key "ctrl_l"
+#  toggle_screen_lock
+#
+#def_key "`"
+#  toggle_browser_sort_mode
+#
+#def_key "`"
+#  toggle_library_tag_type
+#
+#def_key "`"
+#  refetch_lyrics
+#
+#def_key "`"
+#  refetch_artist_info
+#
+#def_key "`"
+#  add_random_items
+#
+#def_key "ctrl_p"
+#  set_selected_items_priority
+#
+#def_key "q"
+#  quit
+#
diff --git a/.ncmpcpp/config b/.ncmpcpp/config
index 44a97849..766e0abd 100644
--- a/.ncmpcpp/config
+++ b/.ncmpcpp/config
@@ -36,8 +36,6 @@ mpd_music_dir = "~/Music"
 #
 #mpd_crossfade_time = "5"
 #
-#mpd_communication_mode = "notifications" (polling/notifications)
-#
 ##### music visualizer #####
 ##
 ## Note: In order to make music visualizer work you'll
@@ -80,16 +78,16 @@ visualizer_output_name = "My FIFO"
 ## Keep in mind that sane values start with >=10.
 ##
 #
-visualizer_sync_interval = "30"
+#visualizer_sync_interval = "30"
 #
 ##
 ## Note: To enable spectrum frequency visualization
 ## you need to compile ncmpcpp with fftw3 support.
 ##
 #
-visualizer_type = "wave" (spectrum/wave)
+#visualizer_type = "wave" (spectrum/wave)
 #
-visualizer_look = "◆│"
+#visualizer_look = "◆│"
 #
 ##### system encoding #####
 ##
@@ -129,7 +127,7 @@ visualizer_look = "◆│"
 ## %A - album artist
 ## %t - title
 ## %b - album
-## %y - year
+## %y - date
 ## %n - track number (01/12 -> 01)
 ## %N - full track info (01/12 -> 01/12)
 ## %g - genre
@@ -137,6 +135,7 @@ visualizer_look = "◆│"
 ## %p - performer
 ## %d - disc
 ## %C - comment
+## %P - priority
 ## $R - begin right alignment
 ##
 ## you can also put them in { } and then it will be displayed
@@ -179,6 +178,17 @@ visualizer_look = "◆│"
 #tag_editor_album_format = "{(%y) }%b"
 #
 ##
+## Note: Below variables are used for sorting songs in browser.
+## The sort mode determines how songs are sorted, and can be used
+## in combination with a sort format to specify a custom sorting format.
+## Possible values for browser_sort_mode are "name", "mtime" and "format".
+##
+#
+#browser_sort_mode = "name"
+#
+#browser_sort_format = "{%a - }{%t}|{%f} {(%l)}"
+#
+##
 ## Note: Below variables are for alternative version of user's interface.
 ## Their syntax supports all tags and colors listed above plus some extra
 ## markers used for text attributes. They are followed by character '$'.
@@ -214,6 +224,8 @@ visualizer_look = "◆│"
 #
 #selected_item_suffix = "$9"
 #
+#modified_item_prefix = "$3> $9"
+#
 ## colors are not supported for below variable
 #
 #song_window_title_format = "{%a - }{%t}|{%f}"
@@ -267,19 +279,19 @@ visualizer_look = "◆│"
 ##
 #execute_on_song_change = ""
 #
-#playlist_show_remaining_time = "yes"
+playlist_show_remaining_time = "no"
 #
-#playlist_shorten_total_times = "no"
+playlist_shorten_total_times = "yes"
 #
 #playlist_separate_albums = "no"
 #
-#playlist_display_mode = "classic" (classic/columns)
+playlist_display_mode = "columns" #(classic/columns)
 #
-#browser_display_mode = "classic" (classic/columns)
+browser_display_mode = "columns" #(classic/columns)
 #
-#search_engine_display_mode = "classic" (classic/columns)
+search_engine_display_mode = "columns" #(classic/columns)
 #
-#playlist_editor_display_mode = "classic" (classic/columns)
+playlist_editor_display_mode = "columns" #(classic/columns)
 #
 #discard_colors_if_item_is_selected = "yes"
 #
@@ -287,6 +299,8 @@ visualizer_look = "◆│"
 #
 #seek_time = "1"
 #
+#volume_change_step = "1"
+#
 #autocenter_mode = "no"
 #
 #centered_cursor = "no"
@@ -297,18 +311,18 @@ visualizer_look = "◆│"
 ##
 #progressbar_look = "=>"
 #
+#progressbar_boldness = "yes"
+#
 #default_place_to_search_in = "database" (database/playlist)
 #
-user_interface = "alternative" (classic/alternative)
+user_interface = "alternative" #(classic/alternative)
 #
-media_library_left_column = "A" (possible values: a,y,g,c,p, legend above)
+media_library_left_column = "A" #(possible values: a,y,g,c,p, legend above)
 #
 #default_find_mode = "wrapped" (wrapped/normal)
 #
 #default_space_mode = "add" (add/select)
 #
-#default_tag_editor_left_col = "albums" (albums/dirs)
-#
 #default_tag_editor_pattern = "%n - %t"
 #
 #header_visibility = "yes"
@@ -323,7 +337,7 @@ media_library_left_column = "A" (possible values: a,y,g,c,p, legend above)
 #
 #cyclic_scrolling = "no"
 #
-lines_scrolled = "2"
+#lines_scrolled = "2"
 #
 #follow_now_playing_lyrics = "no"
 #
@@ -331,6 +345,8 @@ lines_scrolled = "2"
 #
 #store_lyrics_in_song_dir = "no"
 #
+#generate_win32_compatible_filenames = "yes"
+#
 ##
 ## Note: If you set this variable, ncmpcpp will try to
 ## get info from last.fm in language you set and if it
@@ -388,40 +404,38 @@ lines_scrolled = "2"
 #
 #jump_to_now_playing_song_at_start = "yes"
 #
-#ask_before_clearing_main_playlist = "no"
+ask_before_clearing_main_playlist = "yes"
 #
 #clock_display_seconds = "no"
 #
 #display_volume_level = "yes"
 #
-#display_bitrate = "no"
+display_bitrate = "yes"
 #
-display_remaining_time = "no"
+#display_remaining_time = "yes"
 #
-#regular_expressions = "basic" (basic/extended)
+#regular_expressions = "none" (none/basic/extended)
 #
 ##
 ## Note: If below is enabled, ncmpcpp will ignore leading
 ## "The" word while sorting items in browser, tags in
 ## media library, etc.
 ##
-#ignore_leading_the = "no"
+ignore_leading_the = "yes"
 #
 #block_search_constraints_change_if_items_found = "yes"
 #
 #mouse_support = "yes"
 #
-mouse_list_scroll_whole_page = "no"
+#mouse_list_scroll_whole_page = "yes"
 #
 #empty_tag_marker = "<empty>"
 #
-#tag_editor_extended_numeration = "no"
-#
-#media_library_display_date = "yes"
+#tags_separator = " | "
 #
-#media_library_display_empty_tag = "yes"
+#tag_editor_extended_numeration = "no"
 #
-#media_library_disable_two_column_mode = "no"
+#media_library_sort_by_mtime = "no"
 #
 #enable_window_title = "yes"
 #
@@ -439,16 +453,6 @@ mouse_list_scroll_whole_page = "no"
 #
 search_engine_default_search_mode = "2"
 #
-##
-## Note: Below variables can allow you to physically
-## remove files and directories from your hdd using
-## ncmpcpp's browser screen.
-##
-#
-#allow_physical_files_deletion = "no"
-#
-#allow_physical_directories_deletion = "no"
-#
 #external_editor = ""
 #
 #use_console_editor = "no" (set to yes, if your editor is console app)
@@ -477,13 +481,15 @@ search_engine_default_search_mode = "2"
 #
 #progressbar_color = "default"
 #
+#progressbar_elapsed_color = "default"
+#
 #statusbar_color = "default"
 #
 #alternative_ui_separator_color = "black"
 #
 #active_column_color = "red"
 #
-visualizer_color = "green"
+#visualizer_color = "yellow"
 #
 #window_border_color = "green"
 #