summaryrefslogtreecommitdiff
path: root/rime-conf.el
diff options
context:
space:
mode:
authorJSDurand <mmemmew@gmail.com>2021-01-13 13:01:34 +0800
committerJSDurand <mmemmew@gmail.com>2021-01-13 13:01:34 +0800
commit3666deaed5b0baf0a74f14db5872105c9e7865f9 (patch)
tree3535c3f57ed9d5b1cd4e3e81831f627840b6e81b /rime-conf.el
parent1700588e1a3cfb5fa45fb64393c68782bc35fc38 (diff)
A temporary intermeidate step
Now I got almost every functionality that we need, including pdf, mu4e, magit, et cetera.
Diffstat (limited to 'rime-conf.el')
-rw-r--r--rime-conf.el50
1 files changed, 50 insertions, 0 deletions
diff --git a/rime-conf.el b/rime-conf.el
new file mode 100644
index 0000000..8bb25fd
--- /dev/null
+++ b/rime-conf.el
@@ -0,0 +1,50 @@
+;;; rime-conf.el --- Configurations of rime -*- lexical-binding: t; -*-
+
+;;; Author: Durand
+;;; Version: 0.0.1
+
+;;; Commentary:
+
+;;; My configurations of rime.
+
+;;; Code:
+
+(use-package "dash.el" 'dash)
+
+(use-package "emacs-rime" 'rime
+ (define-key global-map (vector ?\s-i) #'toggle-input-method)
+ (setq rime-librime-root "~/elisp_packages/librime/dist")
+ (add-to-list 'rime-translate-keybindings "RET")
+ (add-to-list 'rime-translate-keybindings "[")
+ (add-to-list 'rime-translate-keybindings "]")
+ (setq default-input-method "rime"
+ ;; rime-show-candidate 'posframe
+ rime-user-data-dir (expand-file-name "rime" load-file-directory))
+
+;;; HACK: Fix a function
+ (defun durand-rime-send-keybinding-a ()
+ "Fix a weird function."
+ (let* ((parsed (rime--parse-key-event last-input-event))
+ (key-raw (car parsed))
+ (key (if (numberp key-raw)
+ key-raw
+ (pcase key-raw
+ ('home 65360)
+ ('left 65361)
+ ('up 65362)
+ ('right 65363)
+ ('down 65364)
+ ('prior 65365)
+ ('next 65366)
+ ('delete 65535)
+ (_ key-raw))))
+ (mask (cdr parsed)))
+ (unless (numberp key)
+ (error "Can't send this keybinding to librime"))
+ (rime-lib-process-key key mask)
+ (rime--redisplay)
+ (rime--refresh-mode-state)))
+ (advice-add 'rime-send-keybinding :override #'durand-rime-send-keybinding-a))
+
+(provide 'rime-conf)
+;; rime-conf.el ends here