find_executables() {
    OLDIFS="$IFS"
    IFS=:
    set -- $1
    IFS="$OLDIFS"
    for dir do
        if [ -d "$dir" ]; then
            for i in "$dir"/*; do
                [ -x "$i" ] && [ ! -d "$i" ] && echo "`basename \"$i\"`"
            done
        fi
    done | sort
}

#---------------------------------------------------------------------

# set style:
$WRITE /menu/style/text-font "$NORMAL_TEXT_FONT"
$WRITE /menu/style/text-size "$NORMAL_TEXT_SIZE"
$WRITE /menu/norm-style/bg-color "$NORMAL_BG_COLOR"
$WRITE /menu/norm-style/text-color "$NORMAL_FG_COLOR"
$WRITE /menu/norm-style/border-color "$NORMAL_BORDER_COLOR"
$WRITE /menu/sel-style/bg-color "$SELECTED_BG_COLOR"
$WRITE /menu/sel-style/text-color "$SELECTED_FG_COLOR"
$WRITE /menu/sel-style/border-color "$SELECTED_BORDER_COLOR"

# other stuff:
$REMOVE /menu/label 2>/dev/null

{
    # set actions up:
    {
        ls -F $HOME/.wmii/action 2>/dev/null | grep '\*$' | sed 's/\*$//'
        ls -F $WMII_CONFDIR/action | grep '\*$' | sed 's/\*$//'
    } | sort | uniq | grep -v actions | grep -v programs | while read line; do
        echo create "/menu/label/actions/$line" "$line"
    done | wmir -f

    # set programs up:
    find_executables $PATH | while read line; do
        echo create "/menu/label/programs/$line" "$line"
    done | wmir -f
} &  # can take some seconds
