Use default terminal color instead of customised color
This commit is contained in:
parent
f6fe9a2982
commit
b077467604
4 changed files with 22 additions and 33 deletions
37
ccc.c
37
ccc.c
|
@ -610,7 +610,7 @@ void add_file_stat(char *filename, char *path, int ftype)
|
||||||
if (stat(path, &file_stat) == -1) {
|
if (stat(path, &file_stat) == -1) {
|
||||||
/* can't be triggered? */
|
/* can't be triggered? */
|
||||||
if (errno == EACCES)
|
if (errno == EACCES)
|
||||||
arraylist_add(files, filename, path, NULL, REG, NULL, WHITE, false, false);
|
arraylist_add(files, filename, path, NULL, REG, NULL, 37, false, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
int type;
|
int type;
|
||||||
|
@ -631,39 +631,37 @@ void add_file_stat(char *filename, char *path, int ftype)
|
||||||
else
|
else
|
||||||
memcpy(icon_str, ext_icon->icon, 5);
|
memcpy(icon_str, ext_icon->icon, 5);
|
||||||
|
|
||||||
char color[12];
|
int color = 37;
|
||||||
|
|
||||||
if (S_ISDIR(file_stat.st_mode)) {
|
if (S_ISDIR(file_stat.st_mode)) {
|
||||||
type = DRY; /* dir */
|
type = DRY; /* dir */
|
||||||
strncpy(color, BLUE, 12);
|
color = 34;
|
||||||
memcpy(icon_str, "", 5);
|
memcpy(icon_str, "", 5);
|
||||||
} else if (S_ISREG(file_stat.st_mode)) {
|
} else if (S_ISREG(file_stat.st_mode)) {
|
||||||
type = REG; /* regular file */
|
type = REG; /* regular file */
|
||||||
strncpy(color, WHITE, 12);
|
color = 37;
|
||||||
} else if (S_ISLNK(file_stat.st_mode)) {
|
} else if (S_ISLNK(file_stat.st_mode)) {
|
||||||
type = LNK; /* symbolic link */
|
type = LNK; /* symbolic link */
|
||||||
strncpy(color, GREEN, 12);
|
color = 32;
|
||||||
} else if (S_ISCHR(file_stat.st_mode)) {
|
} else if (S_ISCHR(file_stat.st_mode)) {
|
||||||
type = CHR; /* character device */
|
type = CHR; /* character device */
|
||||||
strncpy(color, YELLOW, 12);
|
color = 33;
|
||||||
} else if (S_ISSOCK(file_stat.st_mode)) {
|
} else if (S_ISSOCK(file_stat.st_mode)) {
|
||||||
type = SOC; /* socket */
|
type = SOC; /* socket */
|
||||||
strncpy(color, PINK, 12);
|
color = 35;
|
||||||
} else if (S_ISBLK(file_stat.st_mode)) {
|
} else if (S_ISBLK(file_stat.st_mode)) {
|
||||||
type = BLK; /* block device */
|
type = BLK; /* block device */
|
||||||
strncpy(color, YELLOW, 12);
|
color = 33;
|
||||||
} else if (S_ISFIFO(file_stat.st_mode)) {
|
} else if (S_ISFIFO(file_stat.st_mode)) {
|
||||||
type = FIF; /* FIFO */
|
type = FIF; /* FIFO */
|
||||||
strncpy(color, PINK, 12);
|
color = 35;
|
||||||
} else {
|
|
||||||
strncpy(color, WHITE, 12);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If file is to be marked */
|
/* If file is to be marked */
|
||||||
if (ftype == 1 || ftype == 2) {
|
if (ftype == 1 || ftype == 2) {
|
||||||
/* Force if user is marking all files */
|
/* Force if user is marking all files */
|
||||||
bool force = ftype == 2 ? true : false;
|
bool force = ftype == 2 ? true : false;
|
||||||
arraylist_add(marked, filename, path, NULL, type, icon_str, WHITE, true, force);
|
arraylist_add(marked, filename, path, NULL, type, icon_str, 37, true, force);
|
||||||
/* free type and return without allocating more stuff */
|
/* free type and return without allocating more stuff */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -704,7 +702,7 @@ void add_file_stat(char *filename, char *path, int ftype)
|
||||||
/* get file mode string */
|
/* get file mode string */
|
||||||
char *mode_str = get_file_mode(file_stat.st_mode);
|
char *mode_str = get_file_mode(file_stat.st_mode);
|
||||||
if (mode_str[0] == '-' && (mode_str[3] == 'x' || mode_str[6] == 'x' || mode_str[9] == 'x')) {
|
if (mode_str[0] == '-' && (mode_str[3] == 'x' || mode_str[6] == 'x' || mode_str[9] == 'x')) {
|
||||||
strncpy(color, GREEN, 12);
|
color = 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* mode_str(11) + time(17) + size_size + 2 spaces + 1 null */
|
/* mode_str(11) + time(17) + size_size + 2 spaces + 1 null */
|
||||||
|
@ -713,7 +711,7 @@ void add_file_stat(char *filename, char *path, int ftype)
|
||||||
snprintf(total_stat, stat_size, "%s %s %-*s", mode_str, time, size_size, size);
|
snprintf(total_stat, stat_size, "%s %s %-*s", mode_str, time, size_size, size);
|
||||||
|
|
||||||
/* DIR if color is blue */
|
/* DIR if color is blue */
|
||||||
if (strncmp(color, BLUE, 12) == 0)
|
if (color == 34)
|
||||||
arraylist_add(tmp1, filename, path, total_stat, type, icon_str, color, false, false);
|
arraylist_add(tmp1, filename, path, total_stat, type, icon_str, color, false, false);
|
||||||
else
|
else
|
||||||
arraylist_add(tmp2, filename, path, total_stat, type, icon_str, color, false, false);
|
arraylist_add(tmp2, filename, path, total_stat, type, icon_str, color, false, false);
|
||||||
|
@ -794,12 +792,13 @@ void list_files(void)
|
||||||
}
|
}
|
||||||
/* print the actual filename and stats */
|
/* print the actual filename and stats */
|
||||||
char *line = get_line(files, i, file_details, show_icons);
|
char *line = get_line(files, i, file_details, show_icons);
|
||||||
char *color = files->items[i].color;
|
int color = files->items[i].color;
|
||||||
/* check is file marked for action */
|
/* check is file marked for action */
|
||||||
bool is_marked = arraylist_search(marked, files->items[i].path, false) != -1;
|
bool is_marked = arraylist_search(marked, files->items[i].path, false) != -1;
|
||||||
move_cursor(i + 1, 1);
|
move_cursor(i + 1, 1);
|
||||||
bprintf("\033[38;2;0;0;0m\033[%s;2;%sm%s\033[0m\n",
|
if (is_marked) color = 32;
|
||||||
is_selected ? "48" : "38", is_marked ? GREEN : color, line);
|
bprintf("\033[30m\033[%dm%s\033[0m\n",
|
||||||
|
is_selected ? color + 10 : color, line);
|
||||||
|
|
||||||
free(line);
|
free(line);
|
||||||
}
|
}
|
||||||
|
@ -864,9 +863,9 @@ void show_file_content(void)
|
||||||
populate_files(current_file.name, 0, &files_visit);
|
populate_files(current_file.name, 0, &files_visit);
|
||||||
for (long i = 0; i < files_visit->length; i++) {
|
for (long i = 0; i < files_visit->length; i++) {
|
||||||
char *line = get_line(files_visit, i, false, show_icons);
|
char *line = get_line(files_visit, i, false, show_icons);
|
||||||
char *color = files_visit->items[i].color;
|
int color = files_visit->items[i].color;
|
||||||
move_cursor(i + 1, half_width);
|
move_cursor(i + 1, half_width);
|
||||||
bprintf("\033[K\033[38;2;%sm%s\033[0m\n", color, line);
|
bprintf("\033[K\033[%dm%s\033[m\n", color, line);
|
||||||
}
|
}
|
||||||
arraylist_free(files_visit);
|
arraylist_free(files_visit);
|
||||||
return;
|
return;
|
||||||
|
|
9
config.h
9
config.h
|
@ -47,15 +47,6 @@ In COLS:
|
||||||
#define SPACE 0x20
|
#define SPACE 0x20
|
||||||
#define TILDE 0x7E
|
#define TILDE 0x7E
|
||||||
|
|
||||||
/* Colros */
|
|
||||||
#define GREEN "166;227;161"
|
|
||||||
#define BLUE "137;180;250"
|
|
||||||
#define PINK "245;194;231"
|
|
||||||
#define RED "243;139;168"
|
|
||||||
#define YELLOW "249;226;175"
|
|
||||||
#define LAVENDER "180;190;254"
|
|
||||||
#define WHITE "205;214;244"
|
|
||||||
|
|
||||||
enum keys {
|
enum keys {
|
||||||
BACKSPACE = 127,
|
BACKSPACE = 127,
|
||||||
ARROW_LEFT = 1000,
|
ARROW_LEFT = 1000,
|
||||||
|
|
5
file.c
5
file.c
|
@ -71,10 +71,9 @@ void arraylist_remove(ArrayList *list, long index)
|
||||||
/*
|
/*
|
||||||
* Force will not remove duplicate marked files, instead it just skip adding
|
* Force will not remove duplicate marked files, instead it just skip adding
|
||||||
*/
|
*/
|
||||||
void arraylist_add(ArrayList *list, char *name, char *path, char *stats, int type, char *icon, char color[12], bool marked, bool force)
|
void arraylist_add(ArrayList *list, char *name, char *path, char *stats, int type, char *icon, int color, bool marked, bool force)
|
||||||
{
|
{
|
||||||
file new_file = { name, path, type, stats, icon };
|
file new_file = { name, path, type, stats, icon, color };
|
||||||
memcpy(new_file.color, color, 12);
|
|
||||||
|
|
||||||
if (list->capacity != list->length) {
|
if (list->capacity != list->length) {
|
||||||
if (marked) {
|
if (marked) {
|
||||||
|
|
4
file.h
4
file.h
|
@ -20,7 +20,7 @@ typedef struct file {
|
||||||
int type;
|
int type;
|
||||||
char *stats;
|
char *stats;
|
||||||
char *icon;
|
char *icon;
|
||||||
char color[12];
|
int color;
|
||||||
} file;
|
} file;
|
||||||
|
|
||||||
typedef struct ArrayList {
|
typedef struct ArrayList {
|
||||||
|
@ -33,7 +33,7 @@ ArrayList *arraylist_init(size_t capacity);
|
||||||
void arraylist_free(ArrayList *list);
|
void arraylist_free(ArrayList *list);
|
||||||
long arraylist_search(ArrayList *list, char *filepath, bool bname);
|
long arraylist_search(ArrayList *list, char *filepath, bool bname);
|
||||||
void arraylist_remove(ArrayList *list, long index);
|
void arraylist_remove(ArrayList *list, long index);
|
||||||
void arraylist_add(ArrayList *list, char *name, char *path, char *stats, int type, char *icon, char color[12], bool marked, bool force);
|
void arraylist_add(ArrayList *list, char *name, char *path, char *stats, int type, char *icon, int color, bool marked, bool force);
|
||||||
char *get_line(ArrayList *list, long index, bool detail, bool icons);
|
char *get_line(ArrayList *list, long index, bool detail, bool icons);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue