adji

Adji's a Decisive and Joyful Internet browser
git clone https://noxz.tech/git/adji.git
Log | Files | Tags | LICENSE

config.h
1/**
2 * @file
3 * @brief Configuration file
4 *
5 * Copyright (C) 2023 Chris Noxz
6 * Author(s): Chris Noxz <chris@noxz.tech>
7 *
8 * This program is free software: you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the Free
10 * Software Foundation, either version 3 of the License, or (at your option)
11 * any later version.
12 *
13 * This program is distributed in the hope that it will be useful, but WITHOUT
14 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
16 * more details.
17 *
18 * You should have received a copy of the GNU General Public License along with
19 * this program. If not, see <https://www.gnu.org/licenses/>.
20 */
21
22#ifndef CONFIG_H
23#define CONFIG_H
24
25/**
26 * @brief Contains dynamically loaded configuration
27 */
28static Config cfg[CFN_LAST] = {
29	/* config name                      enviornment variable name                       webkit web view setting name                config type invert       default value */
30	[CFN_ACCEPTED_LANGUAGES]        = { __NAME_UPPERCASE__"_ACCEPTED_LANGUAGES",        NULL,                                       CFG_LIST,   FALSE, {.l = NULL }},
31	[CFN_BLOB_FILE]                 = { __NAME_UPPERCASE__"_BLOB_FILE",                 NULL,                                       CFG_STRING, FALSE, {.s = "/tmp/." __NAME__ "_blob" }},
32	[CFN_CONSOLE_TO_STDOUT]         = { __NAME_UPPERCASE__"_ENABLE_CONSOLE_TO_STDOUT",  "enable-write-console-messages-to-stdout",  CFG_BOOL,   FALSE, {.b = FALSE }},
33	[CFN_COOKIE_FILE]               = { __NAME_UPPERCASE__"_COOKIE_FILE",               NULL,                                       CFG_STRING, FALSE, {.s = NULL }},
34	[CFN_DNS_PREFETCHING]           = { NULL,                                           "enable-dns-prefetching",                   CFG_BOOL,   FALSE, {.b = FALSE }},
35	[CFN_DEFAULT_CHARSET]           = { __NAME_UPPERCASE__"_CHARSET",                   "default-charset",                          CFG_STRING, FALSE, {.s = "UTF-8" }},
36	[CFN_DEFAULT_FONT]              = { __NAME_UPPERCASE__"_DEFAULT_FONT",              "default-font-family",                      CFG_STRING, FALSE, {.s = "monospace" }},
37	[CFN_DEFAULT_FONT_SIZE]         = { __NAME_UPPERCASE__"_DEFAULT_FONT_SIZE",         "default-font-size",                        CFG_INT,    FALSE, {.i = 12 }},
38	[CFN_DEVELOPER_EXTRAS]          = { NULL,                                           "enable-developer-extras",                  CFG_BOOL,   FALSE, {.b = TRUE }},
39	[CFN_DISABLE_AUTOLOAD_IMAGES]   = { __NAME_UPPERCASE__"_DISABLE_AUTO_LOAD_IMAGES",  "auto-load-images",                         CFG_BOOL,   TRUE,  {.b = FALSE }},
40	[CFN_DISABLE_JAVASCRIPT]        = { __NAME_UPPERCASE__"_DISABLE_JAVASCRIPT",        "enable-javascript-markup",                 CFG_BOOL,   TRUE,  {.b = FALSE }},
41	[CFN_ENCRYPTED_MEDIA]           = { NULL,                                           "enable-encrypted-media",                   CFG_BOOL,   FALSE, {.b = FALSE }},
42	[CFN_EXTERNAL_HANDLER_FILE]     = { NULL,                                           NULL,                                       CFG_STRING, FALSE, {.s = "exthandler" }},
43	[CFN_EXTERNAL_HANDLER_KEYS]     = { __NAME_UPPERCASE__"_EXTERNAL_HANDLER_KEYS",     NULL,                                       CFG_LIST,   FALSE, {.l = NULL }},
44	[CFN_HISTORY_FILE]              = { __NAME_UPPERCASE__"_HISTORY_FILE",              NULL,                                       CFG_STRING, FALSE, {.s = NULL }},
45	[CFN_HOME_URI]                  = { __NAME_UPPERCASE__"_HOME_URI",                  NULL,                                       CFG_STRING, FALSE, {.s = "about:blank" }},
46	[CFN_HYPERLINK_AUDITING]        = { NULL,                                           "enable-hyperlink-auditing",                CFG_BOOL,   FALSE, {.b = FALSE }},
47	[CFN_JS_ACCESS_CLIPBOARD]       = { NULL,                                           "javascript-can-access-clipboard",          CFG_BOOL,   FALSE, {.b = FALSE }},
48	[CFN_JS_OPEN_WINDOWS]           = { NULL,                                           "javascript-can-open-windows-automatically",CFG_BOOL,   FALSE, {.b = FALSE }},
49	[CFN_MONOSPACE_FONT]            = { __NAME_UPPERCASE__"_MONOSPACE_FONT",            "monospace-font-family",                    CFG_STRING, FALSE, {.s = "monospace" }},
50	[CFN_NORMAL_TAB_FORMAT]         = { NULL,                                           NULL,                                       CFG_STRING, FALSE, {.s = "<span>%s</span>" }},
51	[CFN_PROXY_IGNORE]              = { __NAME_UPPERCASE__"_PROXY_IGNORE",              NULL,                                       CFG_LIST,   FALSE, {.l = NULL }},
52	[CFN_POPUP_POLICY]              = { __NAME_UPPERCASE__"_POPUP_POLICY",              NULL,                                       CFG_INT,    FALSE, {.i = PUP_ALLOW }},
53	[CFN_PROXY_URI]                 = { __NAME_UPPERCASE__"_PROXY_URI",                 NULL,                                       CFG_STRING, FALSE, {.s = NULL }},
54	[CFN_SANS_SERIF_FONT]           = { __NAME_UPPERCASE__"_SANS_SERIF_FONT",           "sans-serif-font-family",                   CFG_STRING, FALSE, {.s = "sans-serif" }},
55	[CFN_SEARCH_ENGINE_URI_FORMAT]  = { __NAME_UPPERCASE__"_SE_URI_FORMAT",             NULL,                                       CFG_STRING, FALSE, {.s = "https://ddg.gg?q=%s" }},
56	[CFN_SERIF_FONT]                = { __NAME_UPPERCASE__"_SERIF_FONT",                "serif-font-family",                        CFG_STRING, FALSE, {.s = "serif" }},
57	[CFN_SMOOTH_SCROLLING]          = { __NAME_UPPERCASE__"_ENABLE_SMOOTH_SCROLLING",   "enable-smooth-scrolling",                  CFG_BOOL,   FALSE, {.b = FALSE }},
58	[CFN_STATE_FILE]                = { __NAME_UPPERCASE__"_STATE_FILE",                NULL,                                       CFG_STRING, FALSE, {.s = NULL }},
59	[CFN_TAB_HOST]                  = { __NAME_UPPERCASE__"_TAB_HOST",                  NULL,                                       CFG_STRING, FALSE, {.s = "_TABBED_HOST" }},
60	[CFN_USER_CSS_DIR]              = { NULL,                                           NULL,                                       CFG_STRING, FALSE, {.s = "styles" }},
61	[CFN_URI_SCHEMES]               = { NULL,                                           NULL,                                       CFG_LIST,   FALSE, {.l = (gchar*[]){ "http", "https", "file", "about", __NAME__"-about", "data", "blob", "webkit", NULL } }},
62	[CFN_USER_SCRIPT_DIR]           = { NULL,                                           NULL,                                       CFG_STRING, FALSE, {.s = "scripts" }},
63	[CFN_USER_AGENT]                = { __NAME_UPPERCASE__"_USER_AGENT",                "user-agent",                               CFG_STRING, FALSE, {.s = NULL }},
64	[CFN_WEB_EXTENSION_DIR]         = { NULL,                                           NULL,                                       CFG_STRING, FALSE, {.s = "web_extensions" }},
65	[CFN_WEB_RTC]                   = { NULL,                                           "enable-webrtc",                            CFG_BOOL,   FALSE, {.b = FALSE }},
66	[CFN_XDG_SCHEMES]               = { __NAME_UPPERCASE__"_XDG_SCHEMES",               NULL,                                       CFG_LIST,   FALSE, {.l = NULL }},
67	[CFN_ZOOM_LEVEL]                = { __NAME_UPPERCASE__"_ZOOM_LEVEL",                NULL,                                       CFG_FLOAT,  FALSE, {.f = 1.0 }},
68};
69
70#endif /* !CONFIG_H */