;ELC ;;; Compiled ;;; in Emacs version 26.3 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303\304\305#\210\306\307\304\310\311\312%\210\313\314\315\316\317DD\320\321\322%\207" [require cl-lib pyim-common posframe nil t custom-declare-group pyim-indicator "Indicator for pyim." :group pyim custom-declare-variable pyim-indicator-list funcall function #[0 "\300\301D\207" [pyim-indicator-with-cursor-color pyim-indicator-with-modeline] 2] "PYIM 当前使用的 indicators.\nIndicator 用于显示输入法当前输入状态(英文还是中文)。" :type (choice (const :tag "Off" nil) (repeat :tag "Indicator functions" function))] 6) #@216 `pyim-indicator-default' 使用的 cursor 颜色。 这个变量的取值是一个list: (中文输入时的颜色 英文输入时的颜色), 如 果英文输入时的颜色为 nil, 则使用默认 cursor 颜色。 (defvar pyim-indicator-cursor-color (list "orange") (#$ . 999)) #@173 `pyim-indicator-default' 使用的 modeline 字符串。 这个变量的取值是一个list: (中文输入时显示的字符串 英文输入时显示的字符串)。 (defvar pyim-indicator-modeline-string (list "PYIM/C " "PYIM/E ") (#$ . 1285)) #@34 记录 cursor 的原始颜色。 (defvar pyim-indicator-original-cursor-color nil (#$ . 1542)) #@42 `pyim-indicator-daemon' 使用的 timer. (defvar pyim-indicator-timer nil (#$ . 1643)) (defvar pyim-indicator-timer-repeat 0.4) #@59 记录上一次 `current-input-method-title' 的取值。 (defvar pyim-indicator-last-input-method-title nil (#$ . 1777)) #@79 Indicator daemon, 用于实时显示输入法当前输入状态。 (fn FUNC) (defalias 'pyim-indicator-start-daemon #[257 "\204 \303\304\305\"\306 !?\205\307\304\n\310$\211\207" [pyim-indicator-original-cursor-color pyim-indicator-timer pyim-indicator-timer-repeat frame-parameter nil cursor-color timerp run-with-timer pyim-indicator-daemon-function] 6 (#$ . 1905)]) #@24 Stop indicator daemon. (defalias 'pyim-indicator-stop-daemon #[0 "\301!\203\f\302!\210\303\304 \207" [pyim-indicator-timer timerp cancel-timer nil pyim-indicator-revert-cursor-color] 2 (#$ . 2287) nil]) #@61 `pyim-indicator-daemon' 内部使用的函数。 (fn FUNC) (defalias 'pyim-indicator-daemon-function #[257 "\3021+\303!\205\f\211 \211\205%\211@\303!\203\211 \"\210A\266\202\202 \262\2620\207\210\304\207" [pyim-indicator-list current-input-method (error) functionp nil] 7 (#$ . 2500)]) #@58 将 cursor 颜色重置到 pyim 启动之前的状态。 (defalias 'pyim-indicator-revert-cursor-color #[0 "\205\301!\207" [pyim-indicator-original-cursor-color set-cursor-color] 2 (#$ . 2806)]) #@19 更新 mode-line. (defalias 'pyim-indicator-update-mode-line #[0 " =?\205 \302 \210 \211\207" [pyim-indicator-last-input-method-title current-input-method-title force-mode-line-update] 2 (#$ . 3011)]) #@105 Pyim 自带的 indicator, 通过光标颜色来显示输入状态。 (fn INPUT-METHOD CHINESE-INPUT-P) (defalias 'pyim-indicator-with-cursor-color #[514 "\302\232\204\n\303!\207\211\203\303 @!\207\303 A@\206 \304\305\306D\"!\207" [pyim-indicator-original-cursor-color pyim-indicator-cursor-color "pyim" set-cursor-color pyim-indicator-select-color "black" "white"] 6 (#$ . 3222)]) #@203 根据背景,选择一个比较显眼的颜色。 如果 PREFER-COLOR 和背景颜色差异比较大,就使用 PREFER-COLOR. 否则从 COLORS 中选择一个。 (fn COLORS &optional PREFER-COLOR) (defalias 'pyim-indicator-select-color #[513 "\300\301\302\"\203\303\"\303\304\305\"\306\245V\203\202+\307\310\311\312\313\314!\315\"\316\317%\"@\207" [frame-parameter nil background-color color-distance "black" "white" 2 sort make-byte-code 514 "\301\300\"\301\300\"V\207" vconcat vector [color-distance] 6 "\n\n(fn A B)"] 11 (#$ . 3618)]) #@104 Pyim 自带的 indicator, 使用 mode-line 来显示输入状态。 (fn INPUT-METHOD CHINESE-INPUT-P) (defalias 'pyim-indicator-with-modeline #[514 "\302\232\203\211\203@\202A@\303 \207" [pyim-indicator-modeline-string current-input-method-title "pyim" pyim-indicator-update-mode-line] 4 (#$ . 4182)]) #@103 Pyim 自带的 indicator, 通过 posframe 来显示输入状态。 (fn INPUT-METHOD CHINESE-INPUT-P) (defalias 'pyim-indicator-with-posframe #[514 "\301 \2053\302\303\304\232\204\305!\2020\203-\306\307\310\311\312\313\314\315\316\317\320\321\322F!& \2020\323!)\262\207" [posframe-mouse-banish posframe-workable-p " *pyim-indicator*" nil "pyim" posframe-delete posframe-show :string ".." :font "Monospace-2" :poshandler posframe-poshandler-point-top-left-corner :background-color pyim-indicator-select-color "red" "green" "blue" "orange" posframe-hide] 17 (#$ . 4503)]) (provide 'pyim-indicator)