Separate options for media, screen and power
This commit is contained in:
parent
cd5dd6274f
commit
370ea813d8
20
i3lock.1
20
i3lock.1
|
@ -137,11 +137,6 @@ Note that this number is zero indexed. The ordering is dependent on libxinerama.
|
||||||
Captures the screen and blurs it using the given sigma (radius).
|
Captures the screen and blurs it using the given sigma (radius).
|
||||||
Images may still be overlaid over the blurred screenshot.
|
Images may still be overlaid over the blurred screenshot.
|
||||||
|
|
||||||
.TP
|
|
||||||
.B \-m, \-\-pass-media-keys
|
|
||||||
Allow the following keys to be used while the screen is locked by passing them through:
|
|
||||||
XF86AudioPlay, XF86AudioPause, XF86AudioStop, XF86AudioPrev, XF86AudioNext, XF86AudioMute, XF86AudioLowerVolume, XF86AudioRaiseVolume, XF86MonBrightnessUp, XF86MonBrightnessDown, XF86PowerDown, XF86PowerOff.
|
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-indicator
|
.B \-\-indicator
|
||||||
Forces the indicator to always be visible, instead of only showing on activity.
|
Forces the indicator to always be visible, instead of only showing on activity.
|
||||||
|
@ -169,6 +164,21 @@ Displays the clock. \-\-force\-clock also displays the clock when there's indica
|
||||||
.B \-\-composite
|
.B \-\-composite
|
||||||
Some compositors have problems with i3lock trying to render over them, so this argument is disabled by default. However, some will work properly with it, so it's been left enabled.
|
Some compositors have problems with i3lock trying to render over them, so this argument is disabled by default. However, some will work properly with it, so it's been left enabled.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-m, \-\-pass-media-keys
|
||||||
|
Allow the following keys to be used while the screen is locked by passing them through:
|
||||||
|
XF86AudioPlay, XF86AudioPause, XF86AudioStop, XF86AudioPrev, XF86AudioNext, XF86AudioMute, XF86AudioLowerVolume, XF86AudioRaiseVolume.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-s, \-\-pass-screen-keys
|
||||||
|
Allow the following keys to be used while the screen is locked by passing them through:
|
||||||
|
XF86MonBrightnessUp, XF86MonBrightnessDown.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-p, \-\-pass-power-keys
|
||||||
|
Allow the following keys to be used while the screen is locked by passing them through:
|
||||||
|
XF86PowerDown, XF86PowerOff.
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B \-\-insidevercolor=rrggbbaa
|
.B \-\-insidevercolor=rrggbbaa
|
||||||
Sets the interior circle color while the password is being verified.
|
Sets the interior circle color while the password is being verified.
|
||||||
|
|
43
i3lock.c
43
i3lock.c
|
@ -233,6 +233,8 @@ bool tile = false;
|
||||||
bool ignore_empty_password = false;
|
bool ignore_empty_password = false;
|
||||||
bool skip_repeated_empty_password = false;
|
bool skip_repeated_empty_password = false;
|
||||||
bool pass_media_keys = false;
|
bool pass_media_keys = false;
|
||||||
|
bool pass_screen_keys = false;
|
||||||
|
bool pass_power_keys = false;
|
||||||
|
|
||||||
// for the rendering thread, so we can clean it up
|
// for the rendering thread, so we can clean it up
|
||||||
pthread_t draw_thread;
|
pthread_t draw_thread;
|
||||||
|
@ -654,6 +656,7 @@ static void handle_key_press(xcb_key_press_event_t *event) {
|
||||||
#else
|
#else
|
||||||
n = xkb_keysym_to_utf8(ksym, buffer, sizeof(buffer));
|
n = xkb_keysym_to_utf8(ksym, buffer, sizeof(buffer));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// media keys
|
// media keys
|
||||||
if (pass_media_keys) {
|
if (pass_media_keys) {
|
||||||
switch(ksym) {
|
switch(ksym) {
|
||||||
|
@ -665,8 +668,24 @@ static void handle_key_press(xcb_key_press_event_t *event) {
|
||||||
case XKB_KEY_XF86AudioMute:
|
case XKB_KEY_XF86AudioMute:
|
||||||
case XKB_KEY_XF86AudioLowerVolume:
|
case XKB_KEY_XF86AudioLowerVolume:
|
||||||
case XKB_KEY_XF86AudioRaiseVolume:
|
case XKB_KEY_XF86AudioRaiseVolume:
|
||||||
|
xcb_send_event(conn, true, screen->root, XCB_EVENT_MASK_BUTTON_PRESS, (char *)event);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// screen keys
|
||||||
|
if (pass_screen_keys) {
|
||||||
|
switch(ksym) {
|
||||||
case XKB_KEY_XF86MonBrightnessUp:
|
case XKB_KEY_XF86MonBrightnessUp:
|
||||||
case XKB_KEY_XF86MonBrightnessDown:
|
case XKB_KEY_XF86MonBrightnessDown:
|
||||||
|
xcb_send_event(conn, true, screen->root, XCB_EVENT_MASK_BUTTON_PRESS, (char *)event);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// power keys
|
||||||
|
if (pass_power_keys) {
|
||||||
|
switch(ksym) {
|
||||||
case XKB_KEY_XF86PowerDown:
|
case XKB_KEY_XF86PowerDown:
|
||||||
case XKB_KEY_XF86PowerOff:
|
case XKB_KEY_XF86PowerOff:
|
||||||
xcb_send_event(conn, true, screen->root, XCB_EVENT_MASK_BUTTON_PRESS, (char *)event);
|
xcb_send_event(conn, true, screen->root, XCB_EVENT_MASK_BUTTON_PRESS, (char *)event);
|
||||||
|
@ -1364,7 +1383,7 @@ int main(int argc, char *argv[]) {
|
||||||
{"inactivity-timeout", required_argument, NULL, 'I'},
|
{"inactivity-timeout", required_argument, NULL, 'I'},
|
||||||
{"show-failed-attempts", no_argument, NULL, 'f'},
|
{"show-failed-attempts", no_argument, NULL, 'f'},
|
||||||
|
|
||||||
/* options for unlock indicator colors */
|
// options for unlock indicator colors
|
||||||
{"insidevercolor", required_argument, NULL, 300},
|
{"insidevercolor", required_argument, NULL, 300},
|
||||||
{"insidewrongcolor", required_argument, NULL, 301},
|
{"insidewrongcolor", required_argument, NULL, 301},
|
||||||
{"insidecolor", required_argument, NULL, 302},
|
{"insidecolor", required_argument, NULL, 302},
|
||||||
|
@ -1393,8 +1412,12 @@ int main(int argc, char *argv[]) {
|
||||||
{"radius", required_argument, NULL, 402},
|
{"radius", required_argument, NULL, 402},
|
||||||
{"ring-width", required_argument, NULL, 403},
|
{"ring-width", required_argument, NULL, 403},
|
||||||
|
|
||||||
// alignment
|
// pass keys
|
||||||
|
{"pass-media-keys", no_argument, NULL, 'm'},
|
||||||
|
{"pass-screen-keys", no_argument, NULL, 's'},
|
||||||
|
{"pass-power-keys", no_argument, NULL, 'p'},
|
||||||
|
|
||||||
|
// alignment
|
||||||
{"time-align", required_argument, NULL, 500},
|
{"time-align", required_argument, NULL, 500},
|
||||||
{"date-align", required_argument, NULL, 501},
|
{"date-align", required_argument, NULL, 501},
|
||||||
{"verif-align", required_argument, NULL, 502},
|
{"verif-align", required_argument, NULL, 502},
|
||||||
|
@ -1404,7 +1427,6 @@ int main(int argc, char *argv[]) {
|
||||||
{"greeter-align", required_argument, NULL, 506},
|
{"greeter-align", required_argument, NULL, 506},
|
||||||
|
|
||||||
// string stuff
|
// string stuff
|
||||||
|
|
||||||
{"timestr", required_argument, NULL, 510},
|
{"timestr", required_argument, NULL, 510},
|
||||||
{"datestr", required_argument, NULL, 511},
|
{"datestr", required_argument, NULL, 511},
|
||||||
{"veriftext", required_argument, NULL, 512},
|
{"veriftext", required_argument, NULL, 512},
|
||||||
|
@ -1416,7 +1438,6 @@ int main(int argc, char *argv[]) {
|
||||||
{"greetertext", required_argument, NULL, 518},
|
{"greetertext", required_argument, NULL, 518},
|
||||||
|
|
||||||
// fonts
|
// fonts
|
||||||
|
|
||||||
{"time-font", required_argument, NULL, 520},
|
{"time-font", required_argument, NULL, 520},
|
||||||
{"date-font", required_argument, NULL, 521},
|
{"date-font", required_argument, NULL, 521},
|
||||||
{"verif-font", required_argument, NULL, 522},
|
{"verif-font", required_argument, NULL, 522},
|
||||||
|
@ -1425,7 +1446,6 @@ int main(int argc, char *argv[]) {
|
||||||
{"greeter-font", required_argument, NULL, 525},
|
{"greeter-font", required_argument, NULL, 525},
|
||||||
|
|
||||||
// text size
|
// text size
|
||||||
|
|
||||||
{"timesize", required_argument, NULL, 530},
|
{"timesize", required_argument, NULL, 530},
|
||||||
{"datesize", required_argument, NULL, 531},
|
{"datesize", required_argument, NULL, 531},
|
||||||
{"verifsize", required_argument, NULL, 532},
|
{"verifsize", required_argument, NULL, 532},
|
||||||
|
@ -1465,7 +1485,6 @@ int main(int argc, char *argv[]) {
|
||||||
{"redraw-thread", no_argument, NULL, 900},
|
{"redraw-thread", no_argument, NULL, 900},
|
||||||
{"refresh-rate", required_argument, NULL, 901},
|
{"refresh-rate", required_argument, NULL, 901},
|
||||||
{"composite", no_argument, NULL, 902},
|
{"composite", no_argument, NULL, 902},
|
||||||
{"pass-media-keys", no_argument, NULL, 'm'},
|
|
||||||
|
|
||||||
/* slideshow options */
|
/* slideshow options */
|
||||||
{"slideshow-interval", required_argument, NULL, 903},
|
{"slideshow-interval", required_argument, NULL, 903},
|
||||||
|
@ -1565,6 +1584,15 @@ int main(int argc, char *argv[]) {
|
||||||
blur = true;
|
blur = true;
|
||||||
blur_sigma = atoi(optarg);
|
blur_sigma = atoi(optarg);
|
||||||
break;
|
break;
|
||||||
|
case 'm':
|
||||||
|
pass_media_keys = true;
|
||||||
|
break;
|
||||||
|
case 's':
|
||||||
|
pass_screen_keys = true;
|
||||||
|
break;
|
||||||
|
case 'p':
|
||||||
|
pass_power_keys = true;
|
||||||
|
break;
|
||||||
// begin colors
|
// begin colors
|
||||||
#define parse_color(color)\
|
#define parse_color(color)\
|
||||||
arg = optarg;\
|
arg = optarg;\
|
||||||
|
@ -1995,9 +2023,6 @@ int main(int argc, char *argv[]) {
|
||||||
case 904:
|
case 904:
|
||||||
slideshow_random_selection = true;
|
slideshow_random_selection = true;
|
||||||
break;
|
break;
|
||||||
case 'm':
|
|
||||||
pass_media_keys = true;
|
|
||||||
break;
|
|
||||||
case 999:
|
case 999:
|
||||||
debug_mode = true;
|
debug_mode = true;
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in New Issue