summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xd.c53
1 files changed, 36 insertions, 17 deletions
diff --git a/xd.c b/xd.c
index ff4b3c9..167e43b 100644
--- a/xd.c
+++ b/xd.c
@@ -260,8 +260,8 @@ static Pixmap saved=None;
static GC gc=None;
static Display *disp=NULL;
static XFontStruct *font=NULL;
-static int width;
-static int height;
+static int width = 640;
+static int height = 480;
static int centre_x;
static int centre_y;
@@ -346,23 +346,45 @@ int main(int argc, char *argv[])
XEvent ev;
int f;
- for(f=1;f<argc;f++)
+ f = 1;
+
+ while(argv[f] && argv[f][0] == '-')
{
- if (!strcmp(argv[f],"-r"))
- {
- use_root=TRUE;
- }
- else if (!strcmp(argv[f],"-c"))
- {
- cycle=TRUE;
- }
- else
+ switch(argv[f++][1])
{
- demo=atoi(argv[f]);
- demo=MAX(0,MIN(demo,NO_DEMOS-1));
+ case 'r':
+ use_root = TRUE;
+ break;
+
+ case 'c':
+ cycle = TRUE;
+ break;
+
+ case 'w':
+ if (argv[f])
+ {
+ width = atoi(argv[f++]);
+ }
+ break;
+
+ case 'h':
+ if (argv[f])
+ {
+ height = atoi(argv[f++]);
+ }
+ break;
+
+ default:
+ break;
}
}
+ if (argv[f])
+ {
+ demo=atoi(argv[f]);
+ demo=MAX(0,MIN(demo,NO_DEMOS-1));
+ }
+
OpenX();
XMapWindow(disp,win);
@@ -524,9 +546,6 @@ static void OpenX(void)
Error("Couldn't load font fixed");
}
- width=640;
- height=480;
-
if (!use_root)
{
win=XCreateWindow