- Replace header include guards with `#pragma once` and perform minor optimizations. - Replaced traditional include guards with `#pragma once` for simplicity and to reduce boilerplate in all headers. - Improved CLI line number handling with clamping and error messaging. - Enhanced `chdir` error handling for macOS GUI builds. - Removed redundant logic for GUI builds. - Adjusted font constructor and registry to handle `const` data pointers consistently.
33 lines
884 B
C++
33 lines
884 B
C++
/*
|
|
* GUIConfig - loads simple GUI configuration from $HOME/.config/kte/kge.ini
|
|
*/
|
|
#pragma once
|
|
|
|
#include <string>
|
|
|
|
#ifndef KTE_FONT_SIZE
|
|
#define KTE_FONT_SIZE 16.0f
|
|
#endif
|
|
|
|
class GUIConfig {
|
|
public:
|
|
bool fullscreen = false;
|
|
int columns = 80;
|
|
int rows = 42;
|
|
float font_size = (float) KTE_FONT_SIZE;
|
|
std::string font = "default";
|
|
std::string theme = "nord";
|
|
// Background mode for themes that support light/dark variants
|
|
// Values: "dark" (default), "light"
|
|
std::string background = "dark";
|
|
|
|
// Default syntax highlighting state for GUI (kge): on/off
|
|
// Accepts: on/off/true/false/yes/no/1/0 in the ini file.
|
|
bool syntax = true; // default: enabled
|
|
|
|
// Load from default path: $HOME/.config/kte/kge.ini
|
|
static GUIConfig Load();
|
|
|
|
// Load from explicit path. Returns true if file existed and was parsed.
|
|
bool LoadFromFile(const std::string &path);
|
|
}; |