1
0
mirror of https://gittea.dev/nova/th.git synced 2025-10-21 10:20:15 -04:00
Files
th/defines.h
2025-10-13 23:09:57 +02:00

101 lines
2.5 KiB
C

#include <sys/types.h>
#define STATUS_QUIT_PROGRAM 1
#define STATUS_RUN_BACKEND 2
#define STATUS_RELOAD_DIRECTORY 4
#define STATUS_UPDATE_SCREEN_MASK 24 /* 11000 */
#define STATUS_UPDATE_SCREEN_0 8
#define STATUS_UPDATE_SCREEN_RESIZE 16
#define STATUS_UPDATE_SCREEN_RELOAD_FULL 32
#define STATUS_USER_ROOT 64
#define STATUS_INPUT_MATCH 128
#define STATUS_DELTA_TIME 256
#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 FILE_STATUS_FILE_OPEN 64 /* only used for file previews */
#define COLOR_UNKNOWN 0
#define COLOR_DIR 1
#define COLOR_SYMLINK 2
#define COLOR_EXEC 3 /* not really a filetype, moreso if it is executable */
#define COLOR_REGULAR 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 0
#define FILE_TYPE_EXEC 1
#define FILE_TYPE_REGULAR 2
#define FILE_TYPE_BLOCK 3
#define FILE_TYPE_CHARDEV 4
#define FILE_TYPE_SOCK 5
#define FILE_TYPE_FIFO 6
#define FILE_TYPE_ORPHAN 7
#define FILE_TYPE_DIR 32
#define FILE_TYPE_SYMLINK 64
#define FILE_TYPE_OPEN_FILE 128 /* this is only used in rgt_content to print a file preview, not the dir */
#define YANK_IS_USED 1
#define YANK_CUT 2
#define YANK_COPY 4
#ifndef STRUCT_GUARD
#define STRUCT_GUARD
/* complex types are good actually */
typedef struct File {
char status;
unsigned char file_type;
unsigned short color_pair;
unsigned short permissions;
unsigned long file_size; /*if its a file, its in bytes, if its a dir, its the count of files within that dir */
char *file_name;
} file;
typedef struct Color {
char *file_extension;
short color_pair;
} color;
typedef struct Mimetype {
char *mimetype;
char *command;
} mimetype;
typedef struct Extension {
char *file_extension;
char *command;
} extension;
typedef struct Binding {
char* key;
void (*func)();
void* black_magic;
char* comment;
} binding;
typedef struct Yank {
char status;
char *path;
char **list;
unsigned long count;
} yank;
typedef struct Linked_dir {
char *path;
unsigned long selected_file_current;
struct Linked_dir *next;
} linked_dir;
#endif