| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/emacs/28.2/lisp/ |
Upload File : |
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.
(autoload 'mail-position-on-field "sendmail")
#@130 Symbol representing a stroke lift event for complex strokes.
Complex strokes are those which contain two or more simple strokes.
(defconst strokes-lift :strokes-lift (#$ . 131))
#@51 The header to all XPM buffers created by strokes.
(defconst strokes-xpm-header "/* XPM */\nstatic char * stroke_xpm[] = {\n/* width height ncolors cpp [x_hot y_hot] */\n\"33 33 9 1 26 23\",\n/* colors */\n\" c none s none\",\n\"* c #000000 s foreground\",\n\"R c #FFFF00000000\",\n\"O c #FFFF80000000\",\n\"Y c #FFFFFFFF0000\",\n\"G c #0000FFFF0000\",\n\"B c #00000000FFFF\",\n\"P c #FFFF0000FFFF\",\n\". c #45458B8B0000\",\n/* pixels */\n" (#$ . 315))
(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\302#\210\313\211\2033 \211@\311N\203, \312N\204, \314\312\311N#\210A\266\202\202 \210\315\311\312\316#\210\317\312\320\321\322DD\323\324\325%\210\317\326\320\321\327DD\330\324\331%\210\317\332\320\321\333DD\334\324\335%\210\317\336\320\321\337DD\340\324\335%\210\317\341\320\321\342DD\343\344\345\324\346&\207" [custom-declare-group strokes nil "Control Emacs through mouse strokes." :link (emacs-commentary-link "strokes") :group mouse defvaralias strokes-modeline-string strokes-lighter (saved-value saved-variable-comment) put make-obsolete-variable "24.3" custom-declare-variable funcall function #[0 "\300\207" [" Strokes"] 1 #1=""] "Mode line identifier for Strokes mode." :type string strokes-character #[0 "\300\207" [64] 1 #1#] "Character used when drawing strokes in the strokes buffer.\n(The default is `@', which works well.)" character strokes-minimum-match-score #[0 "\300\207" [1000] 1 #1#] "Minimum score for a stroke to be considered a possible match.\nSetting this variable to 0 would require a perfectly precise match.\nThe default value is 1000, but it's mostly dependent on how precisely\nyou manage to replicate your user-defined strokes. It also depends on\nthe value of `strokes-grid-resolution', since a higher grid resolution\nwill correspond to more sample points, and thus more distance\nmeasurements. Usually, this is not a problem since you first set\n`strokes-grid-resolution' based on what your computer seems to be able\nto handle (though the defaults are usually more than sufficient), and\nthen you can set `strokes-minimum-match-score' to something that works\nfor you. The only purpose of this variable is to insure that if you\ndo a bogus stroke that really doesn't match any of the predefined\nones, then strokes should NOT pick the one that came closest." integer strokes-grid-resolution #[0 "\300\207" [9] 1 #1#] "Integer defining dimensions of the stroke grid.\nThe grid is a square grid, where `strokes-grid-resolution' defaults to\n`9', making a 9x9 grid whose coordinates go from (0 . 0) on the top\nleft to ((strokes-grid-resolution - 1) . (strokes-grid-resolution - 1))\non the bottom right. The greater the resolution, the more intricate\nyour strokes can be.\nNOTE: This variable should be odd and MUST NOT be less than 3 and need\n not be greater than 33, which is the resolution of the pixmaps.\nWARNING: Changing the value of this variable will gravely affect the\n strokes you have already programmed in. You should try to\n figure out what it should be based on your needs and on how\n quick the particular platform(s) you're operating on, and\n only then start programming in your custom strokes." strokes-file #[0 "\300\301\302\"\207" [locate-user-emacs-file "strokes" ".strokes"] 3 #1#] "File containing saved strokes for Strokes mode." :version "24.4" file] 8)
#@56 The name of the buffer that the strokes take place in.
(defvar strokes-buffer-name " *strokes*" (#$ . 3706))
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable strokes-use-strokes-buffer funcall function #[0 "\300\207" [t] 1 ""] "If non-nil, the strokes buffer is used and strokes are displayed.\nIf nil, strokes will be read the same, however the user will not be\nable to see the strokes. This be helpful for people who don't like\nthe delay in switching to the strokes buffer." :type boolean] 6)
#@138 The special window configuration used when entering strokes.
This is set properly in the function `strokes-update-window-configuration'.
(defvar strokes-window-configuration nil (#$ . 4240))
#@161 Last stroke entered by the user.
Its value gets set every time the function `strokes-fill-stroke'
gets called, since that is the best time to set the variable.
(defvar strokes-last-stroke nil (#$ . 4438))
#@288 Association list of strokes and their definitions.
Each entry is (STROKE . COMMAND) where STROKE is itself a list of
coordinates (X . Y) where X and Y are lists of positions on the
normalized stroke grid, with the top left at (0 . 0). COMMAND is
the corresponding interactive function.
(defvar strokes-global-map nil (#$ . 4650))
#@48 Functions to be called when Strokes is loaded.
(defvar strokes-load-hook nil (#$ . 4987))
(make-obsolete-variable 'strokes-load-hook "use `with-eval-after-load' instead." "28.1")
#@49 Non-nil if STROKE is really click.
(fn STROKE)
(defalias 'strokes-click-p #[257 "\211G\300W\207" [2] 3 (#$ . 5172)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put strokes-click-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@17
(fn KEY LIST)
(defalias 'strokes-remassoc #[514 "\300\301\"\211\262\203 \302\"\262\202 \210\207" [nil assoc delete] 6 (#$ . 5437)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put strokes-remassoc speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@84 Add STROKE to STROKE-MAP alist with given command DEF.
(fn STROKE-MAP STROKE DEF)
(defalias 'strokes-define-stroke '(macro . #[771 "\300\301D\302\303\304\211E\305 EEEF\207" [if strokes-click-p (error "That's a click, not a stroke") setq cons strokes-remassoc] 13 (#$ . 5727)]))
#@44 Return the square of the number X.
(fn X)
(defalias 'strokes-square #[257 "\211_\207" [] 3 (#$ . 6022)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put strokes-square speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@119 Compute the distance (squared) between to points P1 and P2.
P1 and P2 are cons cells in the form (X . Y).
(fn P1 P2)
(defalias 'strokes-distance-squared #[514 "@A@AZ\211_\262Z\211_\262\\\207" [] 10 (#$ . 6276)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put strokes-distance-squared speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@14
(fn EVENT)
(defalias 'strokes-mouse-event-p #[257 "\211:\205* \211@9\205* \211@\300=\206* \301@\302N>\206* \303@\302N>\206* \304@\302N>\207" [mouse-movement click event-symbol-elements down drag] 4 (#$ . 6657)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put strokes-mouse-event-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@14
(fn EVENT)
(defalias 'strokes-button-press-event-p #[257 "\211:\205 \211@9\205 \300@\301N>\207" [down event-symbol-elements] 4 (#$ . 7027)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put strokes-button-press-event-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@14
(fn EVENT)
(defalias 'strokes-button-release-event-p #[257 "\211:\205 \211@9\205 \300@\301N>\206 \302@\301N>\207" [click event-symbol-elements drag] 4 (#$ . 7333)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put strokes-button-release-event-p speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@138 Return position of start of line LINE in WINDOW.
If LINE is nil, return the last position visible in WINDOW.
(fn WINDOW &optional LINE)
(defalias 'strokes-event-closest-point-1 #[513 "\300!\301!\203
\302\202 \303Z\206 \211\212\304!b\210\305!U\203) \204) \306u\210`)\207" [window-height window-minibuffer-p 0 1 window-start vertical-motion -1] 6 (#$ . 7668)])
#@208 Return the nearest position to where EVENT ended its motion.
This is computed for the window where EVENT's motion started,
or for window START-WINDOW if that is specified.
(fn EVENT &optional START-WINDOW)
(defalias 'strokes-event-closest-point #[513 "\211\204
\300!\211@\262\262\211\301!\211@\262=\203A \302\301!!\303=\203- \304\305\301!!A\"\207\302\301!!\306=\203; \304!\207\302\301!!\207\301!\211@\262\307\310!A@\311!\203\\ \310!A@\202i \301!\3128\262A\313!\245\262Y\203u \304!\207\314!\207" [event-start event-end posn-point vertical-line strokes-event-closest-point-1 posn-col-row mode-line nil window-edges windowp 2 frame-char-height window-start] 8 (#$ . 8045)])
#@57 Return non-nil if OBJECT is a stroke-lift.
(fn OBJECT)
(defalias 'strokes-lift-p #[257 "\211=\207" [strokes-lift] 3 (#$ . 8749)])
#@34 Undo the last stroke definition.
(defalias 'strokes-unset-last-stroke #[0 "@A\301\302\303\"!\203 A\304\305!\207\304\306!\207" [strokes-global-map y-or-n-p format-message "Really delete last stroke definition, defined to `%s'? " message "That stroke has been deleted" "Nothing done"] 5 (#$ . 8887) nil])
#@377 Interactively give STROKE the global binding as COMMAND.
Works just like `global-set-key', except for strokes. COMMAND is
a symbol naming an interactively-callable function. STROKE is a
list of sampled positions on the stroke grid as described in the
documentation for the `strokes-define-stroke' function.
See also `strokes-global-set-stroke-string'.
(fn STROKE COMMAND)
(defalias 'strokes-global-set-stroke #[514 "\211G\301W\262\203 \302\303!\207B\304\305\"\211\262\203'