aboutsummaryrefslogtreecommitdiff
path: root/render.c
diff options
context:
space:
mode:
authoradnano <me@adnano.co>2024-05-04 21:44:59 -0400
committeradnano <me@adnano.co>2024-05-04 21:44:59 -0400
commit15d7c7bcc29e66f174c4de2420d371a9737ac6e4 (patch)
tree3be3d17ffb062e95f92d90dbdd7fb74fa6e4f538 /render.c
parent963a677631f00b9b259e101a5e3dad85da6ccbf2 (diff)
downloadwmenu-15d7c7bcc29e66f174c4de2420d371a9737ac6e4.tar.gz
Revert "Remove wmenu -P flag"
This reverts commit c05ab7520b452ee3b8bd974a18511dc370cbeabe.
Diffstat (limited to 'render.c')
-rw-r--r--render.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/render.c b/render.c
index e33898d..3813af5 100644
--- a/render.c
+++ b/render.c
@@ -79,8 +79,22 @@ static void render_prompt(struct menu *menu, cairo_t *cairo) {
// Renders the input text.
static void render_input(struct menu *menu, cairo_t *cairo) {
- render_text(menu, cairo, menu->input, menu->promptw, 0, 0,
- 0, menu->normalfg, menu->padding, menu->padding);
+ char *censort = NULL;
+
+ if (menu->passwd) {
+ censort = calloc(1, sizeof(menu->input));
+ if (!censort) {
+ return;
+ }
+ memset(censort, '*', strlen(menu->input));
+ }
+
+ render_text(menu, cairo, menu->passwd ? censort : menu->input,
+ menu->promptw, 0, 0, 0, menu->normalfg, menu->padding, menu->padding);
+
+ if (censort) {
+ free(censort);
+ }
}
// Renders a cursor for the input field.