this repo has no description
dotfiles
at main 539 lines 11 kB view raw
1########################################################## 2## this is example bindings configuration file, copy it ## 3## to ~/.ncmpcpp/bindings and set up your preferences ## 4########################################################## 5## 6##### General rules ##### 7## 8## 1) Because each action has runtime checks whether it's 9## ok to run it, a few actions can be bound to one key. 10## Actions will be bound in order given in configuration 11## file. When a key is pressed, first action in order 12## will test itself whether it's possible to run it. If 13## test succeeds, action is executed and other actions 14## bound to this key are ignored. If it doesn't, next 15## action in order tests itself etc. 16## 17## 2) It's possible to bind more that one action at once 18## to a key. It can be done using the following syntax: 19## 20## def_key "key" 21## action1 22## action2 23## ... 24## 25## This creates a chain of actions. When such chain is 26## executed, each action in chain is run until the end of 27## chain is reached or one of its actions fails to execute 28## due to its requirements not being met. If multiple actions 29## and/or chains are bound to the same key, they will be 30## consecutively run until one of them gets fully executed. 31## 32## 3) When ncmpcpp starts, bindings configuration file is 33## parsed and then ncmpcpp provides "missing pieces" 34## of default keybindings. If you want to disable some 35## bindings, there is a special action called 'dummy' 36## for that purpose. Eg. if you want to disable ability 37## to crop playlists, you need to put the following 38## into configuration file: 39## 40## def_key "C" 41## dummy 42## 43## After that ncmpcpp will not bind any default action 44## to this key. 45## 46## 4) To let you write simple macros, the following special 47## actions are provided: 48## 49## - push_character "character" - pushes given special 50## character into input queue, so it will be immediately 51## picked by ncmpcpp upon next call to readKey function. 52## Accepted values: mouse, up, down, page_up, page_down, 53## home, end, space, enter, insert, delete, left, right, 54## tab, ctrl-a, ctrl-b, ..., ctrl-z, ctrl-[, ctrl-\\, 55## ctrl-], ctrl-^, ctrl-_, f1, f2, ..., f12, backspace. 56## In addition, most of these names can be prefixed with 57## alt-/ctrl-/shift- to be recognized with the appropriate 58## modifier key(s). 59## 60## - push_characters "string" - pushes given string into 61## input queue. 62## 63## - require_runnable "action" - checks whether given action 64## is runnable and fails if it isn't. This is especially 65## useful when mixed with previous two functions. Consider 66## the following macro definition: 67## 68## def_key "key" 69## push_characters "custom_filter" 70## apply_filter 71## 72## If apply_filter can't be currently run, we end up with 73## sequence of characters in input queue which will be 74## treated just as we typed them. This may lead to unexpected 75## results (in this case 'c' will most likely clear current 76## playlist, 'u' will trigger database update, 's' will stop 77## playback etc.). To prevent such thing from happening, we 78## need to change above definition to this one: 79## 80## def_key "key" 81## require_runnable "apply_filter" 82## push_characters "custom_filter" 83## apply_filter 84## 85## Here, first we test whether apply_filter can be actually run 86## before we stuff characters into input queue, so if condition 87## is not met, whole chain is aborted and we're fine. 88## 89## - require_screen "screen" - checks whether given screen is 90## currently active. accepted values: browser, clock, help, 91## media_library, outputs, playlist, playlist_editor, 92## search_engine, tag_editor, visualizer, last_fm, lyrics, 93## selected_items_adder, server_info, song_info, 94## sort_playlist_dialog, tiny_tag_editor. 95## 96## - run_external_command "command" - runs given command using 97## system() function. 98## 99## 5) In addition to binding to a key, you can also bind actions 100## or chains of actions to a command. If it comes to commands, 101## syntax is very similar to defining keys. Here goes example 102## definition of a command: 103## 104## def_command "quit" [deferred] 105## stop 106## quit 107## 108## If you execute the above command (which can be done by 109## invoking action execute_command, typing 'quit' and pressing 110## enter), ncmpcpp will stop the player and then quit. Note the 111## presence of word 'deferred' enclosed in square brackets. It 112## tells ncmpcpp to wait for confirmation (ie. pressing enter) 113## after you typed quit. Instead of 'deferred', 'immediate' 114## could be used. Then ncmpcpp will not wait for confirmation 115## (enter) and will execute the command the moment it sees it. 116## 117## Note: while command chains are executed, internal environment 118## update (which includes current window refresh and mpd status 119## update) is not performed for performance reasons. However, it 120## may be desirable to do so in some situration. Therefore it's 121## possible to invoke by hand by performing 'update enviroment' 122## action. 123## 124## Note: There is a difference between: 125## 126## def_key "key" 127## action1 128## 129## def_key "key" 130## action2 131## 132## and 133## 134## def_key "key" 135## action1 136## action2 137## 138## First one binds two single actions to the same key whilst 139## second one defines a chain of actions. The behavior of 140## these two is different and is described in (1) and (2). 141## 142## Note: Function def_key accepts non-ascii characters. 143## 144##### List of unbound actions ##### 145## 146## The following actions are not bound to any key/command: 147## 148## - set_volume 149## 150# 151#def_key "mouse" 152# mouse_event 153# 154#def_key "up" 155# scroll_up 156# 157#def_key "shift-up" 158# select_item 159# scroll_up 160# 161#def_key "down" 162# scroll_down 163# 164#def_key "shift-down" 165# select_item 166# scroll_down 167# 168#def_key "[" 169# scroll_up_album 170# 171#def_key "]" 172# scroll_down_album 173# 174#def_key "{" 175# scroll_up_artist 176# 177#def_key "}" 178# scroll_down_artist 179# 180#def_key "page_up" 181# page_up 182# 183#def_key "page_down" 184# page_down 185# 186#def_key "home" 187# move_home 188# 189#def_key "end" 190# move_end 191# 192#def_key "insert" 193# select_item 194# 195#def_key "enter" 196# enter_directory 197# 198#def_key "enter" 199# toggle_output 200# 201#def_key "enter" 202# run_action 203# 204#def_key "enter" 205# play_item 206# 207#def_key "space" 208# add_item_to_playlist 209# 210#def_key "space" 211# toggle_lyrics_update_on_song_change 212# 213#def_key "space" 214# toggle_visualization_type 215# 216#def_key "delete" 217# delete_playlist_items 218# 219#def_key "delete" 220# delete_browser_items 221# 222#def_key "delete" 223# delete_stored_playlist 224# 225def_key "right" 226 next_column 227# 228def_key "right" 229 slave_screen 230# 231#def_key "right" 232# volume_up 233# 234#def_key "+" 235# volume_up 236# 237def_key "left" 238 previous_column 239# 240def_key "left" 241 master_screen 242# 243#def_key "left" 244# volume_down 245# 246#def_key "-" 247# volume_down 248# 249#def_key ":" 250# execute_command 251# 252#def_key "tab" 253# next_screen 254# 255#def_key "shift-tab" 256# previous_screen 257# 258#def_key "f1" 259# show_help 260# 261#def_key "1" 262# show_playlist 263# 264#def_key "2" 265# show_browser 266# 267#def_key "2" 268# change_browse_mode 269# 270#def_key "3" 271# show_search_engine 272# 273#def_key "3" 274# reset_search_engine 275# 276#def_key "4" 277# show_media_library 278# 279#def_key "4" 280# toggle_media_library_columns_mode 281# 282#def_key "5" 283# show_playlist_editor 284# 285#def_key "6" 286# show_tag_editor 287# 288#def_key "7" 289# show_outputs 290# 291#def_key "8" 292# show_visualizer 293# 294#def_key "=" 295# show_clock 296# 297#def_key "@" 298# show_server_info 299# 300#def_key "s" 301# stop 302# 303#def_key "p" 304# pause 305# 306#def_key ">" 307# next 308# 309#def_key "<" 310# previous 311# 312#def_key "ctrl-h" 313# jump_to_parent_directory 314# 315#def_key "ctrl-h" 316# replay_song 317# 318#def_key "backspace" 319# jump_to_parent_directory 320# 321#def_key "backspace" 322# replay_song 323# 324#def_key "f" 325# seek_forward 326# 327#def_key "b" 328# seek_backward 329# 330#def_key "r" 331# toggle_repeat 332# 333#def_key "z" 334# toggle_random 335# 336#def_key "y" 337# save_tag_changes 338# 339#def_key "y" 340# start_searching 341# 342#def_key "y" 343# toggle_single 344# 345#def_key "R" 346# toggle_consume 347# 348#def_key "Y" 349# toggle_replay_gain_mode 350# 351#def_key "T" 352# toggle_add_mode 353# 354#def_key "|" 355# toggle_mouse 356# 357#def_key "#" 358# toggle_bitrate_visibility 359# 360#def_key "Z" 361# shuffle 362# 363#def_key "x" 364# toggle_crossfade 365# 366#def_key "X" 367# set_crossfade 368# 369#def_key "u" 370# update_database 371# 372#def_key "ctrl-s" 373# sort_playlist 374# 375#def_key "ctrl-s" 376# toggle_browser_sort_mode 377# 378#def_key "ctrl-s" 379# toggle_media_library_sort_mode 380# 381#def_key "ctrl-r" 382# reverse_playlist 383# 384#def_key "ctrl-_" 385# select_found_items 386# 387#def_key "/" 388# find 389# 390#def_key "/" 391# find_item_forward 392# 393#def_key "?" 394# find 395# 396#def_key "?" 397# find_item_backward 398# 399#def_key "." 400# next_found_item 401# 402#def_key "," 403# previous_found_item 404# 405#def_key "w" 406# toggle_find_mode 407# 408#def_key "e" 409# edit_song 410# 411#def_key "e" 412# edit_library_tag 413# 414#def_key "e" 415# edit_library_album 416# 417#def_key "e" 418# edit_directory_name 419# 420#def_key "e" 421# edit_playlist_name 422# 423#def_key "e" 424# edit_lyrics 425# 426#def_key "i" 427# show_song_info 428# 429#def_key "I" 430# show_artist_info 431# 432#def_key "g" 433# jump_to_position_in_song 434# 435#def_key "l" 436# show_lyrics 437# 438#def_key "ctrl-v" 439# select_range 440# 441#def_key "v" 442# reverse_selection 443# 444#def_key "V" 445# remove_selection 446# 447#def_key "B" 448# select_album 449# 450#def_key "a" 451# add_selected_items 452# 453#def_key "c" 454# clear_playlist 455# 456#def_key "c" 457# clear_main_playlist 458# 459#def_key "C" 460# crop_playlist 461# 462#def_key "C" 463# crop_main_playlist 464# 465#def_key "m" 466# move_sort_order_up 467# 468#def_key "m" 469# move_selected_items_up 470# 471#def_key "m" 472# set_visualizer_sample_multiplier 473# 474#def_key "n" 475# move_sort_order_down 476# 477#def_key "n" 478# move_selected_items_down 479# 480#def_key "M" 481# move_selected_items_to 482# 483#def_key "A" 484# add 485# 486#def_key "S" 487# save_playlist 488# 489#def_key "o" 490# jump_to_playing_song 491# 492#def_key "G" 493# jump_to_browser 494# 495#def_key "G" 496# jump_to_playlist_editor 497# 498#def_key "~" 499# jump_to_media_library 500# 501#def_key "E" 502# jump_to_tag_editor 503# 504#def_key "U" 505# toggle_playing_song_centering 506# 507#def_key "P" 508# toggle_display_mode 509# 510#def_key "\\" 511# toggle_interface 512# 513#def_key "!" 514# toggle_separators_between_albums 515# 516#def_key "L" 517# toggle_lyrics_fetcher 518# 519#def_key "F" 520# toggle_fetching_lyrics_in_background 521# 522#def_key "ctrl-l" 523# toggle_screen_lock 524# 525#def_key "`" 526# toggle_library_tag_type 527# 528#def_key "`" 529# refetch_lyrics 530# 531#def_key "`" 532# add_random_items 533# 534#def_key "ctrl-p" 535# set_selected_items_priority 536# 537#def_key "q" 538# quit 539#