- Added dark mode mode constants, config storage as an integer, and a helper to resolve Auto/Dark/Light using system preferences where available.

- Replaced the dark mode checkbox with an Auto/Dark/Light color mode selector and ensured palette edits use the resolved mode.
- Applied the resolved color mode consistently across palette saving and GTK styling in the user list and channel tree/theme application paths.
This commit is contained in:
2026-01-17 22:52:32 -07:00
parent cf41615cb3
commit 8d275ddb31
7 changed files with 69 additions and 8 deletions

View File

@@ -437,7 +437,7 @@ const struct prefs vars[] =
{"gui_tab_dialogs", P_OFFINT (hex_gui_tab_dialogs), TYPE_BOOL},
{"gui_tab_dots", P_OFFINT (hex_gui_tab_dots), TYPE_BOOL},
{"gui_tab_icons", P_OFFINT (hex_gui_tab_icons), TYPE_BOOL},
{"gui_dark_mode", P_OFFINT (hex_gui_dark_mode), TYPE_BOOL},
{"gui_dark_mode", P_OFFINT (hex_gui_dark_mode), TYPE_INT},
{"gui_tab_layout", P_OFFINT (hex_gui_tab_layout), TYPE_INT},
{"gui_tab_middleclose", P_OFFINT (hex_gui_tab_middleclose), TYPE_BOOL},
{"gui_tab_newtofront", P_OFFINT (hex_gui_tab_newtofront), TYPE_INT},

View File

@@ -83,6 +83,10 @@ gboolean zoitechat_import_theme (const char *path, GError **error);
#define USERNAMELEN 10
#define HIDDEN_CHAR 8 /* invisible character for xtext */
#define ZOITECHAT_DARK_MODE_AUTO 0
#define ZOITECHAT_DARK_MODE_DARK 1
#define ZOITECHAT_DARK_MODE_LIGHT 2
struct nbexec
{
int myfd;