Code

interruption of lyrics loading + po blabla
[ncmpc.git] / src / command.h
index e96940a1a9ad537e8c78a7d00120ba3d05486f05..fd8c47c9aef787bbe1cf5f548ebf927d3354faac 100644 (file)
@@ -3,6 +3,7 @@
 
 #define MAX_COMMAND_KEYS 3
 
+/* commands */
 typedef enum
 {
   CMD_NONE = 0,
@@ -27,6 +28,7 @@ typedef enum
   CMD_SAVE_PLAYLIST,
   CMD_TOGGLE_FIND_WRAP,
   CMD_TOGGLE_AUTOCENTER,
+  CMD_SEARCH_MODE,
   CMD_LIST_PREVIOUS,
   CMD_LIST_NEXT,
   CMD_LIST_FIRST,
@@ -39,21 +41,36 @@ 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_INTERRUPT,
   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;
@@ -63,8 +80,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);
@@ -74,6 +91,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);