Index: trunk/README.md
===================================================================
--- trunk/README.md	(revision 14)
+++ trunk/README.md	(revision 15)
@@ -16,5 +16,7 @@
 
 ### kanako_gen
-random username and password generator, requires `busybox(1)`
+random username and password generator, requires `strings(1)`,
+`dd(1)` and a sane `tr(1)` (FreeBSD's one behaves differently and
+in unexpected ways)
 
 ### kanako_menu
@@ -31,4 +33,5 @@
 ## Related software
 * [akoizumi/ayu](https://git.shelltalk.net/akoizumi/ayu) [predecessor]
+* [beastie/aps](https://codeberg.org/beastie/aps)
 * [biox/pa](https://github.com/biox/pa)
 * [e-zk/page](https://github.com/e-zk/page)
Index: trunk/addons/kanako_gen
===================================================================
--- trunk/addons/kanako_gen	(revision 14)
+++ trunk/addons/kanako_gen	(revision 15)
@@ -2,8 +2,8 @@
 
 fn_genpass() {
-    printf "Password: %s\n" $(busybox tr -dc '[A-Z][a-z][0-9]' </dev/urandom | dd bs=1 count=${1:-80} 2>/dev/null; echo)
+    printf "Password: %s\n" $(strings </dev/urandom | dd bs=1 count=${1:-80} 2>/dev/null | tr -d " \t\n\r")
 }
 fn_genuser() {
-    printf "Username: %s\n" $(busybox tr -dc '[A-Z][a-z][0-9]' </dev/urandom | dd bs=1 count=10 2>/dev/null; echo)
+    printf "Username: %s\n" $(strings </dev/urandom | dd bs=1 count=10 2>/dev/null | tr -d " \t\n\r")
 }
 
Index: trunk/addons/kanako_menu
===================================================================
--- trunk/addons/kanako_menu	(revision 14)
+++ trunk/addons/kanako_menu	(revision 15)
@@ -10,3 +10,3 @@
 fi
 
-find . -name '*.enc' | sort | sed 's,^\./,,;s,\.enc$,,' | ${menu_prog} | xargs $(which kanako) -c
+find . -name '*.enc' | sort | sed 's,^\./,,;s,\.enc$,,' | "${kanako_menu_cmd}" | xargs $(which kanako) -c
Index: trunk/kanako
===================================================================
--- trunk/kanako	(revision 14)
+++ trunk/kanako	(revision 15)
@@ -46,5 +46,5 @@
 }
 fn_trash_directory() {
-    rm -rf "$@"
+    rm -rf "$1"
 }
 fn_trash_file() {
Index: trunk/kanako.conf.example
===================================================================
--- trunk/kanako.conf.example	(revision 14)
+++ trunk/kanako.conf.example	(revision 15)
@@ -4,4 +4,5 @@
 #kanako_clip_cmd="wl-copy --primary"
 #kanako_list_cmd="tree"
+#kanako_menu_cmd="dmenu"
 
 ## age
Index: trunk/kanako.conf.mdoc
===================================================================
--- trunk/kanako.conf.mdoc	(revision 14)
+++ trunk/kanako.conf.mdoc	(revision 15)
@@ -1,3 +1,3 @@
-.Dd Bureaucracy 73, 3188
+.Dd Aftermath 41, 3188
 .Dt KANAKO.CONF 5
 .Os
@@ -6,30 +6,24 @@
 .Nd configuration file for
 .Xr kanako 1
-.Sh KEYS
-.Ss General section
+.Sh FIELDS
 .Bl -tag -width 11n -compact
-.It clip_cmd
-Clipboard manager command
-.It debug
-Controls whether to use debug
-mode or not. Any value other
-than false is interpreted as
-true.
-.It list_cmd
-Command used to print a listing
-of the password store
-.It menu_cmd
-Menu command for kanako_menu
-.El
-.Ss Encryption section
-.Bl -tag -width 11n -compact
-.It encrypt_cmd
-Command to handle encryption
-.It encrypt_args
-Options to be passed to
-encrypt_cmd for encryption
-.It decrypt_args
-Options to be passed to
-encrypt_cmd for decryption
+.It kanako_clip_cmd
+Clipboard executable to be
+used with the -c switch
+.It kanako_decrypt_args
+Arguments for decryption
+passed to kanako_encrypt_cmd
+.It kanako_encrypt_args
+Arguments for encryption
+passed to kanako_encrypt_cmd
+.It kanako_encrypt_cmd
+Encryption executable to
+be used with the program
+.It kanako_list_cmd
+Listing executable to
+be used with the -l switch
+.It kanako_menu_cmd
+Menu executable to
+be used with kanako_menu
 .El
 .Sh SEE ALSO
Index: trunk/kanako.mdoc
===================================================================
--- trunk/kanako.mdoc	(revision 14)
+++ trunk/kanako.mdoc	(revision 15)
@@ -7,23 +7,11 @@
 .Sh SYNOPSIS
 .Nm
-.Fl c
-.Ar args
-.Nm
-.Fl e
-.Ar args
-.Nm
+.Fl c Ar args
+.Fl e Ar args
 .Fl l
-.Nm
-.Fl n
-.Ar args
-.Nm
-.Fl r
-.Ar args
-.Nm
-.Fl R
-.Ar args
-.Nm
-.Fl v
-.Ar args
+.Fl n Ar args
+.Fl r Ar args
+.Fl R Ar args
+.Fl v Ar args
 .Sh DESCRIPTION
 It is a clean rewrite of
