Added hide keyboard layout option
This commit is contained in:
parent
98e5afe364
commit
86f4fea55e
@ -54,6 +54,7 @@ struct swaylock_args {
|
|||||||
bool show_caps_lock_text;
|
bool show_caps_lock_text;
|
||||||
bool show_caps_lock_indicator;
|
bool show_caps_lock_indicator;
|
||||||
bool show_keyboard_layout;
|
bool show_keyboard_layout;
|
||||||
|
bool hide_keyboard_layout;
|
||||||
bool show_failed_attempts;
|
bool show_failed_attempts;
|
||||||
bool daemonize;
|
bool daemonize;
|
||||||
};
|
};
|
||||||
|
11
main.c
11
main.c
@ -550,6 +550,7 @@ static int parse_options(int argc, char **argv, struct swaylock_state *state,
|
|||||||
{"tiling", no_argument, NULL, 't'},
|
{"tiling", no_argument, NULL, 't'},
|
||||||
{"no-unlock-indicator", no_argument, NULL, 'u'},
|
{"no-unlock-indicator", no_argument, NULL, 'u'},
|
||||||
{"show-keyboard-layout", no_argument, NULL, 'k'},
|
{"show-keyboard-layout", no_argument, NULL, 'k'},
|
||||||
|
{"hide-keyboard-layout", no_argument, NULL, 'K'},
|
||||||
{"show-failed-attempts", no_argument, NULL, 'F'},
|
{"show-failed-attempts", no_argument, NULL, 'F'},
|
||||||
{"version", no_argument, NULL, 'v'},
|
{"version", no_argument, NULL, 'v'},
|
||||||
{"bs-hl-color", required_argument, NULL, LO_BS_HL_COLOR},
|
{"bs-hl-color", required_argument, NULL, LO_BS_HL_COLOR},
|
||||||
@ -607,6 +608,8 @@ static int parse_options(int argc, char **argv, struct swaylock_state *state,
|
|||||||
"Display the given image.\n"
|
"Display the given image.\n"
|
||||||
" -k, --show-keyboard-layout "
|
" -k, --show-keyboard-layout "
|
||||||
"Display the current xkb layout while typing.\n"
|
"Display the current xkb layout while typing.\n"
|
||||||
|
" -K, --hide-keyboard-layout "
|
||||||
|
"Hide the current xkb layout while typing.\n"
|
||||||
" -L, --disable-caps-lock-text "
|
" -L, --disable-caps-lock-text "
|
||||||
"Disable the Caps Lock text.\n"
|
"Disable the Caps Lock text.\n"
|
||||||
" -l, --indicator-caps-lock "
|
" -l, --indicator-caps-lock "
|
||||||
@ -700,7 +703,7 @@ static int parse_options(int argc, char **argv, struct swaylock_state *state,
|
|||||||
optind = 1;
|
optind = 1;
|
||||||
while (1) {
|
while (1) {
|
||||||
int opt_idx = 0;
|
int opt_idx = 0;
|
||||||
c = getopt_long(argc, argv, "c:deFfhi:kLlnrs:tuvC:", long_options,
|
c = getopt_long(argc, argv, "c:deFfhi:kKLlnrs:tuvC:", long_options,
|
||||||
&opt_idx);
|
&opt_idx);
|
||||||
if (c == -1) {
|
if (c == -1) {
|
||||||
break;
|
break;
|
||||||
@ -744,6 +747,11 @@ static int parse_options(int argc, char **argv, struct swaylock_state *state,
|
|||||||
state->args.show_keyboard_layout = true;
|
state->args.show_keyboard_layout = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case 'K':
|
||||||
|
if (state) {
|
||||||
|
state->args.hide_keyboard_layout = true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'L':
|
case 'L':
|
||||||
if (state) {
|
if (state) {
|
||||||
state->args.show_caps_lock_text = false;
|
state->args.show_caps_lock_text = false;
|
||||||
@ -1063,6 +1071,7 @@ int main(int argc, char **argv) {
|
|||||||
.show_caps_lock_indicator = false,
|
.show_caps_lock_indicator = false,
|
||||||
.show_caps_lock_text = true,
|
.show_caps_lock_text = true,
|
||||||
.show_keyboard_layout = false,
|
.show_keyboard_layout = false,
|
||||||
|
.hide_keyboard_layout = false,
|
||||||
.show_failed_attempts = false
|
.show_failed_attempts = false
|
||||||
};
|
};
|
||||||
wl_list_init(&state.images);
|
wl_list_init(&state.images);
|
||||||
|
3
render.c
3
render.c
@ -156,7 +156,8 @@ void render_frame(struct swaylock_surface *surface) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
xkb_layout_index_t num_layout = xkb_keymap_num_layouts(state->xkb.keymap);
|
xkb_layout_index_t num_layout = xkb_keymap_num_layouts(state->xkb.keymap);
|
||||||
if (state->args.show_keyboard_layout || num_layout > 1) {
|
if (!state->args.hide_keyboard_layout &&
|
||||||
|
(state->args.show_keyboard_layout || num_layout > 1)) {
|
||||||
xkb_layout_index_t curr_layout = 0;
|
xkb_layout_index_t curr_layout = 0;
|
||||||
|
|
||||||
// advance to the first active layout (if any)
|
// advance to the first active layout (if any)
|
||||||
|
Loading…
Reference in New Issue
Block a user