tIntroduce new data structure for handling settings - surf - customized build o… | |
git clone git://src.adamsgaard.dk/surf | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 2aa1c38aed02bfc37379476a07516172b2817cae | |
parent d04fb9bff3796025eeedf0f32ae1c0a40366f717 | |
Author: Quentin Rameau <[email protected]> | |
Date: Sun, 29 Nov 2015 17:16:48 +0100 | |
Introduce new data structure for handling settings | |
Diffstat: | |
M surf.c | 40 +++++++++++++++++++++++++++++… | |
1 file changed, 38 insertions(+), 2 deletions(-) | |
--- | |
diff --git a/surf.c b/surf.c | |
t@@ -31,18 +31,42 @@ | |
#define LENGTH(x) (sizeof(x) / sizeof(x[0])) | |
#define CLEANMASK(mask) (mask & (MODKEY|GDK_SHIFT_MASK)) | |
+#define SETB(p, s) [p] = (Parameter){ { .b = s }, } | |
+#define SETI(p, s) [p] = (Parameter){ { .i = s }, } | |
+#define SETV(p, s) [p] = (Parameter){ { .v = s }, } | |
+#define SETF(p, s) [p] = (Parameter){ { .f = s }, } | |
+#define FSETB(p, s) [p] = (Parameter){ { .b = s }, 1 } | |
+#define FSETI(p, s) [p] = (Parameter){ { .i = s }, 1 } | |
+#define FSETV(p, s) [p] = (Parameter){ { .v = s }, 1 } | |
+#define FSETF(p, s) [p] = (Parameter){ { .f = s }, 1 } | |
enum { AtomFind, AtomGo, AtomUri, AtomLast }; | |
-enum { | |
+typedef enum { | |
CaretBrowsing, | |
+ CookiePolicies, | |
+ DiskCache, | |
+ DNSPrefetch, | |
+ FontSize, | |
FrameFlattening, | |
Geolocation, | |
+ HideBackground, | |
+ Inspector, | |
JavaScript, | |
+ KioskMode, | |
LoadImages, | |
Plugins, | |
+ PreferredLanguages, | |
+ RunInFullscreen, | |
ScrollBars, | |
-}; | |
+ ShowIndicators, | |
+ SpellChecking, | |
+ SpellLanguages, | |
+ StrictSSL, | |
+ Style, | |
+ ZoomLevel, | |
+ ParameterLast, | |
+} ParamName; | |
enum { | |
OnDoc = WEBKIT_HIT_TEST_RESULT_CONTEXT_DOCUMENT, | |
t@@ -58,9 +82,15 @@ enum { | |
typedef union { | |
int b; | |
int i; | |
+ float f; | |
const void *v; | |
} Arg; | |
+typedef struct { | |
+ Arg val; | |
+ int force; | |
+} Parameter; | |
+ | |
typedef struct Client { | |
GtkWidget *win; | |
WebKitWebView *view; | |
t@@ -92,6 +122,12 @@ typedef struct { | |
} Button; | |
typedef struct { | |
+ const char *uri; | |
+ Parameter config[ParameterLast]; | |
+ regex_t re; | |
+} UriParameters; | |
+ | |
+typedef struct { | |
char *regex; | |
char *style; | |
regex_t re; |