def _parse_args(p):
    """Command line arguments - all optional with [reasonable] defaults"""
    p.add_argument('--version', action='store_true', help=
        'show version information and exit')
    p.add_argument('-v', action='count', help='raise verbosity', default=0)
    g = p.add_mutually_exclusive_group()
    g.add_argument('--watch', action='store_true', help=
        'watch and build in foreground', default=False)
    g.add_argument('--daemon', action='store_true', help=
        'watch and build as daemon', default=False)
    g.add_argument('--kill', action='store_true', default=False, help=
        'exorcise daemon if running')
    p.add_argument('--i3-refresh-msg', action='store', default='reload',
        choices=['restart', 'reload', 'nop'], help='i3-msg to send after build'
        )
    p.add_argument('--notify', action='store_true', default=False, help=
        'show build notification via notify-send')
    p.add_argument('--log', action='store', default=None, help=
        'i3configgerPath to where log should be stored')
    p.add_argument('message', help='message to send to i3configger', nargs='*')
    return p.parse_args()
