dwm-cmdcustomize-20180504-3bd8466.diff - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) Refs
---
dwm-cmdcustomize-20180504-3bd8466.diff (3791B)
---
1 diff --git a/dwm.1 b/dwm.1
2 index e3b2c38..76011c7 100644
3 --- a/dwm.1
4 +++ b/dwm.1
5 @@ -3,7 +3,27 @@
6 dwm \- dynamic window manager
7 .SH SYNOPSIS
8 .B dwm
9 -.RB [ \-v ]
10 +.RB [ \-vh ]
11 +.RB [ \-fn
12 +.IR font ]
13 +.RB [ \-nb
14 +.IR color ]
15 +.RB [ \-nf
16 +.IR color ]
17 +.RB [ \-sb
18 +.IR color ]
19 +.RB [ \-sf
20 +.IR color ]
21 +.RB [ \-df
22 +.IR font ]
23 +.RB [ \-dnb
24 +.IR color ]
25 +.RB [ \-dnf
26 +.IR color ]
27 +.RB [ \-dsb
28 +.IR color ]
29 +.RB [ \-dsf
30 +.IR color ]
31 .SH DESCRIPTION
32 dwm is a dynamic window manager for X. It manages windows in tiled, monocle
33 and floating layouts. Either layout can be applied dynamically, optimising the
34 @@ -34,6 +54,43 @@ dwm draws a small border around windows to indicate the focus state.
35 .TP
36 .B \-v
37 prints version information to standard output, then exits.
38 +.TP
39 +.B \-h --help
40 +prints short help
41 +.TP
42 +.BI \-fn " font"
43 +defines the font or font set used.
44 +.TP
45 +.BI \-nb " color"
46 +defines the normal background color.
47 +.IR #RGB ,
48 +.IR #RRGGBB ,
49 +and X color names are supported.
50 +.TP
51 +.BI \-nf " color"
52 +defines the normal foreground color.
53 +.TP
54 +.BI \-sb " color"
55 +defines the selected background color.
56 +.TP
57 +.BI \-sf " color"
58 +defines the selected foreground color.
59 +.TP
60 +.BI \-df " font"
61 +defines the font used in dmenu_run.
62 +.TP
63 +.BI \-dnb " color"
64 +defines the normal background color in dmenu_run.
65 +.TP
66 +.BI \-dnf " color"
67 +defines the normal foreground color in dmenu_run.
68 +.TP
69 +.BI \-dsb " color"
70 +defines the selected background color in dmenu_run.
71 +.TP
72 +.BI \-dsf " color"
73 +defines the selected foreground color in dmenu_run.
74 +.TP
75 .SH USAGE
76 .SS Status bar
77 .TP
78 diff --git a/dwm.c b/dwm.c
79 index c98678d..dc1a679 100644
80 --- a/dwm.c
81 +++ b/dwm.c
82 @@ -174,6 +174,7 @@ static long getstate(Window w);
83 static int gettextprop(Window w, Atom atom, char *text, unsigned int size);
84 static void grabbuttons(Client *c, int focused);
85 static void grabkeys(void);
86 +static char* help();
87 static void incnmaster(const Arg *arg);
88 static void keypress(XEvent *e);
89 static void killclient(const Arg *arg);
90 @@ -963,6 +964,12 @@ grabkeys(void)
91 }
92 }
93
94 +char*
95 +help(void)
96 +{
97 + return "usage: dwm [-hv] [-fn font] [-nb color] [-nf color] [-sb color] [-sf color]\n[-df font] [-dnf color] [-dnb color] [-dsf color] [-dsb color]\n";
98 +}
99 +
100 void
101 incnmaster(const Arg *arg)
102 {
103 @@ -2127,10 +2134,32 @@ zoom(const Arg *arg)
104 int
105 main(int argc, char *argv[])
106 {
107 - if (argc == 2 && !strcmp("-v", argv[1]))
108 - die("dwm-"VERSION);
109 - else if (argc != 1)
110 - die("usage: dwm [-v]");
111 + for(int i=1;i<argc;i+=1)
112 + if (!strcmp("-v", argv[i]))
113 + die("dwm-"VERSION);
114 + else if (!strcmp("-h", argv[i]) || !strcmp("--help", argv[i]))
115 + die(help());
116 + else if (!strcmp("-fn", argv[i])) /* font set */
117 + fonts[0] = argv[++i];
118 + else if (!strcmp("-nb",argv[i])) /* normal background color */
119 + colors[SchemeNorm][1] = argv[++i];
120 + else if (!strcmp("-nf",argv[i])) /* normal foreground color */
121 + colors[SchemeNorm][0] = argv[++i];
122 + else if (!strcmp("-sb",argv[i])) /* selected background color */
123 + colors[SchemeSel][1] = argv[++i];
124 + else if (!strcmp("-sf",argv[i])) /* selected foreground color */
125 + colors[SchemeSel][0] = argv[++i];
126 + else if (!strcmp("-df", argv[i])) /* dmenu font */
127 + dmenucmd[4] = argv[++i];
128 + else if (!strcmp("-dnb",argv[i])) /* dmenu normal background color */
129 + dmenucmd[6] = argv[++i];
130 + else if (!strcmp("-dnf",argv[i])) /* dmenu normal foreground color */
131 + dmenucmd[8] = argv[++i];
132 + else if (!strcmp("-dsb",argv[i])) /* dmenu selected background color */
133 + dmenucmd[10] = argv[++i];
134 + else if (!strcmp("-dsf",argv[i])) /* dmenu selected foreground color */
135 + dmenucmd[12] = argv[++i];
136 + else die(help());
137 if (!setlocale(LC_CTYPE, "") || !XSupportsLocale())
138 fputs("warning: no locale support\n", stderr);
139 if (!(dpy = XOpenDisplay(NULL)))