;ELC
|
;;; Compiled
|
;;; in Emacs version 26.1
|
;;; 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" #$))
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
(defconst +nyan-directory+ (byte-code "\302\206 !\207" [load-file-name buffer-file-name file-name-directory] 2))
|
(defconst +nyan-cat-size+ 3)
|
(defconst +nyan-cat-image+ (concat +nyan-directory+ "img/nyan.xpm"))
|
(defconst +nyan-rainbow-image+ (concat +nyan-directory+ "img/rainbow.xpm"))
|
(defconst +nyan-outerspace-image+ (concat +nyan-directory+ "img/outerspace.xpm"))
|
(defconst +nyan-music+ (concat +nyan-directory+ "mus/nyanlooped.mp3"))
|
(defconst +nyan-modeline-help-string+ "Nyanyanya!\nmouse-1: Scroll buffer position")
|
(defvar nyan-old-car-mode-line-position nil)
|
(custom-declare-group 'nyan nil "Customization group for `nyan-mode'." :group 'frames)
|
#@41 Refresh after option changes if loaded.
|
(defalias 'nyan-refresh #[nil "\301\300!\205 \302\300!\205 \205 \300\303!\210\300\304!\207" [nyan-mode featurep boundp -1 1] 2 (#$ . 1068)])
|
#@45 Number of seconds between animation frames.
|
(custom-declare-variable 'nyan-animation-frame-interval 0.2 '(#$ . 1259) :type 'float :set #[(sym val) "\302 \"\210\303 \207" [sym val set-default nyan-refresh] 3] :group 'nyan)
|
(defvar nyan-animation-timer nil)
|
(defalias 'nyan-start-animation #[nil "\205 ?\205 \303\304\n\305#\306\211\207" [nyan-animate-nyancat nyan-animation-timer nyan-animation-frame-interval run-at-time "1 sec" nyan-swich-anim-frame t] 4 nil nil])
|
(defalias 'nyan-stop-animation #[nil "\205 \205 \302 !\210\303\211\211\207" [nyan-animate-nyancat nyan-animation-timer cancel-timer nil] 3 nil nil])
|
(defvar nyan-music-process nil)
|
(defalias 'nyan-start-music #[nil "?\205 \302\303\211\304 \305Q#\211\207" [nyan-music-process +nyan-music+ start-process-shell-command "nyan-music" "mplayer " " -loop 0"] 6 nil nil])
|
(defalias 'nyan-stop-music #[nil "\205 \301!\210\302\211\207" [nyan-music-process delete-process nil] 2 nil nil])
|
(byte-code "\300\301\302\303\304\305\306\307\310\311& \210\300\312\313\314\304\315\306\316\310\311& \210\300\317\320\321\304\305\306\322\310\311& \210\300\323\313\324\304\325\306\326\310\311& \210\300\327\330\331\304\305\310\311&\207" [custom-declare-variable nyan-minimum-window-width 64 "Determines the minimum width of the window, below which nyan-mode will not be displayed.\nThis is important because nyan-mode will push out all informations from small windows." :type integer :set #[(sym val) "\302 \"\210\303 \207" [sym val set-default nyan-refresh] 3] :group nyan nyan-wavy-trail nil "If enabled, Nyan Cat's rainbow trail will be wavy." (choice (const :tag "Enabled" t) (const :tag "Disabled" nil)) #[(sym val) "\302 \"\210\303 \207" [sym val set-default nyan-refresh] 3] nyan-bar-length 32 "Length of Nyan Cat bar in units; each unit is equal to an 8px\n image. Minimum of 3 units are required for Nyan Cat." #[(sym val) "\302 \"\210\303 \207" [sym val set-default nyan-refresh] 3] nyan-animate-nyancat "Enable animation for Nyan Cat.\nThis can be t or nil." (choice (const :tag "Enabled" t) (const :tag "Disabled" nil)) #[(sym val) "\302 \"\210 \203 \303 \210\202 \304 \210\305 \207" [sym val set-default nyan-start-animation nyan-stop-animation nyan-refresh] 3] nyan-cat-face-number 1 "Select cat face number for console."] 10)
|
(defvar nyan-cat-image (byte-code "\301\302!\205 \303\302\304\305\306%\207" [+nyan-cat-image+ image-type-available-p xpm create-image nil :ascent center] 6))
|
(defvar nyan-animation-frames (byte-code "\300\301!\205\n \302\303\304\"\207" [image-type-available-p xpm mapcar #[(id) "\302\303\304 \"P\305\306\307\310%\207" [+nyan-directory+ id create-image format "img/nyan-frame-%d.xpm" xpm nil :ascent 95] 6] (1 2 3 4 5 6)] 3))
|
(defvar nyan-current-frame 0)
|
(defconst +nyan-catface+ [["[]*" "[]#"] ["(*^ー゚)" "( ^ー^)" "(^ー^ )" "(゚ー^*)"] ["(´ω`三 )" "( ´ω三` )" "( ´三ω` )" "( 三´ω`)" "( 三´ω`)" "( ´三ω` )" "( ´ω三` )" "(´ω`三 )"] ["(´д`;)" "( ´д`;)" "( ;´д`)" "(;´д` )"] ["(」・ω・)」" "(/・ω・)/" "(」・ω・)」" "(/・ω・)/" "(」・ω・)」" "(/・ω・)/" "(」・ω・)」" "\(・ω・)/"] ["(>ワ<三 )" "( >ワ三< )" "( >三ワ< )" "( 三>ワ<)" "( >三ワ< )" "( >ワ三< )"]])
|
#@69 Toggle the trail to look more like the original Nyan Cat animation.
|
(defalias 'nyan-toggle-wavy-trail #[nil "?\211\207" [nyan-wavy-trail] 2 (#$ . 4622) nil])
|
(defalias 'nyan-swich-anim-frame #[nil "T\301\246\302 \207" [nyan-current-frame 6 redraw-modeline] 2])
|
(defalias 'nyan-get-anim-frame #[nil "\203 \n8\207\207" [nyan-animate-nyancat nyan-current-frame nyan-animation-frames nyan-cat-image] 2])
|
(defalias 'nyan-wavy-rainbow-ascent #[(number) "\203 \303\304\305\306 \n\\\307\246Z!\306_\\^\207 \310\246\311U\203 \312\207\313\207" [nyan-animate-nyancat number nyan-current-frame 100 90 abs 3 6 2 0 80 center] 6])
|
(defalias 'nyan-number-of-rainbows #[nil "\302\211\303`!\303e!Z\303d!\245\304_! Z_\304\245!\207" [nyan-bar-length +nyan-cat-size+ round float 100] 5])
|
(defalias 'nyan-catface #[nil " H\207" [+nyan-catface+ nyan-cat-face-number] 2])
|
(defalias 'nyan-catface-index #[nil "\300\211\301`!\301e!Z\301d!\245\302_!\303 G_\302\245!\303 GS^\207" [round float 100 nyan-catface] 5])
|
(defalias 'nyan-scroll-buffer #[(percentage buffer) "rq\210\302 d_!b)\207" [buffer percentage floor] 3 nil nil])
|
(defalias 'nyan-add-scroll-handler #[(string percentage buffer) "\306\307!\306\310!\211\211L\210)\211 L\210)\311\312\211\313\312\314\315\316\317\320\321\322D\323D\323 D\324\257FBED#*\207" [#1=#:--cl-buffer-- #2=#:--cl-percentage-- #3=#:v percentage #4=#:v buffer make-symbol "--percentage--" "--buffer--" propertize keymap mode-line down-mouse-1 lambda (&rest --cl-rest--) (interactive) apply function #[(#5=#:G2 #6=#:G3) "\302J J\"\207" [#6# #5# nyan-scroll-buffer] 3] quote --cl-rest-- string] 16])
|
(defalias 'nyan-create #[nil "\306 W\203 |