Replace default config path by .config/wmfs/wmfsrc, add option -h -v and -C, new example wmfsrc.
This commit is contained in:
15
src/config.c
15
src/config.c
@@ -11,8 +11,6 @@
|
||||
#include "infobar.h"
|
||||
#include "util.h"
|
||||
|
||||
#define CONFIG_DEFAULT_PATH ".config/wmfs/wmfsrc2" /* tmp */
|
||||
|
||||
static void
|
||||
config_theme(void)
|
||||
{
|
||||
@@ -245,12 +243,14 @@ config_keybind(void)
|
||||
void
|
||||
config_init(void)
|
||||
{
|
||||
char *path;
|
||||
if(get_conf(W->confpath) == -1)
|
||||
{
|
||||
warn("parsing configuration file (%s) failed.", W->confpath);
|
||||
sprintf(W->confpath, "%s/"CONFIG_DEFAULT_PATH, getenv("HOME"));
|
||||
|
||||
xasprintf(&path, "%s/"CONFIG_DEFAULT_PATH, getenv("HOME"));
|
||||
|
||||
if(get_conf(path) == -1)
|
||||
errx(1, "parsing configuration file (%s) failed.", path);
|
||||
if(get_conf(W->confpath) == -1)
|
||||
errx(1, "parsing default configuration file (%s) failed.", W->confpath);
|
||||
}
|
||||
|
||||
config_theme();
|
||||
config_keybind();
|
||||
@@ -258,6 +258,5 @@ config_init(void)
|
||||
config_bars();
|
||||
config_rule();
|
||||
|
||||
free(path);
|
||||
free_conf();
|
||||
}
|
||||
|
||||
@@ -58,6 +58,8 @@ screen_init(void)
|
||||
screen_new(&g, i);
|
||||
}
|
||||
|
||||
W->nscreen = n;
|
||||
|
||||
XFree(xsi);
|
||||
}
|
||||
else
|
||||
@@ -68,6 +70,7 @@ screen_init(void)
|
||||
g.h = DisplayHeight(W->dpy, W->xscreen);
|
||||
|
||||
screen_new(&g, 0);
|
||||
W->nscreen = 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -41,6 +41,9 @@ tag_new(struct screen *s, char *name)
|
||||
void
|
||||
tag_screen(struct screen *s, struct tag *t)
|
||||
{
|
||||
if(!t)
|
||||
t = TAILQ_FIRST(&s->tags);
|
||||
|
||||
t->prev = s->seltag;
|
||||
s->seltag = t;
|
||||
|
||||
|
||||
48
src/wmfs.c
48
src/wmfs.c
@@ -307,7 +307,8 @@ wmfs_scan(void)
|
||||
if(!nscreen)
|
||||
{
|
||||
SLIST_FOREACH(s, &W->h.screen, next)
|
||||
tag_screen(s, TAILQ_FIRST(&s->tags));
|
||||
if(!TAILQ_EMPTY(&s->tags))
|
||||
tag_screen(s, TAILQ_FIRST(&s->tags));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -472,11 +473,39 @@ uicb_quit(Uicb cmd)
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
int i;
|
||||
bool r;
|
||||
(void)argc;
|
||||
|
||||
W = (struct wmfs*)xcalloc(1, sizeof(struct wmfs));
|
||||
|
||||
/* Default path ~/.config/wmfs/wmfsrc */
|
||||
sprintf(W->confpath, "%s/"CONFIG_DEFAULT_PATH, getenv("HOME"));
|
||||
|
||||
/* Opt */
|
||||
while((i = getopt(argc, argv, "hvC:")) != -1)
|
||||
{
|
||||
switch(i)
|
||||
{
|
||||
case 'h':
|
||||
printf("usage: %s [-hv] [-C <file>]\n"
|
||||
" -h Show this page\n"
|
||||
" -v Show WMFS version\n"
|
||||
" -C <file> Launch WMFS a specified configuration file\n", argv[0]);
|
||||
free(W);
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
case 'v':
|
||||
printf("wmfs("WMFS_VERSION") 2 beta\n");
|
||||
free(W);
|
||||
exit(EXIT_SUCCESS);
|
||||
break;
|
||||
case 'C':
|
||||
strncpy(W->confpath, optarg, sizeof(W->confpath));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/* Get X display */
|
||||
if(!(W->dpy = XOpenDisplay(NULL)))
|
||||
{
|
||||
@@ -484,23 +513,6 @@ main(int argc, char **argv)
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* Opt */
|
||||
/*
|
||||
int i;
|
||||
while((i = getopt(argc, argv, "hviC:")) != -1)
|
||||
{
|
||||
switch(i)
|
||||
{
|
||||
case 'h':
|
||||
break;
|
||||
case 'v':
|
||||
break;
|
||||
case 'C':
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/* Core */
|
||||
wmfs_init();
|
||||
wmfs_scan();
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
/* Local */
|
||||
#define CONFIG_DEFAULT_PATH ".config/wmfs/wmfsrc"
|
||||
|
||||
#define ButtonMask (ButtonPressMask | ButtonReleaseMask | ButtonMotionMask)
|
||||
#define MouseMask (ButtonMask | PointerMotionMask)
|
||||
@@ -259,6 +260,8 @@ struct rule
|
||||
SLIST_ENTRY(rule) next;
|
||||
};
|
||||
|
||||
#define MAX_PATH_LEN 8192
|
||||
|
||||
struct wmfs
|
||||
{
|
||||
/* X11 stuffs */
|
||||
@@ -266,12 +269,14 @@ struct wmfs
|
||||
Window root;
|
||||
int xscreen, xdepth;
|
||||
int xmaxw, xmaxh;
|
||||
int nscreen;
|
||||
Flags numlockmask;
|
||||
#define WMFS_SCAN 0x01
|
||||
Flags flags;
|
||||
GC gc, rgc;
|
||||
Atom *net_atom;
|
||||
char **argv;
|
||||
char confpath[MAX_PATH_LEN];
|
||||
bool running, reload;
|
||||
|
||||
/* FIFO stuffs */
|
||||
|
||||
Reference in New Issue
Block a user