th/defines.h
2025-05-10 23:33:27 +02:00

65 lines
1.7 KiB
C

#define STATUS_QUIT_PROGRAM 1
#define STATUS_RUN_BACKEND 2
#define STATUS_UPDATE_SCREEN_MASK 12 /* 1100*/
#define STATUS_UPDATE_SCREEN_0 4
#define STATUS_UPDATE_SCREEN_RESIZE 8
#define STATUS_USER_ROOT 16
#define SETTINGS_HAS_COLOR 1
#define FILE_MODIFIERS_HIDDEN_FILES 1
#define FILE_MODIFIERS_SORT_BITMASK 126 /* 00000000000000000000000001111110*/
#define FILE_MODIFIERS_SORT_ALPHABETIC 2
#define FILE_MODIFIERS_SORT_TYPE 4
#define FILE_MODIFIERS_SORT_EXTENSION 8
#define FILE_MODIFIERS_SORT_SIZE 16
#define FILE_MODIFIERS_SORT_RANDOM 32
#define FILE_MODIFIERS_SORT_REVERSE 64
/*FILE_MODIFIERS_SORT_NATURAL is when bitmask is 0*/
#define FILE_STATUS_HOVER 1
#define FILE_STATUS_SELECTED 2;
#define FILE_STATUS_IS_REGULAR_FILE 4
#define COLOR_UNKNOWN 0
#define COLOR_DIR 1
#define COLOR_EXEC 2 /* not really a filetype, moreso if it is executable */
#define COLOR_REGULAR 3
#define COLOR_SYMLINK 4
#define COLOR_BLOCK 5
#define COLOR_CHARDEV 6
#define COLOR_SOCK 7
#define COLOR_FIFO 8
#define COLOR_ORPHAN 9
#define COLOR_PATH 10
#define FILE_TYPE_UNKNOWN COLOR_UNKNOWN
#define FILE_TYPE_DIR COLOR_DIR
#define FILE_TYPE_EXEC COLOR_EXEC
#define FILE_TYPE_REGULAR COLOR_REGULAR
#define FILE_TYPE_SYMLINK COLOR_SYMLINK
#define FILE_TYPE_BLOCK COLOR_BLOCK
#define FILE_TYPE_CHARDEV COLOR_CHARDEV
#define FILE_TYPE_SOCK COLOR_SOCK
#define FILE_TYPE_FIFO COLOR_FIFO
#define FILE_TYPE_ORPHAN COLOR_ORPHAN
#ifndef GUARD
#define GUARD
/* complex types are good actually */
typedef struct File {
char status;
char *file_name;
unsigned char file_type;
unsigned short color_pair;
unsigned long file_name_width;
unsigned long file_size_bytes;
} file;
typedef struct Color {
char *file_extension;
short color_pair;
} color;
#endif