Add --modifier flag to i3-config-wizard (#3210)
Add --modifier flag to i3-config-wizard The --modifier flag accepts either alt or win, and will generate the configuration file without opening a window. Also adds i3-config-wizard's flags to the manpage. Fixes #3136.
This commit is contained in:
parent
63133c878f
commit
4e0bf58109
|
@ -745,10 +745,12 @@ int main(int argc, char *argv[]) {
|
|||
char *pattern = "pango:monospace 8";
|
||||
char *patternbold = "pango:monospace bold 8";
|
||||
int o, option_index = 0;
|
||||
bool headless_run = false;
|
||||
|
||||
static struct option long_options[] = {
|
||||
{"socket", required_argument, 0, 's'},
|
||||
{"version", no_argument, 0, 'v'},
|
||||
{"modifier", required_argument, 0, 'm'},
|
||||
{"limit", required_argument, 0, 'l'},
|
||||
{"prompt", required_argument, 0, 'P'},
|
||||
{"prefix", required_argument, 0, 'p'},
|
||||
|
@ -756,7 +758,7 @@ int main(int argc, char *argv[]) {
|
|||
{"help", no_argument, 0, 'h'},
|
||||
{0, 0, 0, 0}};
|
||||
|
||||
char *options_string = "s:vh";
|
||||
char *options_string = "sm:vh";
|
||||
|
||||
while ((o = getopt_long(argc, argv, options_string, long_options, &option_index)) != -1) {
|
||||
switch (o) {
|
||||
|
@ -767,9 +769,18 @@ int main(int argc, char *argv[]) {
|
|||
case 'v':
|
||||
printf("i3-config-wizard " I3_VERSION "\n");
|
||||
return 0;
|
||||
case 'm':
|
||||
headless_run = true;
|
||||
if (strcmp(optarg, "alt") == 0)
|
||||
modifier = MOD_Mod1;
|
||||
else if (strcmp(optarg, "win") == 0)
|
||||
modifier = MOD_Mod4;
|
||||
else
|
||||
err(EXIT_FAILURE, "Invalid modifier key %s", optarg);
|
||||
break;
|
||||
case 'h':
|
||||
printf("i3-config-wizard " I3_VERSION "\n");
|
||||
printf("i3-config-wizard [-s <socket>] [-v]\n");
|
||||
printf("i3-config-wizard [-s <socket>] [-m win|alt] [-v] [-h]\n");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -826,6 +837,11 @@ int main(int argc, char *argv[]) {
|
|||
modmap_cookie = xcb_get_modifier_mapping(conn);
|
||||
symbols = xcb_key_symbols_alloc(conn);
|
||||
|
||||
if (headless_run) {
|
||||
finish();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Place requests for the atoms we need as soon as possible */
|
||||
#define xmacro(atom) \
|
||||
xcb_intern_atom_cookie_t atom##_cookie = xcb_intern_atom(conn, 0, strlen(#atom), #atom);
|
||||
|
|
|
@ -9,7 +9,21 @@ i3-config-wizard - creates a keysym based config based on your layout
|
|||
|
||||
== SYNOPSIS
|
||||
|
||||
i3-config-wizard
|
||||
i3-config-wizard [*-s* 'socket'] [*-m* 'modifier'] [*-v*] [*-h*]
|
||||
|
||||
== OPTIONS
|
||||
|
||||
*-s, --socket* 'socket'::
|
||||
Overwrites the path to the i3 IPC socket.
|
||||
|
||||
*-m, --modifier* 'modifier'::
|
||||
Generates the configuration file headlessly. Accepts win or alt.
|
||||
|
||||
*-v, --version*::
|
||||
Display version number and exit.
|
||||
|
||||
*-h, --help*::
|
||||
Display a short help message and exit.
|
||||
|
||||
== FILES
|
||||
|
||||
|
|
Loading…
Reference in New Issue