....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 66.235.200.170  /  Your IP : 3.135.64.200
Web Server : Apache
System : Linux gator4410.hostgator.com 5.14.0-162.23.1.9991722448259.nf.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 31 18:11:45 UTC 2024 x86_64
User : bmgxafte ( 1214)
PHP Version : 8.2.28
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/emacs/27.2/lisp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/27.2/lisp/type-break.elc
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317\306\301&\210\310\320\312\313\321DD\322\323\324\316\317\306\301&	\210\310\325\312\313\326DD\327\316\330\306\301&\210\310\331\312\313\332DD\333\323\334\316\335\306\301&	\210\310\336\312\313\337DD\340\316\341\306\301&\210\310\342\312\313\343DD\344\316\317\306\301&\210\310\345\312\313\346DD\347\316\350\306\301&\210\310\351\312\313\352DD\353\316\354\306\301&\210\310\355\312\313\356DD\357\316\317\306\301&\210\310\360\312\313\361DD\362\316\363\306\301&\210\310\364\312\313\365DD\366\316\367\306\301&\210\310\370\312\313\371DD\372\316\373\306\301&\210\310\374\312\313\375DD\376\316\373\306\301&\210\310\377\312\313\201@DD\201A\201B\201C\316\201D&\207" [custom-declare-group type-break nil "Encourage the user to take a rest from typing at suitable intervals." :prefix "type-break" :group keyboard custom-declare-variable type-break-interval funcall function #[0 "\300\207" [3600] 1] "Number of seconds between scheduled typing breaks." :type integer type-break-good-rest-interval #[0 "\301\245\207" [type-break-interval 6] 2] "Number of seconds of idle time considered to be an adequate typing rest.\n\nWhen this variable is non-nil, Emacs checks the idle time between\nkeystrokes.  If this idle time is long enough to be considered a \"good\"\nrest from typing, then the next typing break is simply rescheduled for later.\n\nIf a break is interrupted before this much time elapses, the user will be\nasked whether or not really to interrupt the break." :set-after (type-break-interval) type-break-good-break-interval #[0 "\300\207" [nil] 1] "Number of seconds considered to be an adequate explicit typing rest.\n\nWhen this variable is non-nil, its value is considered to be a \"good\"\nlength (in seconds) for a break initiated by the command `type-break',\noverriding `type-break-good-rest-interval'.  This provides querying of\nbreak interruptions when `type-break-good-rest-interval' is nil." (choice (const nil) integer) type-break-keystroke-threshold #[0 "\301\302\303\304\245#\211\302\245\211B\207" [type-break-interval 35 5 * 60] 7] "Upper and lower bound on number of keystrokes for considering typing break.\nThis structure is a pair of numbers (MIN . MAX).\n\nThe first number is the minimum number of keystrokes that must have been\nentered since the last typing break before considering another one, even if\nthe scheduled time has elapsed; the break is simply rescheduled until later\nif the minimum threshold hasn't been reached.  If this first value is nil,\nthen there is no minimum threshold; as soon as the scheduled time has\nelapsed, the user will always be queried.\n\nThe second number is the maximum number of keystrokes that can be entered\nbefore a typing break is requested immediately, pre-empting the originally\nscheduled break.  If this second value is nil, then no pre-emptive breaks\nwill occur; only scheduled ones will.\n\nKeys with bucky bits (shift, control, meta, etc) are counted as only one\nkeystroke even though they really require multiple keys to generate them.\n\nThe command `type-break-guesstimate-keystroke-threshold' can be used to\nguess a reasonably good pair of values for this variable." (type-break-interval) (cons (choice integer (const nil)) (choice integer (const nil))) type-break-query-function #[0 "\300\207" [yes-or-no-p] 1] "Function to use for making query for a typing break.\nIt should take a string as an argument, the prompt.\nUsually this should be set to `yes-or-no-p' or `y-or-n-p'.\n\nTo avoid being queried at all, set `type-break-query-mode' to nil." (radio function (function-item yes-or-no-p) (function-item y-or-n-p)) type-break-query-interval #[0 "\300\207" [60] 1] "Number of seconds between queries to take a break, if put off.\nThe user will continue to be prompted at this interval until he or she\nfinally submits to taking a typing break." type-break-time-warning-intervals #[0 "\300\207" [(300 120 60 30)] 1] "List of time intervals for warnings about upcoming typing break.\nAt each of the intervals (specified in seconds) away from a scheduled\ntyping break, print a warning in the echo area." (repeat integer) type-break-keystroke-warning-intervals #[0 "\300\207" [(300 200 100 50)] 1] "List of keystroke measurements for warnings about upcoming typing break.\nAt each of the intervals (specified in keystrokes) away from the upper\nkeystroke threshold, print a warning in the echo area.\nIf either this variable or the upper threshold is set, then no warnings\nwill occur." (repeat integer) type-break-warning-repeat #[0 "\300\207" [40] 1] "Number of keystrokes for which warnings should be repeated.\nThat is, for each of this many keystrokes the warning is redisplayed\nin the echo area to make sure it's really seen." type-break-time-stamp-format #[0 "\300\207" [#1="[%H:%M] "] 1 #1#] "Timestamp format used to prefix messages.\nFormat specifiers are as used by `format-time-string'." string type-break-demo-functions #[0 "\300\207" [(type-break-demo-boring type-break-demo-life type-break-demo-hanoi)] 1] "List of functions to consider running as demos during typing breaks.\nWhen a typing break begins, one of these functions is selected randomly\nto have Emacs do something interesting.\n\nAny function in this list should start a demo which ceases as soon as a\nkey is pressed." (repeat function) type-break-demo-boring-stats #[0 "\300\207" [nil] 1] "Show word per minute and keystroke figures in the Boring demo." boolean type-break-terse-messages #[0 "\300\207" [nil] 1] "Use slightly terser messages." type-break-file-name #[0 "\300\301\302\"\207" [locate-user-emacs-file "type-break" ".type-break"] 3] "Name of file used to save state across sessions.\nIf this is nil, no data will be saved across sessions." :version "24.4" file] 10)
#@466 Hook run indirectly by `post-command-hook' for typing break functions.
This is not really intended to be set by the user, but it's probably
harmless to do so.  Mainly it is used by various parts of the typing break
program to delay actions until after the user has completed some command.
It exists because `post-command-hook' itself is inaccessible while its
functions are being run, and some type-break--related functions want to
remove themselves after running.
(defvar type-break-post-command-hook '(type-break-check) (#$ . 6247))
#@63 Format of messages in the mode line concerning typing breaks.
(defvar type-break-mode-line-format '(type-break-mode-line-message-mode ("" type-break-mode-line-break-message type-break-mode-line-warning)) (#$ . 6788))
(defvar type-break-mode-line-break-message '(type-break-mode-line-break-message-p type-break-mode-line-break-string))
(defvar type-break-mode-line-break-message-p nil)
(defvar type-break-mode-line-break-string " *** TAKE A TYPING BREAK NOW ***")
(defvar type-break-mode-line-warning '(type-break-mode-line-break-message-p ("") (type-break-warning-countdown-string (" *** " "Break in " type-break-warning-countdown-string " " type-break-warning-countdown-string-type "***"))))
#@285 If non-nil, this is a countdown for the next typing break.

This variable, in conjunction with `type-break-warning-countdown-string-type'
(which indicates whether this value is a number of keystrokes or seconds)
is installed in `mode-line-format' to notify of imminent typing breaks.
(defvar type-break-warning-countdown-string nil (#$ . 7488))
#@112 Indicates the unit type of `type-break-warning-countdown-string'.
It will be either "seconds" or "keystrokes".
(defvar type-break-warning-countdown-string-type nil (#$ . 7840))
(defvar type-break-alarm-p nil)
(defvar type-break-keystroke-count 0)
(defvar type-break-time-last-break nil)
(defvar type-break-time-next-break nil)
(defvar type-break-time-last-command (current-time))
(defvar type-break-current-time-warning-interval nil)
(defvar type-break-current-keystroke-warning-interval nil)
(defvar type-break-time-warning-count 0)
(defvar type-break-keystroke-warning-count 0)
(defvar type-break-interval-start nil)
(byte-code "\300\301\302\303\304DD\305\306\307\310\311\312\313\314\315&\207" [custom-declare-variable type-break-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Type-Break mode is enabled.\nSee the `type-break-mode' command\nfor a description of this minor mode.\nSetting this variable directly does not take effect;\neither customize it (see the info node `Easy Customization')\nor call the function `type-break-mode'." :set custom-set-minor-mode :initialize custom-initialize-default :group type-break :type boolean] 12)
#@3689 Enable or disable typing-break mode.
This is a minor mode, but it is global to all buffers by default.

If called interactively, enable Type-Break mode if ARG is positive,
and disable it if ARG is zero or negative.  If called from Lisp, also
enable the mode if ARG is omitted or nil, and toggle it if ARG is
`toggle'; disable the mode otherwise.

When this mode is enabled, the user is encouraged to take typing breaks at
appropriate intervals; either after a specified amount of time or when the
user has exceeded a keystroke threshold.  When the time arrives, the user
is asked to take a break.  If the user refuses at that time, Emacs will ask
again in a short period of time.  The idea is to give the user enough time
to find a good breaking point in his or her work, but be sufficiently
annoying to discourage putting typing breaks off indefinitely.

The user may enable or disable this mode by setting the variable of the
same name, though setting it in that way doesn't reschedule a break or
reset the keystroke counter.

If the mode was previously disabled and is enabled as a consequence of
calling this function, it schedules a break with `type-break-schedule' to
make sure one occurs (the user can call that command to reschedule the
break at any time).  It also initializes the keystroke counter.

The variable `type-break-interval' specifies the number of seconds to
schedule between regular typing breaks.  This variable doesn't directly
affect the time schedule; it simply provides a default for the
`type-break-schedule' command.

If set, the variable `type-break-good-rest-interval' specifies the minimum
amount of time which is considered a reasonable typing break.  Whenever
that time has elapsed, typing breaks are automatically rescheduled for
later even if Emacs didn't prompt you to take one first.  Also, if a break
is ended before this much time has elapsed, the user will be asked whether
or not to continue.  A nil value for this variable prevents automatic
break rescheduling, making `type-break-interval' an upper bound on the time
between breaks.  In this case breaks will be prompted for as usual before
the upper bound if the keystroke threshold is reached.

If `type-break-good-rest-interval' is nil and
`type-break-good-break-interval' is set, then confirmation is required to
interrupt a break before `type-break-good-break-interval' seconds
have passed.  This provides for an upper bound on the time between breaks
together with confirmation of interruptions to these breaks.

The variable `type-break-keystroke-threshold' is used to determine the
thresholds at which typing breaks should be considered.  You can use
the command `type-break-guesstimate-keystroke-threshold' to try to
approximate good values for this.

There are several variables that affect how or when warning messages about
imminent typing breaks are displayed.  They include:

        `type-break-mode-line-message-mode'
        `type-break-time-warning-intervals'
        `type-break-keystroke-warning-intervals'
        `type-break-warning-repeat'
        `type-break-warning-countdown-string'
        `type-break-warning-countdown-string-type'

There are several variables that affect if, how, and when queries to begin
a typing break occur.  They include:

        `type-break-query-mode'
        `type-break-query-function'
        `type-break-query-interval'

The command `type-break-statistics' prints interesting things.

Finally, a file (named `type-break-file-name') is used to store information
across Emacs sessions.  This provides recovery of the break status between
sessions and after a crash.  Manual changes to the file may result in
problems.

(fn &optional ARG)
(defalias 'type-break-mode #[256 "\306 \307\300\310=\203\311\300!?\202\312!\313V\"\210\314 \210\203z	\203-r\315	\316\"q\210\317)\2043\320\321 \210\322\323!\210\324 \206A\325 \326\323\f\203f\327\f\323\"\211\262
W\203f\330 ,\331-!\210\f-
Z\202p\325 -\331-!\210
\262-
#\210\202\235\321 \210\322\323!\210\332 \210\333 \210	\203\235r\315	\316\"q\210\334\323!\210\335 \210\336 \210)\337\340\311\300!\203\251\341\202\252\342\"\210\343\344!\203\324\345\300!\210\306 \203\302\211\306 \232\203\324\346\347\350\311\300!\203\317\351\202\320\352#\266\210\353 \210\311\300!\207" [type-break-mode type-break-file-name buffer-save-without-query global-mode-string type-break-time-last-break type-break-interval current-message set-default toggle default-value prefix-numeric-value 0 type-break-check-post-command-hook find-file-noselect nowarn t (#1="") type-break-keystroke-reset type-break-mode-line-countdown-or-break nil type-break-get-previous-time current-time type-break-schedule type-break-time-difference type-break-get-previous-count type-break-file-time type-break-cancel-schedule do-auto-save set-buffer-modified-p unlock-buffer kill-current-buffer run-hooks type-break-mode-hook type-break-mode-on-hook type-break-mode-off-hook called-interactively-p any customize-mark-as-set #1# message "Type-Break mode %sabled%s" "en" "dis" force-mode-line-update type-break-keystroke-count type-break-interval-start] 7 (#$ . 9001) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar type-break-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\311\211%\210\312\313\314\315\316DD\317\320\321\322\323\324\325\326\327&\207" [type-break-mode-map type-break-mode-hook variable-documentation put "Hook run after entering or leaving `type-break-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode type-break-mode type-break-mode-line-format boundp nil custom-declare-variable type-break-mode-line-message-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Type-Break-Mode-Line-Message mode is enabled.\nSee the `type-break-mode-line-message-mode' command\nfor a description of this minor mode." :set custom-set-minor-mode :initialize custom-initialize-default :group type-break :type boolean] 12)
#@646 Toggle warnings about typing breaks in the mode line.

If called interactively, enable Type-Break-Mode-Line-Message mode if
ARG is positive, and disable it if ARG is zero or negative.  If called
from Lisp, also enable the mode if ARG is omitted or nil, and toggle
it if ARG is `toggle'; disable the mode otherwise.

The user may also enable or disable this mode simply by setting
the variable of the same name.

Variables controlling the display of messages in the mode line include:

        `mode-line-format'
        `global-mode-string'
        `type-break-mode-line-break-message'
        `type-break-mode-line-warning'

(fn &optional ARG)
(defalias 'type-break-mode-line-message-mode #[256 "\300 \301\302\303=\203\304\302!?\202\305!\306V\"\210\307\310\304\302!\203$\311\202%\312\"\210\313\314!\203O\315\302!\210\300 \203=\211\300 \232\203O\316\317\320\304\302!\203J\321\202K\322#\266\210\323 \210\304\302!\207" [current-message set-default type-break-mode-line-message-mode toggle default-value prefix-numeric-value 0 run-hooks type-break-mode-line-message-mode-hook type-break-mode-line-message-mode-on-hook type-break-mode-line-message-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Type-Break-Mode-Line-Message mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 15077) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar type-break-mode-line-message-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\210\311\312\313\314\315DD\316\317\320\321\322\323\324\325\326&\207" [type-break-mode-line-message-mode-map type-break-mode-line-message-mode-hook variable-documentation put "Hook run after entering or leaving `type-break-mode-line-message-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode type-break-mode-line-message-mode nil boundp custom-declare-variable type-break-query-mode funcall function #[0 "\300\207" [nil] 1] "Non-nil if Type-Break-Query mode is enabled.\nSee the `type-break-query-mode' command\nfor a description of this minor mode." :set custom-set-minor-mode :initialize custom-initialize-default :group type-break :type boolean] 12)
#@395 Toggle typing break queries.

If called interactively, enable Type-Break-Query mode if ARG is
positive, and disable it if ARG is zero or negative.  If called from
Lisp, also enable the mode if ARG is omitted or nil, and toggle it if
ARG is `toggle'; disable the mode otherwise.

The user may also enable or disable this mode simply by setting
the variable of the same name.

(fn &optional ARG)
(defalias 'type-break-query-mode #[256 "\300 \301\302\303=\203\304\302!?\202\305!\306V\"\210\307\310\304\302!\203$\311\202%\312\"\210\313\314!\203O\315\302!\210\300 \203=\211\300 \232\203O\316\317\320\304\302!\203J\321\202K\322#\266\210\323 \210\304\302!\207" [current-message set-default type-break-query-mode toggle default-value prefix-numeric-value 0 run-hooks type-break-query-mode-hook type-break-query-mode-on-hook type-break-query-mode-off-hook called-interactively-p any customize-mark-as-set "" message "Type-Break-Query mode %sabled%s" "en" "dis" force-mode-line-update] 7 (#$ . 17366) (byte-code "\206\301C\207" [current-prefix-arg toggle] 1)])
(defvar type-break-query-mode-hook nil)
(byte-code "\301\302N\204\f\303\301\302\304#\210\305\306\307\310\300!\205\307\211%\207" [type-break-query-mode-map type-break-query-mode-hook variable-documentation put "Hook run after entering or leaving `type-break-query-mode'.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" add-minor-mode type-break-query-mode nil boundp] 6)
#@43 Auto-save name of `type-break-file-name'.
(defvar type-break-auto-save-file-name (byte-code "\302 )\207" [type-break-file-name buffer-file-name make-auto-save-file-name] 1) (#$ . 18895))
#@92 File break time in `type-break-file-name', unless the file is locked.

(fn &optional TIME)
(defalias 'type-break-file-time #[256 "\205\"\303!;?\205\"r\304\305\"q\210\306\307 \210\310\311\206\n\"c*\207" [type-break-file-name inhibit-read-only type-break-interval-start file-locked-p find-file-noselect nowarn t erase-buffer format "%s\n\n"] 4 (#$ . 19090)])
#@76 File keystroke count in `type-break-file-name', unless the file is locked.
(defalias 'type-break-file-keystroke-count #[0 "\205)\304!;?\205)\305r\306\307\"q\210\212\310eb\210\305y\210`\311 |\210\312\313\"c,\207" [type-break-file-name deactivate-mark inhibit-read-only type-break-keystroke-count file-locked-p nil find-file-noselect nowarn t line-end-position format "%s"] 3 (#$ . 19462)])
#@76 If TIME is a Lisp time value then return TIME, else return nil.

(fn TIME)
(defalias 'timep #[257 "\3001
\301!\205\2110\207\210\302\207" [(error) float-time nil] 3 (#$ . 19865)])
#@27 Return file to read from.
(defalias 'type-break-choose-file #[0 "\204\302\207\303	!\203\304	!\203	\207\303!\203\"\304!\203\"\207\302\207" [type-break-file-name type-break-auto-save-file-name nil file-exists-p file-readable-p] 2 (#$ . 20054)])
#@129 Get previous break time from `type-break-file-name'.
Return nil if the file is missing or if the time is not a Lisp time value.
(defalias 'type-break-get-previous-time #[0 "\300 \211\205%\301r\302\303\"q\210\3041\212eb\210\305p!)0\202#\210\306\307\")!\207" [type-break-choose-file timep find-file-noselect nowarn (end-of-file) read error "End of file in `%s'"] 5 (#$ . 20316)])
#@130 Get previous keystroke count from `type-break-file-name'.
Return 0 if the file is missing or if the form read is not an
integer.
(defalias 'type-break-get-previous-count #[0 "\300 \211\2031r\301\302\"q\210\3031 \212eb\210\304y\210\305p!)0\202%\210\306\307\")\211\262\250\2031\211\2022\310\207" [type-break-choose-file find-file-noselect nowarn (end-of-file) 1 read error "End of file in `%s'" 0] 4 (#$ . 20707)])
#@230 Take a typing break.

During the break, a demo selected from the functions listed in
`type-break-demo-functions' is run.

After the typing break is finished, the next break is scheduled
as per the function `type-break-schedule'.
(defalias 'type-break #[0 "\306 \210\307 \210\310\311\312\"\210\313\314 \211\203\231\315 \316\317\320\321\322!\323\"\324$\216\325 \326 =\203.\327\330!\210\331 \210\332\333 !\210	\204>\334\335!\210\nG\336!\211\n8\3371P\211 0\202T\210\202U\210\266)\210\206^\f\211\203\222\340\341\"\211Y\203r\341\262\202\216
\342	\203|\343\202}\344\345 \346Z!#!\204\216\341\262\210\202\225\341\262\210\202\266\347 \210\350 \210\351\341!\210\352 \207" [type-break-time-last-break type-break-terse-messages type-break-demo-functions type-break-good-rest-interval type-break-good-break-interval type-break-query-function do-auto-save type-break-cancel-schedule remove-hook type-break-post-command-hook type-break-do-query t current-time current-window-configuration make-byte-code 0 "\301\300!\207" vconcat vector [set-window-configuration] 2 selected-window minibuffer-window other-window 1 delete-other-windows scroll-right window-width message "Press any key to resume from typing break." random (error) type-break-time-difference nil format "%s%s remaining.  Continue break? " "%sYou really ought to rest %s more.  Continue break? " type-break-time-stamp type-break-format-time type-break-keystroke-reset type-break-file-time type-break-mode-line-countdown-or-break type-break-schedule] 11 (#$ . 21135) nil])
#@318 Schedule a typing break for TIME seconds from now.
If time is not specified it defaults to `type-break-interval'.
START and INTERVAL are used when recovering a break.
START is the start of the break (defaults to now).
INTERVAL is the full length of an interval (defaults to TIME).

(fn &optional TIME START INTERVAL)
(defalias 'type-break-schedule #[768 "\204\262\302 \210\303 \210\304\305\"\210\306\307]\310\311#\210\312\206!\"\211\207" [type-break-interval type-break-time-next-break type-break-check-post-command-hook type-break-cancel-schedule type-break-time-warning-schedule reset type-break-run-at-time 1 nil type-break-alarm type-break-time-sum] 7 (#$ . 22694) (byte-code "\205\301!C\207" [current-prefix-arg prefix-numeric-value] 2)])
(defalias 'type-break-cancel-schedule #[0 "\302 \210\303\304!\210\305\211\211\207" [type-break-alarm-p type-break-time-next-break type-break-cancel-time-warning-schedule type-break-cancel-function-timers type-break-alarm nil] 3])
#@30 

(fn &optional TIME RESETP)
(defalias 'type-break-time-warning-schedule #[512 "\305\306 \210)\307\310\311\312#\210	\205V\211\203	\204 \313\305\n\"\262\2032@V\2032A\211\204$\205V@Z\262A\314\315]\305\316#\210\211\203O\305\211\207\317!\320\211\207" [type-break-current-time-warning-interval type-break-time-warning-intervals type-break-time-next-break type-break-warning-countdown-string type-break-warning-countdown-string-type nil type-break-cancel-time-warning-schedule add-hook type-break-post-command-hook type-break-time-warning append type-break-time-difference type-break-run-at-time 1 type-break-time-warning-alarm number-to-string "seconds"] 7 (#$ . 23692)])
(defalias 'type-break-cancel-time-warning-schedule #[0 "\304\305!\210\306\307\310\"\210\311\312\211\207" [type-break-time-warning-intervals type-break-current-time-warning-interval type-break-time-warning-count type-break-warning-countdown-string type-break-cancel-function-timers type-break-time-warning-alarm remove-hook type-break-post-command-hook type-break-time-warning 0 nil] 3])
(defalias 'type-break-alarm #[0 "\301 \210\302\303\304!\207" [type-break-alarm-p type-break-check-post-command-hook t type-break-mode-line-countdown-or-break break] 2])
(defalias 'type-break-time-warning-alarm #[0 "\302 \210\303 \210\304 \210\305\306!\207" [type-break-warning-repeat type-break-time-warning-count type-break-check-post-command-hook type-break-time-warning-schedule type-break-time-warning type-break-mode-line-countdown-or-break countdown] 2])
(defalias 'type-break-run-tb-post-command-hook #[0 "\205\301\302!\207" [type-break-mode run-hooks type-break-post-command-hook] 2])
#@225 Ask to take a typing break if appropriate.
This may be the case either because the scheduled time has come (and the
minimum keystroke threshold has been reached) or because the maximum
keystroke threshold has been exceeded.
(defalias 'type-break-check #[0 "\306 \210@A	\203$\307\n\310\"	V\203!\311 \210\312\310!\210\313 \314 \210\313 \203F\315 \316!\203@\211\317H:\203@\211\317H@\320=\204E\fG\\\210
\203\200\321 \206\271\322 \323 =\206\271\203f\fW\203f\314 \202\271\211\203{\203{\211\fZW\203{\311 \210\324 \202\271\203\225\211\203\225\317U\203\225\325 \206\271\211\205\271\fV\205\271\321 ?\205\271\322 \323 =?\205\271\311 \210\206\266\317\324 \207" [type-break-keystroke-threshold type-break-good-rest-interval type-break-time-last-command type-break-time-last-break type-break-keystroke-count type-break-alarm-p type-break-file-keystroke-count type-break-time-difference nil type-break-keystroke-reset type-break-mode-line-countdown-or-break current-time type-break-schedule this-command-keys vectorp 0 mouse-movement input-pending-p selected-window minibuffer-window type-break-query type-break-check-keystroke-warning type-break-keystroke-warning-intervals type-break-keystroke-warning-count] 5 (#$ . 25385)])
(defalias 'type-break-check-keystroke-warning #[0 "A	Z\n@\204
\306\202>\211\n@V\203\306\202>\n@\203+\211\n@W\203+\nA\211\202\307\310\311\"\210\312!\313\314\315!\210\316\207" [type-break-keystroke-threshold type-break-keystroke-count type-break-current-keystroke-warning-interval type-break-warning-repeat type-break-keystroke-warning-count type-break-warning-countdown-string nil add-hook type-break-post-command-hook type-break-keystroke-warning number-to-string "keystrokes" type-break-mode-line-countdown-or-break countdown t type-break-warning-countdown-string-type] 5])
(defalias 'type-break-query #[0 "\300\301\302\"\207" [add-hook type-break-post-command-hook type-break-do-query] 3])
(defalias 'type-break-do-query #[0 "\204\306 \210\307	!\210\310\311\312\"\207\313\314!\205H\3151D\316\n\317 \210\310\311\312\"\210\f\320\321\322 
\2033\323\2024\324#!*\203?\325 \202B\307	!0\207\210\307	!\207" [type-break-query-mode type-break-query-interval this-command type-break-mode type-break-query-function type-break-terse-messages type-break-noninteractive-query type-break-schedule remove-hook type-break-post-command-hook type-break-do-query sit-for 2 (quit) nil type-break-cancel-schedule format "%s%s" type-break-time-stamp "Break now? " "Take a break from typing now? " type-break] 5])
#@217 Null query function which doesn't interrupt user and assumes `no'.
It prints a reminder in the echo area to take a break, but doesn't enforce
this or ask the user to start one right now.

(fn &optional IGNORED-ARGS)
(defalias 'type-break-noninteractive-query #[256 "\206\301\302!\210\303\304\305 \306\307!#\210\310\311!\210\301\302!\210\312\207" [type-break-mode-line-message-mode beep t message "%sYou should take a typing break now.  Do `%s'." type-break-time-stamp substitute-command-keys "\\[type-break]" sit-for 1 nil] 6 (#$ . 27970)])
(defalias 'type-break-time-warning #[0 "@\203\f	@W\206H\n\306V\203@\307\310\"\311!\312 \313 =\206?
\314>\206??\205?\315\316!\210\317\320\321 \322!#\210\nS\211\207\323\324\325\"\210\310\211\207" [type-break-keystroke-threshold type-break-keystroke-count type-break-time-warning-count type-break-time-next-break type-break-warning-countdown-string this-command 0 type-break-time-difference nil number-to-string selected-window minibuffer-window (digit-argument universal-argument) sit-for 2 message "%sWarning: typing break due in %s." type-break-time-stamp type-break-format-time remove-hook type-break-post-command-hook type-break-time-warning type-break-mode-line-message-mode] 6])
(defalias 'type-break-keystroke-warning #[0 "\306V\2033\307	A\nZ!\310 \311 =\206;\f\312>\2062
?\2052\313\314!\210\315\316\317 	A\nZ#\210S\211\207\320\321\322\"\210\323\211\207" [type-break-keystroke-warning-count type-break-keystroke-threshold type-break-keystroke-count type-break-warning-countdown-string this-command type-break-mode-line-message-mode 0 number-to-string selected-window minibuffer-window (digit-argument universal-argument) sit-for 2 message "%sWarning: typing break due in %s keystrokes." type-break-time-stamp remove-hook type-break-post-command-hook type-break-keystroke-warning nil] 5])
#@23 

(fn &optional TYPE)
(defalias 'type-break-mode-line-countdown-or-break #[256 "\203'\211\303\267\202\304\305\306\307#\210\202'	?\310\305\306\"\210\202'\311\211\310\305\306\"\210\306 \207" [type-break-mode-line-message-mode type-break-mode-line-break-message-p type-break-warning-countdown-string #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (countdown 10 break 19)) add-hook type-break-post-command-hook type-break-force-mode-line-update append remove-hook nil] 6 (#$ . 29838)])
#@210 Print statistics about typing breaks in a temporary buffer.
This includes the last time a typing break was taken, when the next one is
scheduled, the keystroke thresholds and the current keystroke count, etc.
(defalias 'type-break-statistics #[0 "r\306\307!q\210p\310 \210\311\211\312\211\312\313 \210\314\315!\210+\211\316\317\320\203.\321\202/\322\2038\321\2029\322\203B\321\202C\322\203O\323!\202P\324\203k \203k\317\325\323 !\326\327\311 \"!#\202l\330!@\206s\331!A\206z\331\"&	!\332!\210)\207" [default-directory buffer-read-only buffer-file-name buffer-undo-list inhibit-modification-hooks inhibit-read-only get-buffer-create "*Typing Break Statistics*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook princ format "Typing break statistics\n-----------------------\n\nTyping break mode is currently %s.\nInteractive query for breaks is %s.\nWarnings of imminent typing breaks in mode line is %s.\n\nLast typing break ended     : %s\nNext scheduled typing break : %s\n\nMinimum keystroke threshold : %s\nMaximum keystroke threshold : %s\nCurrent keystroke count     : %s" "enabled" "disabled" current-time-string "never" "%s	(%s from now)" type-break-format-time type-break-time-difference "none scheduled" "none" internal-temp-output-buffer-show standard-output type-break-mode type-break-query-mode type-break-mode-line-message-mode type-break-time-last-break type-break-time-next-break type-break-keystroke-threshold type-break-keystroke-count] 17 (#$ . 30374) nil])
#@1202 Guess values for the minimum/maximum keystroke threshold for typing breaks.

If called interactively, the user is prompted for their guess as to how
many words per minute they usually type.  This value should not be your
maximum WPM, but your average.  Of course, this is harder to gauge since it
can vary considerably depending on what you are doing.  For example, one
tends to type less when debugging a program as opposed to writing
documentation.  (Perhaps a separate program should be written to estimate
average typing speed.)

From that, this command sets the values in `type-break-keystroke-threshold'
based on a fairly simple algorithm involving assumptions about the average
length of words (5).  For the minimum threshold, it uses about a fifth of
the computed maximum threshold.

When called from Lisp programs, the optional args WORDLEN and FRAC can be
used to override the default assumption about average word length and the
fraction of the maximum threshold to which to set the minimum threshold.
FRAC should be the inverse of the fractional value; for example, a value of
2 would mean to use one half, a value of 4 would mean to use one quarter, etc.

(fn WPM &optional WORDLEN FRAC)
(defalias 'type-break-guesstimate-keystroke-threshold #[769 "\302\206\303\304\245#\211\206\303\245	\204\305\211B	\240\210	\241\210\306\307!\203.\310\311#\210	\207" [type-break-interval type-break-keystroke-threshold * 5 60 nil called-interactively-p interactive message "min threshold: %d	max threshold: %d"] 9 (#$ . 31927) "NOn average, how many words per minute do you type? "])
#@12 

(fn A B)
(defalias 'type-break-time-difference #[514 "\300\301\302\"!!\207" [round float-time time-subtract] 7 (#$ . 33531)])
#@21 

(fn &rest TMLIST)
(defalias 'type-break-time-sum #[128 "\300\211\203\211@\301\"\262A\266\202\202\210\211\207" [(0 0) time-add] 7 (#$ . 33667)])
#@23 

(fn &optional WHEN)
(defalias 'type-break-time-stamp #[256 "\301\302!\203\302\"\207\303\304\305\306!\307\310#\"\207" [type-break-time-stamp-format fboundp format-time-string format "[%s] " substring current-time-string 11 16] 7 (#$ . 33828)])
#@13 

(fn SECS)
(defalias 'type-break-format-time #[257 "\211\300\245\211\301U\203\302\303\"\202.\211\304V\203\302\305\"\202.\301U\203*\302\306\"\202.\302\307\"\207" [60 1 format "%d minute" 0 "%d minutes" "%d second" "%d seconds"] 5 (#$ . 34084)])
(defalias 'type-break-keystroke-reset #[0 "\305 \306\211\307\310\311\"\207" [type-break-interval-start type-break-keystroke-count type-break-keystroke-warning-count type-break-keystroke-warning-intervals type-break-current-keystroke-warning-interval current-time 0 remove-hook type-break-post-command-hook type-break-keystroke-warning] 4])
#@144 Force the mode-line of the current buffer to be redisplayed.
With optional non-nil ALL, force redisplay of all mode-lines.

(fn &optional ALL)
(defalias 'type-break-force-mode-line-update #[256 "\211\203\nr\300 q\210)\301\302 !\207" [other-buffer set-buffer-modified-p buffer-modified-p] 3 (#$ . 34694)])
(defalias 'type-break-check-post-command-hook #[0 "\300\301\302\303#\207" [add-hook post-command-hook type-break-run-tb-post-command-hook append] 4])
#@29 

(fn TIME REPEAT FUNCTION)
(defalias 'type-break-run-at-time #[771 "\3001\301\302!\206
\301\303!0\202\210\202\210\304#\207" [(error) require timer itimer run-at-time] 7 (#$ . 35156)])
#@17 

(fn FUNCTION)
(defalias 'type-break-cancel-function-timers #[257 "\301\302!)\207" [timer-dont-exit t cancel-function-timers] 3 (#$ . 35357)])
(defalias 'type-break-catch-up-event #[0 "\301!\205\302\303!>\205\304 \207" [last-input-event eventp down event-modifiers read-event] 3])
#@31 Take a hanoiing typing break.
(defalias 'type-break-demo-hanoi #[0 "\300\301!\203\n\302\301!\210\3031 \304\305 \306\245!\210\307 \210\310 \210\302\301!0\207\210\307 \210\310 \210\300\301!\2050\302\301!\207" [get-buffer "*Hanoi*" kill-buffer (quit) hanoi window-width 8 read-event type-break-catch-up-event] 3 (#$ . 35653)])
#@37 Take a typing break and get a life.
(defalias 'type-break-demo-life #[0 "\300\211\205M\301\262\302\303!\203\304\303!\210\3051<\3061,\307\310!\210\311 \210\312 \210\304\303!00\202I0\210\313\314\315\316N\"\210\300\211\262\202I\210\312 \210\302\303!\203\304\303!\210\202\207" [t nil get-buffer "*Life*" kill-buffer (quit) (life-extinct) life 3 read-event type-break-catch-up-event message "%s" life-extinct error-message] 5 (#$ . 35986)])
#@27 Boring typing break demo.
(defalias 'type-break-demo-boring #[0 "\203\306\202	\307\310\311\211\211\211\3121$\313\314!!\210\315p!\210\316 \317\245\262\204+S\262	\2034\317Z\262\320\321\"\262\322 \204\323 \210\324\n\311\"\262\206M\f\211\203\203\211Z\262\325V\203o\326\203e\327\202f\330\331!\"\262\202\224\326\203x\332\202y\333\331!\"\262\202\224\326\203\214\334\202\215\333\331!\"\262\210\320\335 GZ\317\245\336\"\261\210G\325V\203\274\337\320\335 GZ\317\245\336\"\261\210	\203
\326\203\311\340\202\312\341
\"\320\335 GZ\317\245\336\"\342
!\343\245\324.\n\"\344\245\245\345\261\210\203\367\326\346#c\210\202\326\347\"\262\320\335 GZ\317\245\336\"\261\210\266eb\210\350\351!\210\202:\352 \210\353 \210\354!0\202.\210\355!\205.\354!\207" [type-break-terse-messages type-break-demo-boring-stats type-break-time-last-break type-break-good-rest-interval type-break-good-break-interval type-break-keystroke-count "" "Press any key to resume from typing break" "*Typing Break Buffer*" nil (quit) switch-to-buffer get-buffer-create buffer-disable-undo window-body-height 2 make-string 10 input-pending-p erase-buffer type-break-time-difference 0 format "Break remaining: %s" "You should rest for %s more" type-break-format-time "Break complete (%s elapsed in total)" "Typing break has lasted %s" "Break has lasted %s" window-width 32 "\n" "Since last break: %s keystrokes\n" "Since your last break you've typed %s keystrokes\n" float 5 60.0 "\n\n" "                  %s%.2f wpm" "at an average of %.2f words per minute" sit-for 60 read-event type-break-catch-up-event kill-buffer get-buffer type-break-interval-start] 13 (#$ . 36441)])
(byte-code "\301\302!\210\203\f\300\303!\210\301\207" [type-break-mode provide type-break 1] 2)

Youez - 2016 - github.com/yon3zu
LinuXploit