'Perform operations to config settings if `Configure Setting` frame is
active, or just draw the `Configure Setting` frame with no items
selected while it is inactive.
.. note:: Whether the `Configure Setting` frame is inactive is decided
by if :attr:`pos` is `None` or not.
:attr:`pos`  Status
None         Inactive
int          Active
:param pos: Index of selected item in `Configure Setting` frame. The
default value of `pos` is `None`.
:type pos: int or None
:param key_in: A flag indicating the key pressed by user. The default
value of `key_in` is `None`.
:type key_in: int or None
:return: Index of selected item in `Configure Setting` frame.
:rtype: int or None'

def configure_settings(self, pos=None, key_in=None):

    id_num = range(len(self.settings))
    if (pos is not None):
        if (key_in == curses.KEY_DOWN):
            pos = list((id_num[1:] + id_num[:1]))[pos]
        elif (key_in == curses.KEY_UP):
            pos = list((id_num[(-1):] + id_num[:(-1)]))[pos]
        elif (key_in in [10, 32]):
            self.sub_selection(pos)
        self.info(pos, 0)
    self.configure_settings_frame(pos)
    return pos
