Show More
@@ -459,6 +459,16 b' IPython.utils = (function (IPython) {' | |||
|
459 | 459 | return M; |
|
460 | 460 | })(); |
|
461 | 461 | |
|
462 | // http://stackoverflow.com/questions/11219582/how-to-detect-my-browser-version-and-operating-system-using-javascript | |
|
463 | var platform = (function () { | |
|
464 | var OSName="Unknown OS"; | |
|
465 | if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows"; | |
|
466 | if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS"; | |
|
467 | if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX"; | |
|
468 | if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux"; | |
|
469 | return OSName | |
|
470 | })(); | |
|
471 | ||
|
462 | 472 | var is_or_has = function (a, b) { |
|
463 | 473 | // Is b a child of a or a itself? |
|
464 | 474 | return a.has(b).length !==0 || a.is(b); |
@@ -500,6 +510,7 b' IPython.utils = (function (IPython) {' | |||
|
500 | 510 | splitext : splitext, |
|
501 | 511 | always_new : always_new, |
|
502 | 512 | browser : browser, |
|
513 | platform: platform, | |
|
503 | 514 | is_or_has : is_or_has, |
|
504 | 515 | is_focused : is_focused |
|
505 | 516 | }; |
@@ -50,6 +50,7 b' var IPython = (function (IPython) {' | |||
|
50 | 50 | } |
|
51 | 51 | |
|
52 | 52 | var browser = IPython.utils.browser[0]; |
|
53 | var platform = IPython.utils.platform; | |
|
53 | 54 | |
|
54 | 55 | if (browser === 'Firefox' || browser === 'Opera') { |
|
55 | 56 | $.extend(_keycodes, _mozilla_keycodes); |
@@ -78,24 +79,6 b' var IPython = (function (IPython) {' | |||
|
78 | 79 | // Default keyboard shortcuts |
|
79 | 80 | |
|
80 | 81 | var default_common_shortcuts = { |
|
81 | 'meta+s' : { | |
|
82 | help : 'save notebook', | |
|
83 | help_index : 'fb', | |
|
84 | handler : function (event) { | |
|
85 | IPython.notebook.save_checkpoint(); | |
|
86 | event.preventDefault(); | |
|
87 | return false; | |
|
88 | } | |
|
89 | }, | |
|
90 | 'ctrl+s' : { | |
|
91 | help : 'save notebook', | |
|
92 | help_index : 'fc', | |
|
93 | handler : function (event) { | |
|
94 | IPython.notebook.save_checkpoint(); | |
|
95 | event.preventDefault(); | |
|
96 | return false; | |
|
97 | } | |
|
98 | }, | |
|
99 | 82 | 'shift' : { |
|
100 | 83 | help : '', |
|
101 | 84 | help_index : '', |
@@ -130,6 +113,30 b' var IPython = (function (IPython) {' | |||
|
130 | 113 | } |
|
131 | 114 | } |
|
132 | 115 | |
|
116 | if (platform === 'MacOS') { | |
|
117 | default_common_shortcuts['cmd+s'] = | |
|
118 | { | |
|
119 | help : 'save notebook', | |
|
120 | help_index : 'fb', | |
|
121 | handler : function (event) { | |
|
122 | IPython.notebook.save_checkpoint(); | |
|
123 | event.preventDefault(); | |
|
124 | return false; | |
|
125 | } | |
|
126 | }; | |
|
127 | } else { | |
|
128 | default_common_shortcuts['ctrl+s'] = | |
|
129 | { | |
|
130 | help : 'save notebook', | |
|
131 | help_index : 'fb', | |
|
132 | handler : function (event) { | |
|
133 | IPython.notebook.save_checkpoint(); | |
|
134 | event.preventDefault(); | |
|
135 | return false; | |
|
136 | } | |
|
137 | }; | |
|
138 | } | |
|
139 | ||
|
133 | 140 | // Edit mode defaults |
|
134 | 141 | |
|
135 | 142 | var default_edit_shortcuts = { |
@@ -195,6 +202,48 b' var IPython = (function (IPython) {' | |||
|
195 | 202 | return false; |
|
196 | 203 | } |
|
197 | 204 | }, |
|
205 | 'tab' : { | |
|
206 | help : 'indent or complete', | |
|
207 | help_index : 'ec', | |
|
208 | }, | |
|
209 | 'shift+tab' : { | |
|
210 | help : 'tooltip', | |
|
211 | help_index : 'ed', | |
|
212 | }, | |
|
213 | } | |
|
214 | ||
|
215 | if (platform === 'MacOS') { | |
|
216 | default_edit_shortcuts['cmd+/'] = | |
|
217 | { | |
|
218 | help : 'toggle comment', | |
|
219 | help_index : 'ee' | |
|
220 | }; | |
|
221 | default_edit_shortcuts['cmd+]'] = | |
|
222 | { | |
|
223 | help : 'indent', | |
|
224 | help_index : 'ef' | |
|
225 | }; | |
|
226 | default_edit_shortcuts['cmd+['] = | |
|
227 | { | |
|
228 | help : 'dedent', | |
|
229 | help_index : 'eg' | |
|
230 | }; | |
|
231 | } else { | |
|
232 | default_edit_shortcuts['ctrl+/'] = | |
|
233 | { | |
|
234 | help : 'toggle comment', | |
|
235 | help_index : 'ee' | |
|
236 | }; | |
|
237 | default_edit_shortcuts['ctrl+]'] = | |
|
238 | { | |
|
239 | help : 'indent', | |
|
240 | help_index : 'ef' | |
|
241 | }; | |
|
242 | default_edit_shortcuts['ctrl+['] = | |
|
243 | { | |
|
244 | help : 'dedent', | |
|
245 | help_index : 'eg' | |
|
246 | }; | |
|
198 | 247 | } |
|
199 | 248 | |
|
200 | 249 | // Command mode defaults |
@@ -402,7 +451,7 b' var IPython = (function (IPython) {' | |||
|
402 | 451 | } |
|
403 | 452 | }, |
|
404 | 453 | 'shift+o' : { |
|
405 | help : 'toggle output', | |
|
454 | help : 'toggle output scroll', | |
|
406 | 455 | help_index : 'gc', |
|
407 | 456 | handler : function (event) { |
|
408 | 457 | IPython.notebook.toggle_output_scroll(); |
@@ -483,6 +532,14 b' var IPython = (function (IPython) {' | |||
|
483 | 532 | return false; |
|
484 | 533 | } |
|
485 | 534 | }, |
|
535 | 'shift+m' : { | |
|
536 | help : 'merge cell below', | |
|
537 | help_index : 'ek', | |
|
538 | handler : function (event) { | |
|
539 | IPython.notebook.merge_cell_below(); | |
|
540 | return false; | |
|
541 | } | |
|
542 | }, | |
|
486 | 543 | } |
|
487 | 544 | |
|
488 | 545 | |
@@ -500,6 +557,9 b' var IPython = (function (IPython) {' | |||
|
500 | 557 | var help_string = this._shortcuts[shortcut]['help']; |
|
501 | 558 | var help_index = this._shortcuts[shortcut]['help_index']; |
|
502 | 559 | if (help_string) { |
|
560 | if (platform === 'MacOS') { | |
|
561 | shortcut = shortcut.replace('meta', 'cmd'); | |
|
562 | } | |
|
503 | 563 | help.push({ |
|
504 | 564 | shortcut: shortcut, |
|
505 | 565 | help: help_string, |
@@ -523,6 +583,7 b' var IPython = (function (IPython) {' | |||
|
523 | 583 | |
|
524 | 584 | ShortcutManager.prototype.normalize_shortcut = function (shortcut) { |
|
525 | 585 | // Sort a sequence of + separated modifiers into the order alt+ctrl+meta+shift |
|
586 | shortcut = shortcut.replace('cmd', 'meta').toLowerCase(); | |
|
526 | 587 | var values = shortcut.split("+"); |
|
527 | 588 | if (values.length === 1) { |
|
528 | 589 | return this.normalize_key(values[0]) |
@@ -88,7 +88,7 b' var IPython = (function (IPython) {' | |||
|
88 | 88 | }); |
|
89 | 89 | |
|
90 | 90 | $([IPython.events]).on('status_interrupting.Kernel',function () { |
|
91 | knw.set_message("Interrupting kernel"); | |
|
91 | knw.set_message("Interrupting kernel", 2000); | |
|
92 | 92 | }); |
|
93 | 93 | |
|
94 | 94 | $([IPython.events]).on('status_dead.Kernel',function () { |
General Comments 0
You need to be logged in to leave comments.
Login now