Code

go to root/parent dir key added
[ncmpc.git] / src / command.h
index 9fd6ab37b853751a73fb561114ffdf2b8472851d..745b5283bb4107e78f15d7f712927c8ee2d422b9 100644 (file)
@@ -3,6 +3,7 @@
 
 #define MAX_COMMAND_KEYS 3
 
+/* commands */
 typedef enum
 {
   CMD_NONE = 0,
@@ -23,9 +24,11 @@ typedef enum
   CMD_DB_UPDATE,
   CMD_VOLUME_UP,
   CMD_VOLUME_DOWN,
+  CMD_ADD,
   CMD_SAVE_PLAYLIST,
   CMD_TOGGLE_FIND_WRAP,
   CMD_TOGGLE_AUTOCENTER,
+  CMD_SEARCH_MODE,
   CMD_LIST_PREVIOUS,
   CMD_LIST_NEXT,
   CMD_LIST_FIRST,
@@ -38,21 +41,39 @@ typedef enum
   CMD_LIST_RFIND_NEXT,
   CMD_LIST_MOVE_UP,
   CMD_LIST_MOVE_DOWN,
+  CMD_MOUSE_EVENT,
   CMD_SCREEN_UPDATE,
   CMD_SCREEN_PREVIOUS,
   CMD_SCREEN_NEXT,
   CMD_SCREEN_PLAY,
   CMD_SCREEN_FILE,
+  CMD_SCREEN_ARTIST,
   CMD_SCREEN_SEARCH,
   CMD_SCREEN_KEYDEF,
   CMD_SCREEN_CLOCK,
   CMD_SCREEN_HELP,
+  CMD_SCREEN_LYRICS,
+  CMD_LYRICS_UPDATE,
+  CMD_INTERRUPT,
+  CMD_GO_ROOT_DIRECTORY,
+  CMD_GO_PARENT_DIRECTORY,
   CMD_QUIT
 } command_t;
 
+
+/* command definition flags */
+#define COMMAND_KEY_MODIFIED  0x01
+#define COMMAND_KEY_CONFLICT  0x02
+
+/* write key bindings flags */
+#define KEYDEF_WRITE_HEADER  0x01
+#define KEYDEF_WRITE_ALL     0x02
+#define KEYDEF_COMMENT_ALL   0x04
+
 typedef struct 
 {
   int keys[MAX_COMMAND_KEYS];
+  char flags;
   command_t command;
   char *name;
   char *description;
@@ -62,8 +83,8 @@ command_definition_t *get_command_definitions(void);
 command_t find_key_command(int key, command_definition_t *cmds);
 
 void command_dump_keys(void);
-int  check_key_bindings(void);
-int  write_key_bindings(FILE *f);
+int  check_key_bindings(command_definition_t *cmds, char *buf, size_t size);
+int  write_key_bindings(FILE *f, int all);
 
 char *key2str(int key);
 char *get_key_description(command_t command);
@@ -73,6 +94,7 @@ command_t get_key_command(int key);
 command_t get_key_command_from_name(char *name);
 int assign_keys(command_t command, int keys[MAX_COMMAND_KEYS]);
 
+int my_wgetch(WINDOW *w);
 command_t get_keyboard_command(void);
 command_t get_keyboard_command_with_timeout(int milliseconds);