543 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			543 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
##############################################################
 | 
						|
## This is the example bindings file. Copy it to            ##
 | 
						|
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/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 a chain of actions. When such chain is
 | 
						|
##    executed, each action in chain is run until the end of
 | 
						|
##    chain is reached or one of its actions fails to execute
 | 
						|
##    due to its requirements not being met. If multiple actions
 | 
						|
##    and/or chains are bound to the same key, they will be
 | 
						|
##    consecutively run until one of them gets fully executed.
 | 
						|
##
 | 
						|
## 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, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\,
 | 
						|
##      ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace.
 | 
						|
##      In addition, most of these names can be prefixed with
 | 
						|
##      alt-/ctrl-/shift- to be recognized with the appropriate
 | 
						|
##      modifier key(s).
 | 
						|
##
 | 
						|
##    - 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: while command chains are executed, internal environment
 | 
						|
##    update (which includes current window refresh and mpd status
 | 
						|
##    update) is not performed for performance reasons. However, it
 | 
						|
##    may be desirable to do so in some situration. Therefore it's
 | 
						|
##    possible to invoke by hand by performing 'update enviroment'
 | 
						|
##    action.
 | 
						|
##
 | 
						|
## 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
 | 
						|
##
 | 
						|
#
 | 
						|
#def_key "mouse"
 | 
						|
#  mouse_event
 | 
						|
#
 | 
						|
#def_key "up"
 | 
						|
#  scroll_up
 | 
						|
#
 | 
						|
#def_key "shift-up"
 | 
						|
#  select_item
 | 
						|
#  scroll_up
 | 
						|
#
 | 
						|
#def_key "down"
 | 
						|
#  scroll_down
 | 
						|
#
 | 
						|
#def_key "shift-down"
 | 
						|
#  select_item
 | 
						|
#  scroll_down
 | 
						|
#
 | 
						|
#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 "insert"
 | 
						|
#  select_item
 | 
						|
#
 | 
						|
#def_key "enter"
 | 
						|
#  enter_directory
 | 
						|
#
 | 
						|
#def_key "enter"
 | 
						|
#  toggle_output
 | 
						|
#
 | 
						|
#def_key "enter"
 | 
						|
#  run_action
 | 
						|
#
 | 
						|
#def_key "enter"
 | 
						|
#  play_item
 | 
						|
#
 | 
						|
#def_key "space"
 | 
						|
#  add_item_to_playlist
 | 
						|
#
 | 
						|
#def_key "space"
 | 
						|
#  toggle_lyrics_update_on_song_change
 | 
						|
#
 | 
						|
#def_key "space"
 | 
						|
#  toggle_visualization_type
 | 
						|
#
 | 
						|
#def_key "delete"
 | 
						|
#  delete_playlist_items
 | 
						|
#
 | 
						|
#def_key "delete"
 | 
						|
#  delete_browser_items
 | 
						|
#
 | 
						|
#def_key "delete"
 | 
						|
#  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_browser
 | 
						|
#
 | 
						|
#def_key "2"
 | 
						|
#  change_browse_mode
 | 
						|
#
 | 
						|
#def_key "3"
 | 
						|
#  show_search_engine
 | 
						|
#
 | 
						|
#def_key "3"
 | 
						|
#  reset_search_engine
 | 
						|
#
 | 
						|
#def_key "4"
 | 
						|
#  show_media_library
 | 
						|
#
 | 
						|
#def_key "4"
 | 
						|
#  toggle_media_library_columns_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 "="
 | 
						|
#  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 "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_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-s"
 | 
						|
#  sort_playlist
 | 
						|
#
 | 
						|
#def_key "ctrl-s"
 | 
						|
#  toggle_browser_sort_mode
 | 
						|
#
 | 
						|
#def_key "ctrl-s"
 | 
						|
#  toggle_media_library_sort_mode
 | 
						|
#
 | 
						|
#def_key "ctrl-r"
 | 
						|
#  reverse_playlist
 | 
						|
#
 | 
						|
#def_key "ctrl-f"
 | 
						|
#  apply_filter
 | 
						|
#
 | 
						|
#def_key "ctrl-_"
 | 
						|
#  select_found_items
 | 
						|
#
 | 
						|
#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 "ctrl-v"
 | 
						|
#  select_range
 | 
						|
#
 | 
						|
#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 "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"
 | 
						|
#  fetch_lyrics_in_background
 | 
						|
#
 | 
						|
#def_key "alt-l"
 | 
						|
#  toggle_fetching_lyrics_in_background
 | 
						|
#
 | 
						|
#def_key "ctrl-l"
 | 
						|
#  toggle_screen_lock
 | 
						|
#
 | 
						|
#def_key "`"
 | 
						|
#  toggle_library_tag_type
 | 
						|
#
 | 
						|
#def_key "`"
 | 
						|
#  refetch_lyrics
 | 
						|
#
 | 
						|
#def_key "`"
 | 
						|
#  add_random_items
 | 
						|
#
 | 
						|
#def_key "ctrl-p"
 | 
						|
#  set_selected_items_priority
 | 
						|
#
 | 
						|
#def_key "q"
 | 
						|
#  quit
 | 
						|
# |