foot/config.h

66 lines
1.2 KiB
C
Raw Normal View History

#pragma once
#include <stdint.h>
#include <stdbool.h>
#include <tllist.h>
#include "terminal.h"
struct config {
2019-07-18 14:29:40 +02:00
char *term;
2019-07-17 09:29:56 +02:00
char *shell;
2020-02-20 18:35:10 +01:00
bool login_shell;
unsigned width;
unsigned height;
2020-02-15 19:00:56 +01:00
unsigned pad_x;
unsigned pad_y;
tll(char *) fonts;
int scrollback_lines;
struct {
uint32_t fg;
uint32_t bg;
uint32_t regular[8];
uint32_t bright[8];
uint16_t alpha;
} colors;
struct {
enum cursor_style style;
struct {
uint32_t text;
uint32_t cursor;
} color;
} cursor;
2019-07-29 20:13:26 +02:00
struct {
enum { CONF_CSD_PREFER_SERVER, CONF_CSD_PREFER_CLIENT } preferred;
int title_height;
int border_width;
int button_width;
struct {
bool title_set;
bool minimize_set;
bool maximize_set;
bool close_set;
uint32_t title;
uint32_t minimize;
uint32_t maximize;
uint32_t close;
} color;
} csd;
2019-07-29 20:13:26 +02:00
size_t render_worker_count;
char *server_socket_path;
bool presentation_timings;
bool hold_at_exit;
};
bool config_load(struct config *conf, const char *path);
void config_free(struct config conf);