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