mirror of
https://github.com/Raymo111/i3lock-color.git
synced 2024-11-11 13:50:52 -05:00
467e46c077
Before this change, i3lock could become unusable on systems where pixmap allocations take long. I don’t know precisely why, but slow pixmap allocations is a symptom that my computer sometimes exhibits, apparently when low on GPU memory. In that situation, duplicate key press events would be processed (apparently received from X11!), making correct password entry impossible.
29 lines
1.2 KiB
C
29 lines
1.2 KiB
C
#ifndef _UNLOCK_INDICATOR_H
|
|
#define _UNLOCK_INDICATOR_H
|
|
|
|
#include <xcb/xcb.h>
|
|
|
|
typedef enum {
|
|
STATE_STARTED = 0, /* default state */
|
|
STATE_KEY_PRESSED = 1, /* key was pressed, show unlock indicator */
|
|
STATE_KEY_ACTIVE = 2, /* a key was pressed recently, highlight part
|
|
of the unlock indicator. */
|
|
STATE_BACKSPACE_ACTIVE = 3, /* backspace was pressed recently, highlight
|
|
part of the unlock indicator in red. */
|
|
STATE_NOTHING_TO_DELETE = 4, /* backspace was pressed, but there is nothing to delete. */
|
|
} unlock_state_t;
|
|
|
|
typedef enum {
|
|
STATE_AUTH_IDLE = 0, /* no authenticator interaction at the moment */
|
|
STATE_AUTH_VERIFY = 1, /* currently verifying the password via authenticator */
|
|
STATE_AUTH_LOCK = 2, /* currently locking the screen */
|
|
STATE_AUTH_WRONG = 3, /* the password was wrong */
|
|
STATE_I3LOCK_LOCK_FAILED = 4, /* i3lock failed to load */
|
|
} auth_state_t;
|
|
|
|
void free_bg_pixmap(void);
|
|
void draw_image(xcb_pixmap_t bg_pixmap, uint32_t* resolution);
|
|
void redraw_screen(void);
|
|
void clear_indicator(void);
|
|
|
|
#endif
|