code: def on_default_shell_changed(self, combo):
          
          citer = combo.get_active_iter()
          if not citer:
              return
          shell = combo.get_model().get_value(citer, 0)
          # we unset the value (restore to default) when user chooses to use
          # user shell as guake shell interpreter.
          if shell == USER_SHELL_VALUE:
              self.settings.general.reset('default-shell')
          else:
              self.settings.general.set_string('default-shell', shell)
docs: Changes the activity of default_shell in dconf