blob: 72e40a44123b594c55012847f20468265da63b54 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
// ==UserScript==
// @name GitHub Apple-Option-P to Preview
// @namespace com.teddywing
// @description Enables Apple-Option-P to toggle the Preview pane
// @version 0.0.1
// @match https://*.github.com/*
// @grant none
// ==/UserScript==
var KEY_CODE_P = 80;
var comment_textareas = document.querySelectorAll('textarea.js-comment-field');
for (var i = 0; i < comment_textareas.length; i++) {
comment_textareas[i].onkeydown = function(e) {
if (e.metaKey && e.altKey && e.keyCode == KEY_CODE_P) {
show_preview_pane(this);
var write_tab = this
.closest('.js-previewable-comment-form')
.querySelector('.js-write-tab');
window.setTimeout(function() {
register_pane_toggle_shortcut(write_tab);
});
}
};
}
function show_preview_pane (node) {
node
.closest('.js-previewable-comment-form')
.querySelector('.js-preview-tab')
.click();
}
function register_pane_toggle_shortcut (write_tab) {
document.body.addEventListener('keydown', toggle_write_pane);
function toggle_write_pane (e) {
if (e.metaKey && e.altKey && e.keyCode == KEY_CODE_P) {
write_tab.click();
document.body.removeEventListener('keydown', toggle_write_pane);
}
}
}
|