581 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			581 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|  | ############################################################## | ||
|  | ## This is the example bindings file. Copy it to            ## | ||
|  | ## $XDG_CONFIG_HOME/ncmpcpp/bindings or ~/.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. | ||
|  | ## | ||
|  | ##    - run_external_console_command "command" - runs given console | ||
|  | ##      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 | ||
|  | ##  - load | ||
|  | ## | ||
|  | # | ||
|  | #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 "backspace" | ||
|  | #  play | ||
|  | # | ||
|  | #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 | ||
|  | # | ||
|  | 
 | ||
|  | 
 | ||
|  | def_key "h" | ||
|  |   previous_column | ||
|  | 
 | ||
|  | def_key "j" | ||
|  |   scroll_down | ||
|  | 
 | ||
|  | def_key "ctrl-j" | ||
|  |   page_down | ||
|  | 
 | ||
|  | def_key "J" | ||
|  |   select_item | ||
|  |   scroll_down | ||
|  | 
 | ||
|  | def_key "k" | ||
|  |   scroll_up | ||
|  | 
 | ||
|  | def_key "ctrl-j" | ||
|  |   page_down | ||
|  | 
 | ||
|  | def_key "K" | ||
|  |   select_item | ||
|  |   scroll_up | ||
|  | 
 | ||
|  | def_key "l" | ||
|  |   next_column | ||
|  | 
 | ||
|  | # vim: shiftwidth=2 |