Index: /trunk/README.md
===================================================================
--- /trunk/README.md	(revision 10)
+++ /trunk/README.md	(revision 11)
@@ -1,4 +1,4 @@
 # kanako (神奈子)
-the adaptable password manager.
+the adaptable password manager. named after [Kanako Yasaka](https://en.touhouwiki.net/wiki/Kanako_Yasaka)
 
 ## Backends supported
@@ -10,15 +10,16 @@
 * Any of the above, depending how you configured it
 * `ls(1)` or `tree(1)` for printing a list
-* busybox `tr(1)` for password generation
 * `mandoc(1)` for documentation
 
 ## Add-ons
 
-### kanakomenu
+### kanako_gen
+random username and password generator, requires `busybox(1)`
+
+### kanako_menu
 quick graphical front-end for kanako, works with either of `dmenu(1)`
-or `bemenu(1)`, useful for copying passwords to clipboard. it's configured
-through kanakomenu.conf
+or `bemenu(1)`, useful for copying passwords to clipboard.
 
-### kanakototp
+### kanako_totp
 time-based one time password addon for kanako, requires `oathtool(1)`
 from oath-toolkit.
Index: /trunk/addons/kanako_gen
===================================================================
--- /trunk/addons/kanako_gen	(revision 11)
+++ /trunk/addons/kanako_gen	(revision 11)
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+
+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)
+}
+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)
+}
+
+case $1 in
+    -p)
+	fn_genpass $2
+	;;
+    -u)
+	fn_genuser
+	;;
+    *)
+	cat <<EOF
+Usage:
+kanako_gen -p <count>
+kanako_gen -u
+EOF
+	;;
+esac
Index: /trunk/addons/kanako_menu
===================================================================
--- /trunk/addons/kanako_menu	(revision 11)
+++ /trunk/addons/kanako_menu	(revision 11)
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+readonly conf_dir="${conf_dir:-$HOME/.config/kanako}"
+readonly store_dir="${store_dir:-$HOME/.kanako-store}"
+
+if test -f "${conf_dir}"/kanako.conf; then
+    . "${conf_dir}"/kanako.conf
+else
+    echo "Configuration file has not been found!"
+    exit 1
+fi
+
+find . -name '*.enc' | sort | sed 's,^\./,,;s,\.enc$,,' | ${menu_prog} | xargs $(which kanako) -c
Index: /trunk/addons/kanako_totp
===================================================================
--- /trunk/addons/kanako_totp	(revision 11)
+++ /trunk/addons/kanako_totp	(revision 11)
@@ -0,0 +1,12 @@
+#!/bin/sh -e
+# extracted from https://rgz.ee/bin/pass
+
+totp_seed="$(kanako -v "$@" | grep 'totp: ' | head -n1 | cut -d' ' -f2)"
+if ! [ -z "$totp_seed" ]; then
+    if command -v oathtool >/dev/null 2>&1; then
+	oathtool --totp -b "$totp_seed"
+    else
+	echo 'oathtool(1) should be installed'
+	exit 1
+    fi
+fi
Index: /trunk/kanako
===================================================================
--- /trunk/kanako	(revision 10)
+++ /trunk/kanako	(revision 11)
@@ -6,18 +6,18 @@
 
 if test -d "${store_dir}"; then
-	cd "${store_dir}"
+    cd "${store_dir}"
 else
-	echo "Password store not found!"
-	echo "Please run kanako-init"
-	exit 1
+    echo "Password store not found!"
+    echo "Create it with `mkdir -p $store_dir`"
+    exit 1
 fi
 
 if test -f "${conf_dir}/kanako.conf"; then
-	. "${conf_dir}/kanako.conf";
+    . "${conf_dir}/kanako.conf";
 else
-	echo "Configuration file has not been found!"
-	echo "Copy kanako.conf from the examples directory,"
-	echo "and edit accordingly."
-	exit 1
+    echo "Configuration file has not been found!"
+    echo "Copy kanako.conf from the examples directory,"
+    echo "and edit accordingly."
+    exit 1
 fi
 
@@ -30,7 +30,4 @@
     ${encrypt_cmd} ${encrypt_args} ${1%%.enc} > ${1%%.enc}.enc
     rm "${1%%.enc}"
-}
-fn_generate() {
-	busybox tr -dc '[A-Z][a-z][0-9]' </dev/urandom | dd bs=1 count=${1:-80} 2>/dev/null; echo
 }
 fn_list() {
@@ -56,6 +53,5 @@
     cat <<EOF
 Usage:
-kanako [-ceglnrRv] <arguments>
-kanako [copy|edit|gen|list|add|trash|trashd|view] <arguments>
+kanako [-celnrRv] <arguments>
 EOF
 }
@@ -71,12 +67,11 @@
 
 case $1 in
-    -c | copy) fn_copy $2 ;;
-    -e | edit) fn_edit $2 ;;
-    -g | gen) fn_generate $2 ;;
-    -l | list) fn_list ;;
-    -n | add) fn_new $2 ;;
-    -r | trash) fn_trash_entry $2 ;;
-    -R | trashd) fn_trash_directory $2 ;;
-    -v | view) fn_view $2 ;;
+    -c) fn_copy $2 ;;
+    -e) fn_edit $2 ;;
+    -l) fn_list ;;
+    -n) fn_new $2 ;;
+    -r) fn_trash_entry $2 ;;
+    -R) fn_trash_directory $2 ;;
+    -v) fn_view $2 ;;
     *) fn_usage ;;
 esac
Index: unk/kanako-init
===================================================================
--- /trunk/kanako-init	(revision 10)
+++ 	(revision )
@@ -1,10 +1,0 @@
-#!/bin/sh
-readonly conf_dir="$HOME/.config/kanako"
-readonly key_dir="$HOME/.kanako"
-readonly store_dir="$HOME/.kanako-store"
-
-echo "Initializing kanako(1)"
-
-for i in $conf_dir $key_dir $store_dir; do
-	mkdir -p $i
-done
Index: /trunk/kanako.mdoc
===================================================================
--- /trunk/kanako.mdoc	(revision 10)
+++ /trunk/kanako.mdoc	(revision 11)
@@ -1,3 +1,3 @@
-.Dd Bureaucracy 65, 3188
+.Dd Bureaucracy 72, 3188
 .Dt KANAKO 1
 .Os
@@ -9,19 +9,17 @@
 .Sh USAGE
 .Bl -tag -width 11n -compact
-.It add, -n
+.It -n
 Add a new entry
-.It copy, -c
+.It -c
 Copy an entry's text to the clipboard
-.It edit, -e
+.It -e
 Edit an entry
-.It gen, -g
-Generate a random password
-.It list, -l
+.It -l
 List all entries
-.It trash, -r
+.It -r
 Remove single entries
-.It trashd, -R
+.It -R
 Remove recursively a directory w/ entries
-.It view, -v
+.It -v
 View an entry
 .Bl
Index: unk/kanakomenu
===================================================================
--- /trunk/kanakomenu	(revision 10)
+++ 	(revision )
@@ -1,14 +1,0 @@
-#!/bin/sh -e
-readonly conf_dir="${conf_dir:-$HOME/.config/kanako}"
-readonly store_dir="${store_dir:-$HOME/.kanako-store}"
-
-if test -f "${conf_dir}"/kanakomenu.conf; then
-    . "${conf_dir}"/kanakomenu.conf
-else
-    echo "Configuration file has not been found!"
-    echo "Copy kanakomenu.conf from the examples directory,"
-    echo "and edit accordingly"
-    exit 1
-fi
-
-find . -name '*.enc' | sort | sed 's,^\./,,;s,\.enc$,,' | ${menu_prog} | xargs $(which kanako) -c
Index: unk/kanakomenu.conf.example
===================================================================
--- /trunk/kanakomenu.conf.example	(revision 10)
+++ 	(revision )
@@ -1,4 +1,0 @@
-# Configuration file for kanakomenu(1)
-
-#menu_prog="bemenu -p kanako"
-#menu_prog="dmenu -p kanako"
Index: unk/kanakototp
===================================================================
--- /trunk/kanakototp	(revision 10)
+++ 	(revision )
@@ -1,12 +1,0 @@
-#!/bin/sh -e
-# extracted from https://rgz.ee/bin/pass
-
-totp_seed="$(kanako -v "$@" | grep 'totp: ' | head -n1 | cut -d' ' -f2)"
-if ! [ -z "$totp_seed" ]; then
-    if command -v oathtool >/dev/null 2>&1; then
-	oathtool --totp -b "$totp_seed"
-    else
-	echo 'oathtool(1) should be installed'
-	exit 1
-    fi
-fi
Index: /trunk/mkfile
===================================================================
--- /trunk/mkfile	(revision 10)
+++ /trunk/mkfile	(revision 11)
@@ -6,15 +6,11 @@
 install-bin:
 	install -m$EXEC_MODE kanako $PREFIX/bin/kanako
-	install -m$EXEC_MODE kanako-init $PREFIX/bin/kanako-init
-	install -m$EXEC_MODE kanakomenu $PREFIX/bin/kanakomenu
-	install -m$EXEC_MODE kanakototp $PREFIX/bin/kanakototp
 install-examples:
 	install -m$FILE_MODE kanako.conf.example $PREFIX/share/examples/kanako/kanako.conf
-	install -m$FILE_MODE kanakomenu.conf.example $PREFIX/share/examples/kanako/kanakomenu.conf
 install-man:
 	install -m$FILE_MODE kanako.mdoc $PREFIX/share/man/man1/kanako.1
 	install -m$FILE_MODE kanako.conf.mdoc $PREFIX/share/man/man5/kanako.conf.5
 uninstall-bin:
-	rm -f $PREFIX/bin/kanako $PREFIX/bin/kanako-init $PREFIX/bin/kanakomenu $PREFIX/bin/kanakototp
+	rm -f $PREFIX/bin/kanako
 uninstall-examples:
 	rm -f $PREFIX/share/examples/kanako/kanako.conf $PREFIX/share/exmaples/kanako/kanakomenu.conf
