чување ddea1d96402bef04d974eca1ab5c5bf737c465f8
родитељ 9a153076509f87fab625c53e084d2a7e6a96d1f8
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Mon, 5 Jul 2021 15:30:52 +0200
Added different display of first msgid
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
| M | config.def.h | | | 84 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
| M | config.h | | | 84 | +++++++++++++++++++++++++++++++++++++++++-------------------------------------- |
| M | draw.c | | | 18 | +++++++++++++++--- |
измењених датотека: 3, додавања: 103(+), брисања: 83(-)
diff --git a/config.def.h b/config.def.h
@@ -1,44 +1,48 @@
/* See the file LICENSE for copyright and license details. */
-#define DLG_FG TB_BLACK
-#define DLG_BG TB_WHITE
-#define EDIT_MSGID_FG TB_BLACK | TB_BOLD
-#define EDIT_MSGID_BG TB_WHITE
-#define EDIT_MSGID_FOCUS_FG TB_BLACK
-#define EDIT_MSGID_FOCUS_BG TB_WHITE
-#define EDIT_MSGID_HEADING_FG TB_WHITE | TB_BOLD
-#define EDIT_MSGID_HEADING_BG TB_WHITE
-#define EDIT_MSGSTR_FG TB_BLACK | TB_BOLD
-#define EDIT_MSGSTR_BG TB_BLACK
-#define EDIT_MSGSTR_FOCUS_FG TB_YELLOW | TB_BOLD
-#define EDIT_MSGSTR_FOCUS_BG TB_BLACK
-#define ERROR_FG TB_WHITE | TB_BOLD
-#define ERROR_BG TB_RED
-#define FLAG_FG TB_YELLOW | TB_BOLD
-#define FLAG_BG TB_DEFAULT
-#define LIST_FLAGS_FG TB_YELLOW | TB_BOLD
-#define LIST_FLAGS_BG TB_DEFAULT
-#define LIST_FLAGS_SEL_FG TB_WHITE | TB_BOLD
-#define LIST_FLAGS_SEL_BG TB_BLUE
-#define LIST_MSGID_FG TB_WHITE
-#define LIST_MSGID_BG TB_DEFAULT
-#define LIST_MSGID_SEL_FG TB_WHITE
-#define LIST_MSGID_SEL_BG TB_BLUE
-#define LIST_MSGSTR_FG TB_GREEN
-#define LIST_MSGSTR_BG TB_DEFAULT
-#define LIST_MSGSTR_SEL_FG TB_WHITE | TB_BOLD
-#define LIST_MSGSTR_SEL_BG TB_BLUE
-#define LIST_SEL_FG TB_WHITE
-#define LIST_SEL_BG TB_BLUE
-#define MSGID_FG TB_GREEN
-#define MSGID_BG TB_DEFAULT
-#define MSGSTR_FG TB_WHITE
-#define MSGSTR_BG TB_DEFAULT
-#define PROMPT_FG TB_YELLOW | TB_BOLD
-#define PROMPT_BG TB_MAGENTA
-#define SHADOW_FG TB_BLACK
-#define SHADOW_BG TB_BLACK | TB_BOLD
-#define TITLE_FG TB_BLACK
-#define TITLE_BG TB_WHITE
+#define DLG_FG TB_BLACK
+#define DLG_BG TB_WHITE
+#define EDIT_MSGID_FG TB_BLACK | TB_BOLD
+#define EDIT_MSGID_BG TB_WHITE
+#define EDIT_MSGID_FOCUS_FG TB_BLACK
+#define EDIT_MSGID_FOCUS_BG TB_WHITE
+#define EDIT_MSGID_HEADING_FG TB_WHITE | TB_BOLD
+#define EDIT_MSGID_HEADING_BG TB_WHITE
+#define EDIT_MSGSTR_FG TB_BLACK | TB_BOLD
+#define EDIT_MSGSTR_BG TB_BLACK
+#define EDIT_MSGSTR_FOCUS_FG TB_YELLOW | TB_BOLD
+#define EDIT_MSGSTR_FOCUS_BG TB_BLACK
+#define ERROR_FG TB_WHITE | TB_BOLD
+#define ERROR_BG TB_RED
+#define FLAG_FG TB_YELLOW | TB_BOLD
+#define FLAG_BG TB_DEFAULT
+#define LIST_FLAGS_FG TB_YELLOW | TB_BOLD
+#define LIST_FLAGS_BG TB_DEFAULT
+#define LIST_FLAGS_SEL_FG TB_WHITE | TB_BOLD
+#define LIST_FLAGS_SEL_BG TB_BLUE
+#define LIST_MSGID_FG TB_WHITE
+#define LIST_MSGID_BG TB_DEFAULT
+#define LIST_MSGID_SEL_FG TB_WHITE
+#define LIST_MSGID_SEL_BG TB_BLUE
+#define LIST_MSGID_SPECIAL_FG TB_YELLOW | TB_BOLD
+#define LIST_MSGID_SPECIAL_BG TB_DEFAULT
+#define LIST_MSGID_SPECIAL_SEL_FG TB_WHITE | TB_BOLD
+#define LIST_MSGID_SPECIAL_SEL_BG TB_BLUE
+#define LIST_MSGSTR_FG TB_GREEN
+#define LIST_MSGSTR_BG TB_DEFAULT
+#define LIST_MSGSTR_SEL_FG TB_WHITE | TB_BOLD
+#define LIST_MSGSTR_SEL_BG TB_BLUE
+#define LIST_SEL_FG TB_WHITE
+#define LIST_SEL_BG TB_BLUE
+#define MSGID_FG TB_GREEN
+#define MSGID_BG TB_DEFAULT
+#define MSGSTR_FG TB_WHITE
+#define MSGSTR_BG TB_DEFAULT
+#define PROMPT_FG TB_YELLOW | TB_BOLD
+#define PROMPT_BG TB_MAGENTA
+#define SHADOW_FG TB_BLACK
+#define SHADOW_BG TB_BLACK | TB_BOLD
+#define TITLE_FG TB_BLACK
+#define TITLE_BG TB_WHITE
void format_filename(char* result, size_t result_size, const char* format,
const struct DrawState* state);
diff --git a/config.h b/config.h
@@ -1,44 +1,48 @@
/* See the file LICENSE for copyright and license details. */
-#define DLG_FG TB_BLACK
-#define DLG_BG TB_WHITE
-#define EDIT_MSGID_FG TB_BLACK | TB_BOLD
-#define EDIT_MSGID_BG TB_WHITE
-#define EDIT_MSGID_FOCUS_FG TB_BLACK
-#define EDIT_MSGID_FOCUS_BG TB_WHITE
-#define EDIT_MSGID_HEADING_FG TB_WHITE | TB_BOLD
-#define EDIT_MSGID_HEADING_BG TB_WHITE
-#define EDIT_MSGSTR_FG TB_BLACK | TB_BOLD
-#define EDIT_MSGSTR_BG TB_BLACK
-#define EDIT_MSGSTR_FOCUS_FG TB_YELLOW | TB_BOLD
-#define EDIT_MSGSTR_FOCUS_BG TB_BLACK
-#define ERROR_FG TB_WHITE | TB_BOLD
-#define ERROR_BG TB_RED
-#define FLAG_FG TB_YELLOW | TB_BOLD
-#define FLAG_BG TB_DEFAULT
-#define LIST_FLAGS_FG TB_YELLOW | TB_BOLD
-#define LIST_FLAGS_BG TB_DEFAULT
-#define LIST_FLAGS_SEL_FG TB_WHITE | TB_BOLD
-#define LIST_FLAGS_SEL_BG TB_BLUE
-#define LIST_MSGID_FG TB_WHITE
-#define LIST_MSGID_BG TB_DEFAULT
-#define LIST_MSGID_SEL_FG TB_WHITE
-#define LIST_MSGID_SEL_BG TB_BLUE
-#define LIST_MSGSTR_FG TB_GREEN
-#define LIST_MSGSTR_BG TB_DEFAULT
-#define LIST_MSGSTR_SEL_FG TB_WHITE | TB_BOLD
-#define LIST_MSGSTR_SEL_BG TB_BLUE
-#define LIST_SEL_FG TB_WHITE
-#define LIST_SEL_BG TB_BLUE
-#define MSGID_FG TB_GREEN
-#define MSGID_BG TB_DEFAULT
-#define MSGSTR_FG TB_WHITE
-#define MSGSTR_BG TB_DEFAULT
-#define PROMPT_FG TB_YELLOW | TB_BOLD
-#define PROMPT_BG TB_MAGENTA
-#define SHADOW_FG TB_BLACK
-#define SHADOW_BG TB_BLACK | TB_BOLD
-#define TITLE_FG TB_BLACK
-#define TITLE_BG TB_WHITE
+#define DLG_FG TB_BLACK
+#define DLG_BG TB_WHITE
+#define EDIT_MSGID_FG TB_BLACK | TB_BOLD
+#define EDIT_MSGID_BG TB_WHITE
+#define EDIT_MSGID_FOCUS_FG TB_BLACK
+#define EDIT_MSGID_FOCUS_BG TB_WHITE
+#define EDIT_MSGID_HEADING_FG TB_WHITE | TB_BOLD
+#define EDIT_MSGID_HEADING_BG TB_WHITE
+#define EDIT_MSGSTR_FG TB_BLACK | TB_BOLD
+#define EDIT_MSGSTR_BG TB_BLACK
+#define EDIT_MSGSTR_FOCUS_FG TB_YELLOW | TB_BOLD
+#define EDIT_MSGSTR_FOCUS_BG TB_BLACK
+#define ERROR_FG TB_WHITE | TB_BOLD
+#define ERROR_BG TB_RED
+#define FLAG_FG TB_YELLOW | TB_BOLD
+#define FLAG_BG TB_DEFAULT
+#define LIST_FLAGS_FG TB_YELLOW | TB_BOLD
+#define LIST_FLAGS_BG TB_DEFAULT
+#define LIST_FLAGS_SEL_FG TB_WHITE | TB_BOLD
+#define LIST_FLAGS_SEL_BG TB_BLUE
+#define LIST_MSGID_FG TB_WHITE
+#define LIST_MSGID_BG TB_DEFAULT
+#define LIST_MSGID_SEL_FG TB_WHITE
+#define LIST_MSGID_SEL_BG TB_BLUE
+#define LIST_MSGID_SPECIAL_FG TB_YELLOW | TB_BOLD
+#define LIST_MSGID_SPECIAL_BG TB_DEFAULT
+#define LIST_MSGID_SPECIAL_SEL_FG TB_WHITE | TB_BOLD
+#define LIST_MSGID_SPECIAL_SEL_BG TB_BLUE
+#define LIST_MSGSTR_FG TB_GREEN
+#define LIST_MSGSTR_BG TB_DEFAULT
+#define LIST_MSGSTR_SEL_FG TB_WHITE | TB_BOLD
+#define LIST_MSGSTR_SEL_BG TB_BLUE
+#define LIST_SEL_FG TB_WHITE
+#define LIST_SEL_BG TB_BLUE
+#define MSGID_FG TB_GREEN
+#define MSGID_BG TB_DEFAULT
+#define MSGSTR_FG TB_WHITE
+#define MSGSTR_BG TB_DEFAULT
+#define PROMPT_FG TB_YELLOW | TB_BOLD
+#define PROMPT_BG TB_MAGENTA
+#define SHADOW_FG TB_BLACK
+#define SHADOW_BG TB_BLACK | TB_BOLD
+#define TITLE_FG TB_BLACK
+#define TITLE_BG TB_WHITE
void format_filename(char* result, size_t result_size, const char* format,
const struct DrawState* state);
diff --git a/draw.c b/draw.c
@@ -41,9 +41,10 @@ const char* flag_strings[] = {
[FL_C_FORMAT] = "c-format",
[FL_FUZZY] = "fuzzy"
};
-const char* empty_file_text = "*** Empty file ***";
-const char* program_name = "poe";
-const char* prompt_dirty = "File changed, save [y/n/ESC]?";
+const char* empty_file_text = "*** Empty file ***";
+const char* first_entry_msgid = "*** SPECIAL: file info ***";
+const char* program_name = "poe";
+const char* prompt_dirty = "File changed, save [y/n/ESC]?";
void
init_bufferline(struct BufferLine* bl)
@@ -458,6 +459,17 @@ draw_list_visible(const struct DrawState* state)
state->maxx/2-MAXFLAGSBUF+1-2,
state->maxx/2-MAXFLAGSBUF+1-2, 2, 0,
LEFT);
+ else if (current == state->entries) /* special */
+ draw_string(MAXFLAGSBUF-1+2, cy, sel ?
+ LIST_MSGID_SPECIAL_SEL_FG :
+ LIST_MSGID_SPECIAL_FG, sel ?
+ LIST_MSGID_SPECIAL_SEL_BG :
+ LIST_MSGID_SPECIAL_BG,
+ first_entry_msgid,
+ state->maxx/2-MAXFLAGSBUF+1-2,
+ state->maxx/2-MAXFLAGSBUF+1-2, 2, 0,
+ LEFT);
+
/* don't use msgstr_index as then the entire list will shift
* when changing currently displayed plural form msgstr in an
* edit box */