aboutsummaryrefslogtreecommitdiffstats
path: root/src/fm.c
diff options
context:
space:
mode:
authorverdant <im@verdant.ee>2026-08-03 21:01:05 +0800
committerverdant <im@verdant.ee>2026-08-03 21:01:05 +0800
commit8fa00affda48e06a759915bf12e01a5ffca65e45 (patch)
tree52b2098af1d97b15c76a262388fc1d28bdf24fa6 /src/fm.c
parent55e02a195373325216a47ebddc98039faf59b51c (diff)
downloadsf-8fa00affda48e06a759915bf12e01a5ffca65e45.tar.gz
sf-8fa00affda48e06a759915bf12e01a5ffca65e45.zip
Add width character and icon support
Diffstat (limited to 'src/fm.c')
-rw-r--r--src/fm.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/fm.c b/src/fm.c
index 865822c..ea6a816 100644
--- a/src/fm.c
+++ b/src/fm.c
@@ -2,6 +2,7 @@
#include "fm.h"
#include "display.h"
#include "err.h"
+#include "icon.h"
#include "log.h"
#include "process.h"
#include "utils.h"
@@ -323,18 +324,23 @@ fm_draw_entries(window *window, file_list *list, size_t cursor, int top,
for (int i = top; i < bottom && (size_t)i < list->count; i++) {
int y = i - top;
-
int color = 0;
- if ((size_t)i == cursor)
+
+ const char *icon =
+ get_file_icon(list->items[i].name, list->items[i].is_dir);
+
+ if ((size_t)i == cursor) {
color = COLOR_PAIR_FM_HL;
- else if (list->items[i].is_dir)
+ } else if (list->items[i].is_dir) {
color = COLOR_PAIR_FM_DIR;
+ }
if (color != 0) {
wattron(window->win, COLOR_PAIR(color));
}
- mvwprintw(window->win, y, 0, "%s", list->items[i].name);
+ mvwprintw(window->win, y, 0, "%s %s", icon,
+ list->items[i].name);
if (color != 0) {
wattroff(window->win, COLOR_PAIR(color));