[hackers] [surf] Introduce new data structure for handling settings || Quentin Rameau

From: <git_AT_suckless.org>
Date: Tue, 5 Jul 2016 13:02:31 +0200 (CEST)

commit 2aa1c38aed02bfc37379476a07516172b2817cae
Author: Quentin Rameau <quinq_AT_fifth.space>
AuthorDate: Sun Nov 29 17:16:48 2015 +0100
Commit: Quentin Rameau <quinq_AT_fifth.space>
CommitDate: Tue Jul 5 13:01:56 2016 +0200

    Introduce new data structure for handling settings

diff --git a/surf.c b/surf.c
index 8f2bfe9..43b1531 100644
--- a/surf.c
+++ b/surf.c
_AT_@ -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,
_AT_@ -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;
_AT_@ -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;
Received on Tue Jul 05 2016 - 13:02:31 CEST

This archive was generated by hypermail 2.3.0 : Tue Jul 05 2016 - 13:12:22 CEST