     KEYBOARD_HANDLER: 'settings.keyboard_handler'
     SHOW_GUTTER: 'settings.show_gutter'
     ACE_THEME: 'settings.ace_theme'
+    CURRENT_NOTE_GUID: 'settings.current_note.guid'
 
   # --------------------------------------------------------
   # Editor Keyboard Handler Settings

    # sync scroll
    scrollSyncor.syncScroll(vm.ace_editor, $('#md_html_div'))

    # make new note
    noteManager.make_new_note().then(
      (note) =>
        vm.change_current_note(guid=note.guid, title=note.title, md=note.md)
        console.log('New note made: ' + JSON.stringify(note))
      (error) =>
        alert('make_new_note() failed!')
    ).catch (error) => alert('make new note failed!')

    # get note list
    vm.refresh_all_notes()


  # ------------------------------------------------------------
  # Return a copy of a note in db with a given guid
  #
  # db_server safe. will get db_server itself
  # return: promise containing the note's info,
  #         or null if note does not exist
  # ------------------------------------------------------------
  find_note_by_guid: (guid) =>
    # db.js then() does not return a Promise,
    # need to be wrapper in a real Promise
    p = dbProvider.get_db_server_promise().then (server) =>
      return new Promise (resolve, reject) =>
        resolve(server.notes.query().filter('guid', guid).execute())
    return p.then (notes) =>
      if notes.length == 0
        console.log('find_note_by_guid(' + guid + ') returned null')
