]>
Commit | Line | Data |
---|---|---|
1 | ;ELC\1c\0\0\0 | |
2 | ;;; Compiled | |
3 | ;;; in Emacs version 28.2 | |
4 | ;;; with all optimizations. | |
5 | ||
6 | ||
7 | ||
8 | (byte-code "\300\301!\210\302\303\304\305\306\307%\210\310\311\312\313\314DD\315\306\303\316\317&\a\210\310\320\312\313\321DD\322\306\303\323\324&\a\210\310\325\312\313\326DD\327\306\303\323\324&\a\210\310\330\312\313\331DD\332\306\303\323\333&\a\210\310\334\312\313\335DD\336\306\303\323\333&\a\210\310\337\312\313\340DD\341\306\303\323\342\343\344& \210\310\345\312\313\346DD\347\306\303\323\350\343\351& \210\310\352\312\313\353DD\354\306\303\323\333&\a\210\310\355\312\313\356DD\357\306\303\323\360&\a\207" [require time-date custom-declare-group jabber-autoaway nil "Change status to away after idleness." :group jabber custom-declare-variable jabber-autoaway-methods funcall function #[0 "\301\300!\203 \0\bC\207\302\303\304E\207" [jabber-autoaway-method fboundp jabber-current-idle-time jabber-xprintidle-get-idle-time jabber-termatime-get-idle-time] 3 #1=""] "Methods used to keep track of idleness.\nThis is a list of functions that takes no arguments, and returns the\nnumber of seconds since the user was active, or nil on error." :options (jabber-current-idle-time jabber-xprintidle-get-idle-time jabber-termatime-get-idle-time) jabber-autoaway-timeout #[0 "\300\207" [5] 1 #1#] "Minutes of inactivity before changing status to away." :type number jabber-autoaway-xa-timeout #[0 "\300\207" [10] 1 #1#] "Minutes of inactivity before changing status to xa.\nSet to 0 to disable." jabber-autoaway-status #[0 "\300\207" ["Idle"] 1 #1#] "Status string for autoaway." string jabber-autoaway-xa-status #[0 "\300\207" ["Extended away"] 1 #1#] "Status string for autoaway in xa state." jabber-autoaway-priority #[0 "\300\207" [nil] 1 #1#] "Priority for autoaway.\nIf nil, don't change priority. See the manual for more\ninformation about priority." (choice (const :tag "Don't change") (integer :tag "Priority")) :link (info-link "(jabber)Presence") jabber-autoaway-xa-priority #[0 "\300\207" [nil] 1 #1#] "Priority for autoaway in xa state.\nIf nil, don't change priority. See the manual for more\ninformation about priority." (choice (const :tag "Don't change") (integer :tag "Priority")) (info-link "(jabber)Presence") jabber-xprintidle-program #[0 "\300\301!\207" [executable-find "xprintidle"] 2 #1#] "Name of the xprintidle program." jabber-autoaway-verbose #[0 "\300\207" [nil] 1 #1#] "If nil, don't print autoaway status messages." boolean] 10) | |
9 | (defvar jabber-autoaway-timer nil) | |
10 | #@107 Seconds of idle time the last time we checked. | |
11 | This is used to detect whether the user has become unidle.\1f | |
12 | (defvar jabber-autoaway-last-idle-time nil (#$ . 2468)) | |
13 | #@19 | |
14 | ||
15 | (fn &rest ARGS)\1f | |
16 | (defalias 'jabber-autoaway-message #[128 "\b\205\b\0\301\302\ 2\"\207" [jabber-autoaway-verbose apply message] 4 (#$ . 2636)]) | |
17 | #@138 Start autoaway timer. | |
18 | The IGNORED argument is there so you can put this function in | |
19 | `jabber-post-connect-hooks'. | |
20 | ||
21 | (fn &optional IGNORED)\1f | |
22 | (defalias 'jabber-autoaway-start #[256 "\b?\205\10\0\302 \303_\304\300#\10\305\306!\207" [jabber-autoaway-timer jabber-autoaway-timeout run-with-timer 60 nil jabber-autoaway-message "Autoaway timer started"] 5 (#$ . 2783) nil]) | |
23 | #@22 Stop autoaway timer.\1f | |
24 | (defalias 'jabber-autoaway-stop #[0 "\b\205\r\0\301\b!\210\302\10\303\304!\207" [jabber-autoaway-timer jabber-cancel-timer nil jabber-autoaway-message "Autoaway timer stopped"] 2 (#$ . 3148) nil]) | |
25 | #@87 Get idle time in seconds according to `jabber-autoaway-methods'. | |
26 | Return nil on error.\1f | |
27 | (defalias 'jabber-autoaway-get-idle-time #[0 "\301\302\303\b\"\304\"@\207" [jabber-autoaway-methods sort mapcar funcall #[514 "\ 1\205\r\0\211\203\f\0\ 1\ 1W\207\300\207" [t] 4 "\n\n(fn A B)"]] 4 (#$ . 3366)]) | |
28 | (defalias 'jabber-autoaway-timer #[0 "\302\10\303 \211\247\205\1f\0\211\304 _V\203\14\0\305 \207\306\304 _\ 2Z\302\300#\211\10\207" [jabber-autoaway-timer jabber-autoaway-timeout nil jabber-autoaway-get-idle-time 60 jabber-autoaway-set-idle run-with-timer] 5]) | |
29 | #@21 | |
30 | ||
31 | (fn &optional XA)\1f | |
32 | (defalias 'jabber-autoaway-set-idle #[256 "\306\307!\210\b\310\235\204>\0\311\ 1\203\13\0\312\202\14\0\313 \n\230\204 \0 \v\230\203,\0\ 2\203(\0\f\202-\0\v\202-\0 \ 3\2035\0\r\2027\0\ e\10\206<\0\ e\11#\210\314 \16\12\211?\205O\0\315\316\211\317#\211\16\13\207" [*jabber-current-show* *jabber-current-status* jabber-default-status jabber-autoaway-status jabber-autoaway-xa-status jabber-autoaway-priority jabber-autoaway-message "Autoaway triggered" ("xa" "dnd") jabber-send-presence "xa" "away" jabber-autoaway-get-idle-time run-with-timer 10 jabber-autoaway-maybe-unidle jabber-autoaway-xa-priority *jabber-current-priority* jabber-autoaway-last-idle-time jabber-autoaway-timer] 5 (#$ . 3907)]) | |
33 | (defalias 'jabber-autoaway-maybe-unidle #[0 "\306 \307\310\ 2\"\210\b\311\235\205R\0\211 V\203)\0\n\312V\203%\0\211\313\n_V\203%\0\314\315!\210\211\211\11\207\307\316!\210\v\f\230\2049\0\v\r\230\203?\0\317 \210\202M\0\320\ e\14\v\ e\15#\210\307\321\v\f#\210\322 \210\323 \207" [*jabber-current-show* jabber-autoaway-last-idle-time jabber-autoaway-xa-timeout *jabber-current-status* jabber-autoaway-status jabber-autoaway-xa-status jabber-autoaway-get-idle-time jabber-autoaway-message "Idle for %d seconds" ("xa" "away") 0 60 jabber-autoaway-set-idle t "Back to unidle" jabber-send-default-presence jabber-send-presence "%S /= %S - not resetting presence" jabber-autoaway-stop jabber-autoaway-start jabber-default-show jabber-default-priority] 5]) | |
34 | #@47 Get idle time through the xprintidle program.\1f | |
35 | (defalias 'jabber-xprintidle-get-idle-time #[0 "\b\205$\0\301\302\303\"r\211q\210\304\305\ 2\"\216\306\b\307\303#\310U\205!\0\311\312 !\313\245*\262\ 1\207" [jabber-xprintidle-program generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205 \0\302\300!\207" [V0 buffer-name kill-buffer] 2] call-process nil 0 string-to-number buffer-string 1000.0] 5 (#$ . 5311)]) | |
36 | #@103 Get idle time through atime of terminal. | |
37 | The method for finding the terminal only works on GNU/Linux.\1f | |
38 | (defalias 'jabber-termatime-get-idle-time #[0 "\300\301!\203\n\0\301\202\v\0\302\211\205\"\0\303\304\ 2!8\305\306\ 2!!\211\307V\205 \0\211\266\202\207" [file-exists-p "/proc/self/fd/0" nil 4 file-attributes time-to-seconds time-since 0] 5 (#$ . 5726)]) | |
39 | #@92 Get idle time through `current-idle-time'. | |
40 | `current-idle-time' was introduced in Emacs 22.\1f | |
41 | (defalias 'jabber-current-idle-time #[0 "\300\301!\205\15\0\301 \211\204\10\0\302\202\13\0\303\ 1!\262\ 1\207" [fboundp current-idle-time 0 float-time] 3 (#$ . 6078)]) | |
42 | (provide 'jabber-autoaway) |