Hi there,

see attached a diff that cleans up the surf code a little bit:

- it introduces camel case for the enum values (to avoid confusion with macros)
- it renames enum value ALWAYS into Throughout (that avoids some mask
conflict with some other "Always" from GTK or something else)
- it removes the use of getopt
- some cosmetic fixes

Kind regards,
Anselm
diff -r 0510b2fa041a config.def.h
--- a/config.def.h	Wed Sep 16 10:12:27 2009 +0200
+++ b/config.def.h	Wed Sep 16 15:32:31 2009 +0100
@@ -4,29 +4,29 @@
 #define MODKEY GDK_CONTROL_MASK
 static Key keys[] = {
     /* modifier	            keyval      function    arg             Focus */
-    { MODKEY|GDK_SHIFT_MASK,GDK_r,      reload,     { .b = TRUE },  ALWAYS },
-    { MODKEY,               GDK_r,      reload,     { .b = FALSE }, ALWAYS },
-    { MODKEY,               GDK_g,      showurl,    { 0 },          ALWAYS },
-    { MODKEY,               GDK_slash,  showsearch, { 0 },          ALWAYS },
-    { 0,                    GDK_Escape, hidesearch, { 0 },          ALWAYS },
-    { 0,                    GDK_Escape, hideurl,    { 0 },          ALWAYS },
-    { MODKEY|GDK_SHIFT_MASK,GDK_p,      print,      { 0 },          ALWAYS },
-    { MODKEY,               GDK_p,      clipboard,  { .b = TRUE },  BROWSER },
-    { MODKEY,               GDK_y,      clipboard,  { .b = FALSE }, BROWSER },
-    { MODKEY|GDK_SHIFT_MASK,GDK_j,      zoom,       { .i = -1 },    BROWSER },
-    { MODKEY|GDK_SHIFT_MASK,GDK_k,      zoom,       { .i = +1 },    BROWSER },
-    { MODKEY|GDK_SHIFT_MASK,GDK_i,      zoom,       { .i = 0  },    BROWSER },
-    { MODKEY,               GDK_l,      navigate,   { .i = +1 },    BROWSER },
-    { MODKEY,               GDK_h,      navigate,   { .i = -1 },    BROWSER },
-    { MODKEY,               GDK_j,      scroll,     { .i = +1 },    BROWSER },
-    { MODKEY,               GDK_k,      scroll,     { .i = -1 },    BROWSER },
-    { 0,                    GDK_Escape, stop,       { 0 },          BROWSER },
-    { MODKEY,               GDK_o,      source,     { 0 },          BROWSER },
-    { MODKEY,               GDK_n,      searchtext, { .b = TRUE },  BROWSER|SEARCHBAR },
-    { MODKEY|GDK_SHIFT_MASK,GDK_n,      searchtext, { .b = FALSE }, BROWSER|SEARCHBAR },
-    { 0,                    GDK_Return, searchtext, { .b = TRUE },  SEARCHBAR },
-    { GDK_SHIFT_MASK,       GDK_Return, searchtext, { .b = FALSE }, SEARCHBAR },
-    { 0,                    GDK_Return, loaduri,    { .v = NULL },  URLBAR },
-    { 0,                    GDK_Return, hideurl,    { 0 },          URLBAR },
+    { MODKEY|GDK_SHIFT_MASK,GDK_r,      reload,     { .b = TRUE },  Throughout },
+    { MODKEY,               GDK_r,      reload,     { .b = FALSE }, Throughout },
+    { MODKEY,               GDK_g,      showurl,    { 0 },          Throughout },
+    { MODKEY,               GDK_slash,  showsearch, { 0 },          Throughout },
+    { 0,                    GDK_Escape, hidesearch, { 0 },          Throughout },
+    { 0,                    GDK_Escape, hideurl,    { 0 },          Throughout },
+    { MODKEY|GDK_SHIFT_MASK,GDK_p,      print,      { 0 },          Throughout },
+    { MODKEY,               GDK_p,      clipboard,  { .b = TRUE },  Browser },
+    { MODKEY,               GDK_y,      clipboard,  { .b = FALSE }, Browser },
+    { MODKEY|GDK_SHIFT_MASK,GDK_j,      zoom,       { .i = -1 },    Browser },
+    { MODKEY|GDK_SHIFT_MASK,GDK_k,      zoom,       { .i = +1 },    Browser },
+    { MODKEY|GDK_SHIFT_MASK,GDK_i,      zoom,       { .i = 0  },    Browser },
+    { MODKEY,               GDK_l,      navigate,   { .i = +1 },    Browser },
+    { MODKEY,               GDK_h,      navigate,   { .i = -1 },    Browser },
+    { MODKEY,               GDK_j,      scroll,     { .i = +1 },    Browser },
+    { MODKEY,               GDK_k,      scroll,     { .i = -1 },    Browser },
+    { 0,                    GDK_Escape, stop,       { 0 },          Browser },
+    { MODKEY,               GDK_o,      source,     { 0 },          Browser },
+    { MODKEY,               GDK_n,      searchtext, { .b = TRUE },  Browser|SearchBar },
+    { MODKEY|GDK_SHIFT_MASK,GDK_n,      searchtext, { .b = FALSE }, Browser|SearchBar },
+    { 0,                    GDK_Return, searchtext, { .b = TRUE },  SearchBar },
+    { GDK_SHIFT_MASK,       GDK_Return, searchtext, { .b = FALSE }, SearchBar },
+    { 0,                    GDK_Return, loaduri,    { .v = NULL },  UrlBar },
+    { 0,                    GDK_Return, hideurl,    { 0 },          UrlBar },
 };
 
diff -r 0510b2fa041a surf.c
--- a/surf.c	Wed Sep 16 10:12:27 2009 +0200
+++ b/surf.c	Wed Sep 16 15:32:31 2009 +0100
@@ -10,7 +10,6 @@
 #include <gdk/gdkkeysyms.h>
 #include <string.h>
 #include <unistd.h>
-#include <getopt.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <webkit/webkit.h>
@@ -25,7 +24,7 @@
 	const gboolean b;
 	const gint i;
 	const void *v;
-} ;
+};
 
 typedef struct Client {
 	GtkWidget *win, *scroll, *vbox, *urlbar, *searchbar, *indicator;
@@ -45,10 +44,10 @@
 } Cookie;
 
 typedef enum {
-    BROWSER = 0x0001,
-    SEARCHBAR = 0x0010,
-    URLBAR = 0x0100,
-    ALWAYS = ~0,
+	Browser = 0x0001,
+	SearchBar = 0x0010,
+	UrlBar = 0x0100,
+	Throughout = ~0, /* 'Always' is masked by something else */
 } KeyFocus;
 
 typedef struct {
@@ -104,8 +103,7 @@
 static void rereadcookies(void);
 static void setcookie(char *name, char *val, char *dom, char *path, long exp);
 static void setup(void);
-static void titlechange(WebKitWebView* view, WebKitWebFrame* frame,
-		const gchar* title, Client *c);
+static void titlechange(WebKitWebView* view, WebKitWebFrame* frame, const gchar* title, Client *c);
 static void scroll(Client *c, const Arg *arg);
 static void searchtext(Client *c, const Arg *arg);
 static void source(Client *c, const Arg *arg);
@@ -277,11 +275,11 @@
 	if(ev->type != GDK_KEY_PRESS)
 		return FALSE;
 	if(GTK_WIDGET_HAS_FOCUS(c->searchbar))
-		focus = SEARCHBAR;
+		focus = SearchBar;
 	else if(GTK_WIDGET_HAS_FOCUS(c->urlbar))
-		focus = URLBAR;
+		focus = UrlBar;
 	else
-		focus = BROWSER;
+		focus = Browser;
 	for(i = 0; i < LENGTH(keys); i++) {
 		if(focus & keys[i].focus
 				&& gdk_keyval_to_lower(ev->keyval) == keys[i].keyval
@@ -719,45 +717,41 @@
 }
 
 int main(int argc, char *argv[]) {
+	int i;
+	Arg arg;
 	Client *c;
-	gint o, a;
-	Arg arg;
 
 	gtk_init(NULL, NULL);
 	if (!g_thread_supported())
 		g_thread_init(NULL);
-	while((o = getopt(argc, argv, "vhxe:")) != -1)
-		switch(o) {
-		case 'x':
+	/* command line args */
+	for(i = 1, arg.v = NULL; i < argc; i++) {
+		if(!strcmp(argv[i], "-x"))
 			showxid = TRUE;
-			break;
-		case 'e':
-			if(!(a = atoi(optarg)))
+		else if(!strcmp(argv[i], "-e")) {
+			if(++i < argc)
+				embed = atoi(argv[i]);
+			else
 				usage();
-			embed = a;
-			break;
-		case 'v':
+		}
+		else if(!strcmp(argv[i], "-v"))
 			die("surf-"VERSION", © 2009 surf engineers, see LICENSE for details\n");
-			break;
-		default:
+		else if(argv[i][0] == '-')
 			usage();
-		}
+		else
+			arg.v = argv[i];
+	}
+	if(!arg.v)
+		usage();
 	setup();
-	if(optind + 1 == argc) {
-		c = newclient();
-		arg.v = argv[optind];
-		if(strchr("./", argv[optind][0]) || strcmp("-", argv[optind]) == 0)
-			loadfile(c, argv[optind]);
-		else
-			loaduri(c, &arg);
-
-	}
-	else if(optind != argc)
-		usage();
+	c = newclient();
+	arg.v = argv[optind];
+	if(strchr("./", argv[optind][0]) || strcmp("-", argv[optind]) == 0)
+		loadfile(c, argv[optind]);
+	else
+		loaduri(c, &arg);
 	if(!clients)
 		newclient();
-
-
 	gtk_main();
 	cleanup();
 	return EXIT_SUCCESS;

Reply via email to