aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/index.ts6
-rw-r--r--src/sidebar.ts35
2 files changed, 40 insertions, 1 deletions
diff --git a/src/index.ts b/src/index.ts
index 538d0c4..8ab0071 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -6,4 +6,8 @@
// ==/UserScript==
import './style';
-import './sidebar';
+import sidebar from './sidebar';
+
+window.setTimeout(function() {
+ sidebar();
+}, 3000);
diff --git a/src/sidebar.ts b/src/sidebar.ts
index 4e106e1..05e5d22 100644
--- a/src/sidebar.ts
+++ b/src/sidebar.ts
@@ -1 +1,36 @@
import { SIDEBAR } from './gmail_css_class';
+
+export default function() {
+ var key_codes: { [index: string]: number } = {
+ SLASH: 220,
+ M: 77
+ }
+
+ var key_buffer: number[] = [];
+
+ var sidebar: HTMLElement = document.getElementsByClassName(SIDEBAR)[0] as HTMLElement;
+
+ document.addEventListener('keydown', function(e) {
+ if (e.keyCode === key_codes.SLASH) {
+ key_buffer.push(e.keyCode);
+ }
+ if (e.keyCode === key_codes.M) {
+ key_buffer.push(e.keyCode);
+ }
+ });
+
+ document.addEventListener('keyup', function(e) {
+ if (key_buffer.length >= 2) {
+ if (key_buffer[0] === key_codes.SLASH
+ && key_buffer[1] === key_codes.M) {
+ if (sidebar.offsetParent === null) {
+ sidebar.style.display = 'block';
+ }
+ else {
+ sidebar.style.display = 'none';
+ }
+ }
+ key_buffer = [];
+ }
+ });
+})