add argument interface
This commit is contained in:
parent
cacfd2e244
commit
873f62cfd1
57
c/colors.c
57
c/colors.c
|
@ -217,14 +217,20 @@ void run_handler(struct color *colors, char *wal) {
|
||||||
|
|
||||||
struct settings {
|
struct settings {
|
||||||
int h:1; /* running hooks or not */
|
int h:1; /* running hooks or not */
|
||||||
int r:1; /* pick a random wallpaper */
|
int e:1; /* echo colors */
|
||||||
|
int c:1; /* enable color check */
|
||||||
|
int f:1; /* print filename used */
|
||||||
|
char *wal; /* custom file if provided */
|
||||||
} settings = {
|
} settings = {
|
||||||
.h = 1,
|
.h = 1,
|
||||||
.r = 1,
|
.e = 0,
|
||||||
|
.c = 0,
|
||||||
|
.f = 0,
|
||||||
|
.wal = NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
char *select_random_file(void) {
|
char *select_random_file(char *file) {
|
||||||
char *file = select_random_rel();
|
if(!file) file = select_random_rel();
|
||||||
static char ret[256];
|
static char ret[256];
|
||||||
file = get_wal_dir(file);
|
file = get_wal_dir(file);
|
||||||
memcpy(&ret, file, 256);
|
memcpy(&ret, file, 256);
|
||||||
|
@ -232,18 +238,49 @@ char *select_random_file(void) {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main(void) {
|
int main(int argc, char **argv) {
|
||||||
char *file = select_random_file();
|
int c;
|
||||||
struct color *colors = get_colors(file);
|
while((c = getopt(argc, argv, "hefcw:")) != -1) {
|
||||||
printf("%i\n", check_colors(colors));
|
switch(c) {
|
||||||
|
case 'h':
|
||||||
|
settings.h = 0;
|
||||||
|
break;
|
||||||
|
case 'w':
|
||||||
|
settings.wal = optarg;
|
||||||
|
break;
|
||||||
|
case 'e':
|
||||||
|
settings.e = 1;
|
||||||
|
break;
|
||||||
|
case 'c':
|
||||||
|
settings.c = 1;
|
||||||
|
break;
|
||||||
|
case 'f':
|
||||||
|
settings.f = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(settings.h == 0) settings.e = 1;
|
||||||
|
|
||||||
|
char *file = select_random_file(settings.wal);
|
||||||
|
struct color *colors = get_colors(file);
|
||||||
|
|
||||||
|
if(settings.f) printf("%s\n", file);
|
||||||
|
|
||||||
|
if(settings.e) {
|
||||||
for(int i = 0; i < 16; i++) {
|
for(int i = 0; i < 16; i++) {
|
||||||
print_color(&colors[i]);
|
print_color(&colors[i]);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
run_handler(colors, file);
|
if(settings.c) {
|
||||||
|
c = check_colors(colors);
|
||||||
|
if(c == 0) {
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
get_conf_file("hello");
|
if(settings.h) run_handler(colors, file);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue