123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544 |
- ##############################################################
- ## 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
- #
|