commit - 7ecf03450e8c1307a15b44f0933c9a4bc2e97c03
commit + cb23b74df4e63581a7c53bf2bfb6d90dcf85bc5c
blob - e7bbd912338887333c3535ecbad88562cb97cd37
blob + 1d10ed0ab2ca65a7d97615dc95f5302f2a4aacd7
--- config.h
+++ config.h
#define RVC_STATUS CYAN
#define RVC_BORDER BLUE
#define RVC_SCROLLBAR CYAN
+#define RVC_LINK CYAN
#define RVC_FILE DEFAULT
#define RVC_DIR DEFAULT
#define RVC_HIDDEN YELLOW
blob - 376bbb56211c83e64fd005014ce830f1af016e0c
blob + 4e79093b48d7a04da1ae16a64f6c06d702ea4601
--- rover.c
+++ rover.c
char *name;
off_t size;
mode_t mode;
+ int islink;
int marked;
} Row;
#define ENAME(I) rover.rows[I].name
#define ESIZE(I) rover.rows[I].size
#define EMODE(I) rover.rows[I].mode
+#define ISLINK(I) rover.rows[I].islink
#define MARKED(I) rover.rows[I].marked
#define SCROLL rover.scroll[rover.tab]
#define ESEL rover.esel[rover.tab]
isdir = S_ISDIR(EMODE(j));
if (j == ESEL)
wattr_on(rover.window, A_REVERSE, NULL);
- if (ishidden)
+ if (ISLINK(j))
+ wcolor_set(rover.window, RVC_LINK, NULL);
+ else if (ishidden)
wcolor_set(rover.window, RVC_HIDDEN, NULL);
else if (isdir)
wcolor_set(rover.window, RVC_DIR, NULL);
continue;
if (!(flags & SHOW_HIDDEN) && ep->d_name[0] == '.')
continue;
+ lstat(ep->d_name, &statbuf);
+ rows[i].islink = S_ISLNK(statbuf.st_mode);
stat(ep->d_name, &statbuf);
if (S_ISDIR(statbuf.st_mode)) {
if (flags & SHOW_DIRS) {