[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sup-devel] new branch: keybindings



This branch makes the keybindings hook more useful. It moves the global
keymap into a new GlobalMode that all others inherit from. This lets
you write the same code to make a global keybinding as for a
mode-specific one:

class Redwood::GlobalMode
  keymap.add! :list_starred, "List all starred threads", "s"

  def list_starred
    SearchResultsMode.spawn_from_query "is:starred"
  end
end

I got rid of the "modes" local since I think it's better to just reopen
the class with normal Ruby syntax. The keybindings hook is now exactly
like the startup hook but with the O-k keybinding to reload it.

This branch also makes it easier to write keybindings by catching and
displaying exceptions from any keybinding, including builtin Sup ones.
Masking Sup bugs isn't the goal (there's still a backtrace and bug
report instructions) but the user experience is much better than losing
a half-composed email.

I've added some of my own keybindings (not using GlobalMode yet) to the
wiki: http://sup.rubyforge.org/wiki/wiki.pl?CustomizingKeys
_______________________________________________
Sup-devel mailing list
Sup-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-devel