mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-07 04:06:07 -05:00
The user can now configure the following: * Whether to prefer CSDs or SSDs. But note that this is only a hint to the compositor - it may deny our request. Furthermore, not all compositors implement the decoration manager protocol, meaning CSDs will be used regardless of the user configuration (GNOME/mutter being the most prominent one). * Title bar size and color, including transparency * Border size and color, including transparency Also drop support for rendering the CSDs inside the main surface.
60 lines
1.1 KiB
C
60 lines
1.1 KiB
C
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#include <tllist.h>
|
|
|
|
#include "terminal.h"
|
|
|
|
struct config {
|
|
char *term;
|
|
char *shell;
|
|
bool login_shell;
|
|
unsigned width;
|
|
unsigned height;
|
|
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;
|
|
|
|
struct {
|
|
enum { CONF_CSD_PREFER_SERVER, CONF_CSD_PREFER_CLIENT } preferred;
|
|
|
|
int title_height;
|
|
int border_width;
|
|
|
|
struct {
|
|
bool title_set;
|
|
bool border_set;
|
|
uint32_t title;
|
|
uint32_t border;
|
|
} color;
|
|
} csd;
|
|
|
|
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);
|