From cbf5c5d16cac8e8ae68b6327907d247bbe632a00 Mon Sep 17 00:00:00 2001 From: Corey Johnson Date: Tue, 29 May 2012 17:59:00 -0700 Subject: [PATCH] ctrl-? brings up keybindings for focused view. it is very ugly. --- src/app/keymaps/atom.coffee | 7 +++++++ src/app/keymaps/editor.coffee | 15 +++------------ src/app/root-view.coffee | 18 ++++++++++++++++++ static/atom.css | 19 +++++++++++++++++++ 4 files changed, 47 insertions(+), 12 deletions(-) create mode 100644 src/app/keymaps/atom.coffee diff --git a/src/app/keymaps/atom.coffee b/src/app/keymaps/atom.coffee new file mode 100644 index 000000000..a277a1035 --- /dev/null +++ b/src/app/keymaps/atom.coffee @@ -0,0 +1,7 @@ +window.keymap.bindKeys '*' + 'alt-meta-i': 'show-console' + right: 'move-right' + left: 'move-left' + down: 'move-down' + up: 'move-up' + 'ctrl-?': 'toggle-keybindings-view' \ No newline at end of file diff --git a/src/app/keymaps/editor.coffee b/src/app/keymaps/editor.coffee index fe392b3dd..c74d12931 100644 --- a/src/app/keymaps/editor.coffee +++ b/src/app/keymaps/editor.coffee @@ -1,17 +1,6 @@ -window.keymap.bindKeys '*' - 'meta-s': 'save' - 'meta-w': 'close' - 'alt-meta-i': 'show-console' - 'meta-+': 'increase-font-size' - 'meta--': 'decrease-font-size' - - right: 'move-right' - left: 'move-left' - down: 'move-down' - up: 'move-up' - window.keymap.bindKeys '.editor', 'meta-s': 'save' + 'meta-w': 'close' 'shift-right': 'select-right' 'shift-left': 'select-left' 'shift-up': 'select-up' @@ -38,3 +27,5 @@ window.keymap.bindKeys '.editor', 'meta-]': 'indent-selected-rows' 'meta-{': 'show-previous-buffer' 'meta-}': 'show-next-buffer' + 'meta-+': 'increase-font-size' + 'meta--': 'decrease-font-size' diff --git a/src/app/root-view.coffee b/src/app/root-view.coffee index 34aaa5113..e3362d7b1 100644 --- a/src/app/root-view.coffee +++ b/src/app/root-view.coffee @@ -29,6 +29,7 @@ class RootView extends View extensions: null extensionStates: null fontSize: 18 + keybindingsView: null initialize: (pathToOpen) -> @extensions = {} @@ -59,6 +60,7 @@ class RootView extends View @on 'increase-font-size', => @setFontSize(@getFontSize() + 1) @on 'decrease-font-size', => @setFontSize(@getFontSize() - 1) + @on 'toggle-keybindings-view', => @toggleKeybindingsView() afterAttach: (onDom) -> @focus() if onDom @@ -114,6 +116,22 @@ class RootView extends View if not previousActiveEditor or editor.buffer.path != previousActiveEditor.buffer.path @trigger 'active-editor-path-change', editor.buffer.path + toggleKeybindingsView: -> + if @keybindingsView? + @keybindingsView.remove() + @keybindingsView = null + else + keybindings = @activeKeybindings() + @keybindingsView = $$ -> + @div class: 'keybindings-view', => + @ul => + for keystroke, command of keybindings + @li => + @span class: 'keystroke', "#{keystroke}" + @span "#{command}" + + @append(@keybindingsView) + activeKeybindings: -> keymap.bindingsForElement(document.activeElement) diff --git a/static/atom.css b/static/atom.css index c4258d885..e774c3fc5 100644 --- a/static/atom.css +++ b/static/atom.css @@ -63,3 +63,22 @@ body { -webkit-transition: background 200ms ease-out; } +.keybindings-view { + position: absolute; + width: 100%; + height: 100%; + top: 0px; + left: 0px; + background-color: white; + overflow: scroll; + opacity: 0.9; +} + +.keybindings-view li .keystroke { + font-weight: bold; + float: left; + text-align: right; + padding-right: 10px; + width: 100px; +} +