PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/erc
Viewing File: /usr/share/emacs/24.3/lisp/erc/erc-track.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:52:06 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/erc/erc-track.el ;;; in Emacs version 24.3.1 ;;; 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!\210\300\302!\210\300\303!\210\304\305\306\307\310\301%\210\311\312\313\314\310\305\315\316&\210\311\317\320\321\310\305\315\322&\210\311\323\306\324\310\305\315\325&\210\311\326\306\327\310\305\315\330&\210\311\331\332\333\310\305\315\334&\210\311\335\306\336\310\305\315\330&\210\311\337\340\341\310\305\315\342&\210\311\343\344\345\310\305\315\342&\210\311\346\306\347\310\305\315\350&\210\311\351\352\353\310\305\315\354&\210\311\355\306\356\310\305\315\357&\210\311\360\320\361\310\305\315\330&\210\311\362\363\364\310\305\315\365&\210\311\366\306\367\310\305\315\370&\210\311\371\372\373\310\305\315\374&\210\311\375\376\377\310\305\315\201@\201A\201B& \207" [require erc erc-compat erc-match custom-declare-group erc-track nil "Track active buffers and show activity in the mode line." :group custom-declare-variable erc-track-enable-keybindings 'ask "Whether to enable the ERC track keybindings, namely:\n`C-c C-SPC' and `C-c C-@', which both do the same thing.\n\nThe default is to check to see whether these keys are used\nalready: if not, then enable the ERC track minor mode, which\nprovides these keys. Otherwise, do not touch the keys.\n\nThis can alternatively be set to either t or nil, which indicate\nrespectively always to enable ERC track minor mode or never to\nenable ERC track minor mode.\n\nThe reason for using this default value is to both (1) adhere to\nthe Emacs development guidelines which say not to touch keys of\nthe form C-c C-<something> and also (2) to meet the expectations\nof long-time ERC users, many of whom rely on these keybindings." :type (choice (const :tag "Ask, if used already" ask) (const :tag "Enable" t) (const :tag "Disable" nil)) erc-track-visibility t "Where do we look for buffers to determine their visibility?\nThe value of this variable determines, when a buffer is considered\nvisible or invisible. New messages in invisible buffers are tracked,\nwhile switching to visible buffers when they are tracked removes them\nfrom the list. See also `erc-track-when-inactive'.\n\nPossible values are:\n\nt - all frames\nvisible - all visible frames\nnil - only the selected frame\nselected-visible - only the selected frame if it is visible\n\nActivity means that there was no user input in the last 10 seconds." (choice (const :tag "All frames" t) (const :tag "All visible frames" visible) (const :tag "Only the selected frame" nil) (const :tag "Only the selected frame if it is visible" selected-visible)) erc-track-exclude "A list targets (channel names or query targets) which should not be tracked." (repeat string) erc-track-remove-disconnected-buffers "If true, remove buffers associated with a server that is\ndisconnected from `erc-modified-channels-alist'." boolean erc-track-exclude-types '("NICK" "333" "353") "List of message types to be ignored.\nThis list could look like '(\"JOIN\" \"PART\").\n\nBy default, exclude changes of nicknames (NICK), display of who\nset the channel topic (333), and listing of users on the current\nchannel (353)." erc-message-type erc-track-exclude-server-buffer "If true, don't perform tracking on the server buffer; this is\nuseful for excluding all the things like MOTDs from the server and\nother miscellaneous functions." erc-track-shorten-start 1 "This number specifies the minimum number of characters a channel name in\nthe mode-line should be reduced to." number erc-track-shorten-cutoff 4 "All channel names longer than this value will be shortened." erc-track-shorten-aggressively "If non-nil, channel names will be shortened more aggressively.\nUsually, names are not shortened if this will save only one character.\nExample: If there are two channels, #linux-de and #linux-fr, then\nnormally these will not be shortened. When shortening aggressively,\nhowever, these will be shortened to #linux-d and #linux-f.\n\nIf this variable is set to `max', then channel names will be shortened\nto the max. Usually, shortened channel names will remain unique for a\ngiven set of existing channels. When shortening to the max, the shortened\nchannel names will be unique for the set of active channels only.\nExample: If there are two active channels #emacs and #vi, and two inactive\nchannels #electronica and #folk, then usually the active channels are\nshortened to #em and #v. When shortening to the max, however, #emacs is\nnot compared to #electronica -- only to #vi, therefore it can be shortened\neven more and the result is #e and #v.\n\nThis setting is used by `erc-track-shorten-names'." (choice (const :tag "No" nil) (const :tag "Yes" t) (const :tag "Max" max)) erc-track-shorten-function 'erc-track-shorten-names "This function will be used to reduce the channel names before display.\nIt takes one argument, CHANNEL-NAMES which is a list of strings.\nIt should return a list of strings of the same number of elements.\nIf nil instead of a function, shortening is disabled." (choice (const :tag "Disabled") function) erc-track-list-changed-hook "Hook that is run whenever the contents of\n`erc-modified-channels-alist' changes.\n\nThis is useful for people that don't use the default mode-line\nnotification but instead use a separate mechanism to provide\nnotification of channel activity." hook erc-track-use-faces "Use faces in the mode-line.\nThe faces used are the same as used for text in the buffers.\n(e.g. `erc-pal-face' is used if a pal sent a message to that channel.)" erc-track-faces-priority-list '(erc-error-face (erc-nick-default-face erc-current-nick-face) erc-current-nick-face erc-keyword-face (erc-nick-default-face erc-pal-face) erc-pal-face erc-nick-msg-face erc-direct-msg-face (erc-button erc-default-face) (erc-nick-default-face erc-dangerous-host-face) erc-dangerous-host-face erc-nick-default-face (erc-nick-default-face erc-default-face) erc-default-face erc-action-face (erc-nick-default-face erc-fool-face) erc-fool-face erc-notice-face erc-input-face erc-prompt-face) "A list of faces used to highlight active buffer names in the mode line.\nIf a message contains one of the faces in this list, the buffer name will\nbe highlighted using that face. The first matching face is used." (repeat (choice face (repeat :tag "Combination" face))) erc-track-priority-faces-only "Only track text highlighted with a priority face.\nIf you would like to ignore changes in certain channels where there\nare no faces corresponding to your `erc-track-faces-priority-list', set\nthis variable. You can set a list of channel name strings, so those\nwill be ignored while all other channels will be tracked as normal.\nOther options are 'all, to apply this to all channels or nil, to disable\nthis feature.\n\nNote: If you have a lot of faces listed in `erc-track-faces-priority-list',\nsetting this variable might not be very useful." (choice (const nil) (repeat string) (const all)) erc-track-faces-normal-list '((erc-button erc-default-face) (erc-nick-default-face erc-dangerous-host-face) erc-dangerous-host-face erc-nick-default-face (erc-nick-default-face erc-default-face) erc-default-face erc-action-face) "A list of faces considered to be part of normal conversations.\nThis list is used to highlight active buffer names in the mode line.\n\nIf a message contains one of the faces in this list, and the\nprevious mode line face for this buffer is also in this list, then\nthe buffer name will be highlighted using the face from the\nmessage. This gives a rough indication that active conversations\nare occurring in these channels.\n\nThe effect may be disabled by setting this variable to nil." (repeat (choice face (repeat :tag "Combination" face))) erc-track-position-in-mode-line 'before-modes "Where to show modified channel information in the mode-line.\n\nSetting this variable only has effects in GNU Emacs versions above 21.3.\n\nChoices are:\n'before-modes - add to the beginning of `mode-line-modes',\n'after-modes - add to the end of `mode-line-modes',\nt - add to the end of `global-mode-string',\nnil - don't add to mode line." (choice (const :tag "Just before mode information" before-modes) (const :tag "Just after mode information" after-modes) (const :tag "After all other information" t) (const :tag "Don't display in mode line" nil)) :set #[(sym val) " L\210\303\302!\205\n\205\304 \210\305 !\207" [sym val erc-track-mode boundp erc-track-remove-from-mode-line erc-track-add-to-mode-line] 2]] 10) #@187 Generate a new `erc-modified-channels-object' based on STRINGS. If STRINGS is nil, we initialize `erc-modified-channels-object' to an appropriate initial value for this flavor of Emacs. (defalias 'erc-modified-channels-object #[(strings) "\203\" \302=\203\303\202\304\305\306\237\307# \310=\203\311\202 \312Q\207\313\207" [strings erc-track-position-in-mode-line after-modes "[" " [" mapconcat identity "," before-modes "] " "]" ""] 5 (#$ . 9022)]) #@73 Internal object used for displaying modified channels in the mode line. (defvar erc-modified-channels-object (erc-modified-channels-object nil) (#$ . 9487)) (put 'erc-modified-channels-object 'risky-local-variable t) #@476 An ALIST used for tracking channel modification activity. Each element looks like (BUFFER COUNT FACE) where BUFFER is a buffer object of the channel the entry corresponds to, COUNT is a number indicating how often activity was noticed, and FACE is the face to use when displaying the buffer's name. See `erc-track-faces-priority-list', and `erc-track-showcount'. Entries in this list should only happen for buffers where activity occurred while the buffer was not visible. (defvar erc-modified-channels-alist nil (#$ . 9711)) (byte-code "\300\301\302\303\304\305\306\307&\210\300\310\311\312\304\313\306\307&\210\300\314\315\316\304\305\306\307&\210\300\317\320\321\306\307\304\322&\207" [custom-declare-variable erc-track-showcount nil "If non-nil, count of unseen messages will be shown for each channel." :type boolean :group erc-track erc-track-showcount-string ":" "The string to display between buffer name and the count in the mode line.\nThe default is a colon, resulting in \"#emacs:9\"." string erc-track-switch-from-erc t "If non-nil, `erc-track-switch-buffer' will return to the last non-erc buffer\nwhen there are no more active channels." erc-track-switch-direction 'oldest "Direction `erc-track-switch-buffer' should switch.\n\n importance - find buffer with the most important message\n oldest - find oldest active buffer\n newest - find newest active buffer\n leastactive - find buffer with least unseen messages\n mostactive - find buffer with most unseen messages.\n\nIf set to 'importance, the importance is determined by position\nin `erc-track-faces-priority-list', where first is most\nimportant." (choice (const importance) (const oldest) (const newest) (const leastactive) (const mostactive))] 8) #@57 Remove `erc-track-modified-channels' from the mode-line (defalias 'erc-track-remove-from-mode-line #[nil "\302\300!\203 \303\304\" :\205\305\306 \"\211\207" [mode-line-modes global-mode-string boundp remove (t erc-modified-channels-object) delq erc-modified-channels-object] 3 (#$ . 11467)]) #@124 Add `erc-track-modified-channels' to POSITION in the mode-line. See `erc-track-position-in-mode-line' for possible values. (defalias 'erc-track-add-to-mode-line #[(position) "\302=\203\303\304!\203\305\304\306\"\207\307=\203#\303\304!\203#\305\304\310\311#\207\311=\2054 \204/\312\305\301\313\311#\207" [position global-mode-string before-modes boundp mode-line-modes add-to-list (t erc-modified-channels-object) after-modes (t erc-modified-channels-object) t ("") erc-modified-channels-object] 4 (#$ . 11772)]) #@405 Call `erc-unique-channel-names' with the correct parameters. This function is a good value for `erc-track-shorten-function'. The list of all channels is returned by `erc-all-buffer-names'. CHANNEL-NAMES is the list of active channel names. Only channel names longer than `erc-track-shorten-cutoff' are actually shortened, and they are only shortened to a minimum of `erc-track-shorten-start' characters. (defalias 'erc-track-shorten-names #[(channel-names) "\302\303 \304 $\207" [channel-names erc-track-shorten-start erc-unique-channel-names erc-all-buffer-names #[(s) "G V\207" [s erc-track-shorten-cutoff] 2]] 5 (#$ . 12303)]) #@151 Return all channel or query buffer names. Note that we cannot use `erc-channel-list' with a nil argument, because that does not return query buffers. (defalias 'erc-all-buffer-names #[nil "\212\304\305 \304\211\203*\n@\211q\210 \306=\204 \307=\203#\310 B\nA\211\204\f**\207" [result buf --dolist-tail-- major-mode nil buffer-list erc-mode erc-dcc-chat-mode buffer-name] 3 (#$ . 12942)]) #@269 Return a list of unique channel names. ALL is the list of all channel and query buffer names. ACTIVE is the list of active buffer names. PREDICATE is a predicate that should return non-nil if a name needs no shortening. START is the minimum length of the name used. (defalias 'erc-unique-channel-names #[(all active &optional predicate start) "\306=\203\f\307 \n #\207\310\307\f\n #\311\"\312\f \312 \211\203s@ \f\312\211\203d\204d@A \313G G^O\230\2031 \235\2041\2021 B+A\211\204\"* \237*\207" [erc-track-shorten-aggressively active predicate start all result max erc-unique-substrings sort #[(a b) "G GV\207" [a b] 2] nil 0 all-substrings channel --dolist-tail-- winner candidate substrings] 6 (#$ . 13349)]) #@48 Return a list of unique substrings of STRINGS. (defalias 'erc-unique-substrings #[(strings &optional predicate start) "\247\203 \302W\203 \303\304\305 \"\207" [start strings 0 2 mapcar #[(str) "\306\307 !\"G\fG^\310\211 \311!\203'!\204'\202`\204L V\2038\312\202F\313 O \314 \n\"? T\202' G SU\203^\204^\202` -\207" [str strings others maxlen start i delete copy-sequence nil functionp t 0 erc-unique-substring-1 candidate done predicate erc-track-shorten-aggressively] 5]] 3 (#$ . 14123)]) #@65 Return non-nil when any string in OTHERS starts with CANDIDATE. (defalias 'erc-unique-substring-1 #[(candidate others) "\305\211G\f\203* \204*\f@\fA\nG Y\203\n\306 O\230\203\n\202 +\207" [candidate maxlen other result others nil 0] 4 (#$ . 14664)]) (byte-code "\301\302\303\304\")\305\232\203\346\306\302\307\310\")\311\232\203\346\312\302\313\314\")\315\232\203\346\301\302\316\317\")\320\232\203\346\306\302\321\322\")\323\232\203\346\301\302\324\325\")\326\232\203\346\301\327\330!)\331\232\203\346\306\327\332!)\333\232\203\346\301\302\334\335\")\336\232\203\346\301\302\337\340\")\341\232\203\346\301\302\342\343\344\345$)\346\232\203\346\301\302\347\350\351\352$)\353\232\203\346\301\302\354\355\"\356\232)\203\346\306\357\360\361\"\362\232\205\276\357\363\364\"?\205\276\327\365!\366\232\205\276\327\367!\370\232)\203\346\301\357\360\371\"\362\232\205\342\357\363\372\"?\205\342\327\373!\374\232\205\342\327\375!\376\232)\204\360\377\201@\201AC\"\210\301\207" [erc-track-shorten-aggressively nil erc-unique-channel-names #1=("#emacs" "#vi" "#electronica" "#folk") #2=("#emacs" "#vi") #3=("#em" "#vi") t #4=("#emacs" "#vi" "#electronica" "#folk") #5=("#emacs" "#vi") #6=("#em" "#v") max #7=("#emacs" "#vi" "#electronica" "#folk") #8=("#emacs" "#vi") #9=("#e" "#v") #10=("#linux-de" "#linux-fr") #11=("#linux-de" "#linux-fr") #12=("#linux-de" "#linux-fr") #13=("#linux-de" "#linux-fr") #14=("#linux-de" "#linux-fr") #15=("#linux-d" "#linux-f") #16=("#dunnet" "#lisp" "#sawfish" "#fsf" "#guile" "#testgnome" "#gnu" "#fsbot" "#hurd" "#hurd-bunny" "#emacs") #17=("#hurd-bunny" "#hurd" "#sawfish" "#lisp") #18=("#hurd-" "#hurd" "#s" "#l") erc-unique-substrings #19=("#emacs" "#vi" "#electronica" "#folk") #20=("#em" "#vi" "#el" "#f") #21=("#emacs" "#vi" "#electronica" "#folk") #22=("#em" "#v" "#el" "#f") #23=("#emacs" "#burse" "+linux.de" "#starwars" "#bitlbee" "+burse" "#ratpoison") #24=("+linux.de" "#starwars" "#burse") #25=("+l" "#s" "#bu") #26=("fsbot" "#emacs" "deego") #27=("fsbot") #28=("fs") #29=("fsbot" "#emacs" "deego") #30=("fsbot") #[#31=(s) "G\301V\207" [s 4] 2] 1 #32=("f") #33=("fsbot" "#emacs" "deego") #34=("fsbot") #[#35=(s) "G\301V\207" [s 4] 2] 2 #36=("fs") #37=("deego" "#hurd" "#hurd-bunny" "#emacs") #38=("#hurd" "#hurd-bunny") #39=("#hurd" "#hurd-") erc-unique-substring-1 #40="abc" #41=("ab" "abcd") #42="abcd" #43="a" #44=("xyz" "xab") #45=("abc" "xyz" "xab") #46=("ab" "xy" "xa") #47=("abc" "abcdefg") #48=("abc" "abcd") #49=("ab" "abcd") #50=("xyz" "xab") #51=("abc" "xyz" "xab") #52=("abc" "xyz" "xab") #53=("abc" "abcdefg") #54=("abc" "abcd") signal cl-assertion-failed (and (equal (let ((erc-track-shorten-aggressively nil)) (erc-unique-channel-names '#1# '#2#)) '#3#) (equal (let ((erc-track-shorten-aggressively t)) (erc-unique-channel-names '#4# '#5#)) '#6#) (equal (let ((erc-track-shorten-aggressively 'max)) (erc-unique-channel-names '#7# '#8#)) '#9#) (equal (let ((erc-track-shorten-aggressively nil)) (erc-unique-channel-names '#10# '#11#)) '#12#) (equal (let ((erc-track-shorten-aggressively t)) (erc-unique-channel-names '#13# '#14#)) '#15#) (equal (let ((erc-track-shorten-aggressively nil)) (erc-unique-channel-names '#16# '#17#)) '#18#) (equal (let ((erc-track-shorten-aggressively nil)) (erc-unique-substrings '#19#)) '#20#) (equal (let ((erc-track-shorten-aggressively t)) (erc-unique-substrings '#21#)) '#22#) (equal (let ((erc-track-shorten-aggressively nil)) (erc-unique-channel-names '#23# '#24#)) '#25#) (equal (let ((erc-track-shorten-aggressively nil)) (erc-unique-channel-names '#26# '#27#)) '#28#) (equal (let ((erc-track-shorten-aggressively nil)) (erc-unique-channel-names '#29# '#30# (lambda #31# (> (length s) 4)) 1)) '#32#) (equal (let ((erc-track-shorten-aggressively nil)) (erc-unique-channel-names '#33# '#34# (lambda #35# (> (length s) 4)) 2)) '#36#) (let ((erc-track-shorten-aggressively nil)) (equal (erc-unique-channel-names '#37# '#38#) '#39#)) (let ((erc-track-shorten-aggressively t)) (and (equal (erc-unique-substring-1 #40# '#41#) #42#) (not (erc-unique-substring-1 #43# '#44#)) (equal (erc-unique-substrings '#45#) '#46#) (equal (erc-unique-substrings '#47#) '#48#))) (let ((erc-track-shorten-aggressively nil)) (and (equal (erc-unique-substring-1 "abc" '#49#) "abcd") (not (erc-unique-substring-1 "a" '#50#)) (equal (erc-unique-substrings '#51#) '#52#) (equal (erc-unique-substrings '#53#) '#54#))))] 5) #@36 Keymap for rcirc track minor mode. (defvar erc-track-minor-mode-map (make-sparse-keymap) (#$ . 19110)) (byte-code "\301\302\303#\210\301\304\303#\210\305\306\307\310\311\312\313\314\315\316\317\320& \207" [erc-track-minor-mode-map define-key "" erc-track-switch-buffer [3 67108896] custom-declare-variable erc-track-minor-mode nil "Non-nil if Erc-Track minor mode is enabled.\nSee the command `erc-track-minor-mode' for a description of this minor mode." :set custom-set-minor-mode :initialize custom-initialize-default :group erc-track :type boolean] 12) #@467 Toggle mode line display of ERC activity (ERC Track minor mode). With a prefix argument ARG, enable ERC Track minor mode if ARG is positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. ERC Track minor mode is a global minor mode. It exists for the sole purpose of providing the C-c C-SPC and C-c C-@ keybindings. Make sure that you have enabled the track module, otherwise the keybindings will not do anything useful. (defalias 'erc-track-minor-mode #[(&optional arg) "\303  \304=\203\n?\202\305 !\306V\307\310\n\203\311\202\312\"\210\313\314!\203D\315\302!\210\303 \2037\303 \232\203D\316\317\n\203A\320\202B\321\"\210)\322 \210\n\207" [#1=#:last-message arg erc-track-minor-mode current-message toggle prefix-numeric-value 0 run-hooks erc-track-minor-mode-hook erc-track-minor-mode-on-hook erc-track-minor-mode-off-hook called-interactively-p any customize-mark-as-set message "Erc-Track minor mode %sabled" "en" "dis" force-mode-line-update] 3 (#$ . 19677) (list (or current-prefix-arg 'toggle))]) (byte-code "\301\302\303\304\211%\207" [erc-track-minor-mode-map add-minor-mode erc-track-minor-mode "" nil] 6) #@77 Enable `erc-track-minor-mode', depending on `erc-track-enable-keybindings'. (defalias 'erc-track-minor-mode-maybe #[(&optional buffer) "?\205i\305 !\203r q\210\n)\306=\204\307 \205i \310=\203^\311\312!\203+\313\2022\311\314!\2052\315\211\203Y\316\317\f\320\321R!\203O\322\323!\210\324\325!\210\300\326!\202\\\322\327!\210\324\325!\202\\\300\326!)\207 \330=\203h\300\326!\207\331\207" [erc-track-minor-mode buffer major-mode erc-track-enable-keybindings key buffer-live-p erc-mode erc-buffer-list ask key-binding [3 67108896] "C-SPC" "" "C-@" y-or-n-p "The C-c " " binding is in use;" " override it for tracking? " message "Will change it; set `erc-track-enable-keybindings' to disable this message" sleep-for 3 1 "Not changing it; set `erc-track-enable-keybindings' to disable this message" t nil] 6 (#$ . 20861)]) #@263 Non-nil if Erc-Track mode is enabled. See the command `erc-track-mode' for a description of this minor mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `erc-track-mode'. (custom-declare-variable 'erc-track-mode nil '(#$ . 21702) :set 'custom-set-minor-mode :initialize 'custom-initialize-default :group 'erc-track :type 'boolean) #@227 Toggle ERC track mode. With a prefix argument ARG, enable track if ARG is positive, and disable it otherwise. If called from Lisp, enable the mode if ARG is omitted or nil. This mode tracks ERC channel buffers with activity. (defalias 'erc-track-mode #[(&optional arg) "\303  \304=\203\n?\202\305 !\306V\211\203\307 \210\202!\310 \210\311\312\n\203+\313\202,\314\"\210\315\316!\203Q\317\302!\210\303 \203D\303 \232\203Q\320\321\n\203N\322\202O\323\"\210)\324 \210\n\207" [#1=#:last-message arg erc-track-mode current-message toggle prefix-numeric-value 0 erc-track-enable erc-track-disable run-hooks erc-track-mode-hook erc-track-mode-on-hook erc-track-mode-off-hook called-interactively-p any customize-mark-as-set message "Erc-Track mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 22131) (list (or current-prefix-arg 'toggle))]) (byte-code "\301\302\303\304\300!\205\n\303\211%\207" [erc-track-mode-map add-minor-mode erc-track-mode nil boundp] 6) #@24 Enable ERC track mode. (defalias 'erc-track-enable #[nil "\303\304\305\"\210\306\307\301!\205@ \203#\310\311\312\"\210\310\313\312\"\210\310\314\312\"\210\2029\315\n!\210\316 \210\310\311\317\"\210\310\320\321\"\210\310\322\323\"\210\310\324\325\"\210\325 \207" [erc-track-mode erc-track-when-inactive erc-track-position-in-mode-line add-to-list erc-modules track t boundp add-hook window-configuration-change-hook erc-user-is-active erc-send-completed-hook erc-server-001-functions erc-track-add-to-mode-line erc-update-mode-line erc-window-configuration-change erc-insert-post-hook erc-track-modified-channels erc-disconnected-hook erc-modified-channels-update erc-connect-pre-hook erc-track-minor-mode-maybe] 3 (#$ . 23116) nil]) #@25 Disable ERC track mode. (defalias 'erc-track-disable #[nil "\304\305\"\306\307\302!\205F\310 \210\n\203+\311\312\313\"\210\311\314\313\"\210\311\315\313\"\210\311\316\313\"\210\202:\311\312\317\"\210\311\320\321\"\210\311\322\323\"\210\311\324\325\"\210 \205F\303\326!\207" [erc-modules erc-track-mode erc-track-when-inactive erc-track-minor-mode delq track nil boundp erc-track-remove-from-mode-line remove-hook window-configuration-change-hook erc-user-is-active erc-send-completed-hook erc-server-001-functions erc-timer-hook erc-window-configuration-change erc-disconnected-hook erc-modified-channels-update erc-insert-post-hook erc-track-modified-channels erc-connect-pre-hook erc-track-minor-mode-maybe -1] 3 (#$ . 23859) nil]) (byte-code "\300\301\302\303#\210\300\304\302\303#\210\300\305\302\303#\210\306\307\310\311\312\313\314\315\316\317& \207" [put erc-track-mode definition-name track erc-track-enable erc-track-disable custom-declare-variable erc-track-when-inactive nil "Enable channel tracking even for visible buffers, if you are\ninactive." :group erc-track :type boolean :set #[(sym val) "\203\303 \210 \nL\210\304 \207 \nL\207" [erc-track-mode sym val erc-track-disable erc-track-enable] 2]] 10) #@36 Last time the user sent something. (defvar erc-buffer-activity nil (#$ . 25092)) #@132 How many seconds of inactivity by the user to consider when `erc-track-visibility' is set to only consider active buffers visible. (defvar erc-buffer-activity-timeout 10 (#$ . 25180)) #@28 Set `erc-buffer-activity'. (defalias 'erc-user-is-active #[(&rest ignore) "\205 \302 \303 \207" [erc-server-connected erc-buffer-activity erc-current-time erc-track-modified-channels] 1 (#$ . 25370)]) (defalias 'erc-track-get-buffer-window #[(buffer frame-param) "\302=\203\303\304 !\305=\205\306 \307\"\207\306 \"\207" [frame-param buffer selected-visible frame-visible-p selected-frame t get-buffer-window nil] 3]) #@44 Return non-nil when the buffer is visible. (defalias 'erc-buffer-visible #[(buffer) "\203 \205\305\n \"\205\306 \307 \"\fX\207\305\n \"\207" [erc-track-when-inactive erc-buffer-activity buffer erc-track-visibility erc-buffer-activity-timeout erc-track-get-buffer-window erc-time-diff erc-current-time] 3 (#$ . 25802)]) (defalias 'erc-window-configuration-change #[nil "\300\301 !?\205\f\302\303\304\"\207" [minibuffer-window-active-p minibuffer-window add-hook post-command-hook erc-modified-channels-update] 3]) #@208 Variable to prevent running `erc-modified-channels-update' multiple times. Without it, you cannot debug `erc-modified-channels-display', because the debugger also cases changes to the window-configuration. (defvar erc-modified-channels-update-inside nil (#$ . 26330)) #@246 This function updates the information in `erc-modified-channels-alist' according to buffer visibility. It calls `erc-modified-channels-display' at the end. This should usually be called via `window-configuration-change-hook'. ARGS are ignored. (defalias 'erc-modified-channels-update #[(&rest args) "?\205\303\304\305\306\n\"\210 \203\307 \210\310\303!\210*\311\312\313\"\207" [erc-modified-channels-update-inside removed-channel erc-modified-channels-alist t nil mapc #[(elt) "@\305 !\203#\306 !\203#\307 !\204#\n\205(r q\210 )?\205(\310\311 !)\207" [elt buffer erc-track-remove-disconnected-buffers erc-server-connected removed-channel bufferp buffer-live-p erc-buffer-visible t erc-modified-channels-remove-buffer] 2] erc-modified-channels-display force-mode-line-update remove-hook post-command-hook erc-modified-channels-update] 3 (#$ . 26606) nil]) #@68 The face to use when mouse is over channel names in the mode line. (defvar erc-track-mouse-face 'mode-line-highlight (#$ . 27483)) #@112 Return STRING as a button that switches to BUFFER when clicked. If FACES are provided, color STRING with them. (defalias 'erc-make-mode-line-buffer-name #[(string buffer &optional faces count) "\306 \203 \n\307 !Q\202\310 !\311 \312\313\314\"\315\316\317\320\321\322DEF#\210\311 \312\313\323\"\315\324\325\320\326\327DEF#\210\330\331\fG\332 \f%\210\330\331\fG\333\334\f%\210\330\331\fG\335 \f%\210!\203j\"\203j\330\331\fG\336!\f%\210\f*\207" [erc-track-showcount string erc-track-showcount-string count name map make-sparse-keymap int-to-string copy-sequence define-key vector mode-line mouse-2 lambda (e) (interactive "e") save-selected-window (select-window (posn-window (event-start e))) switch-to-buffer mouse-3 (e) (interactive "e") (select-window (posn-window (event-start e))) switch-to-buffer-other-window put-text-property 0 local-map help-echo "mouse-2: switch to buffer, mouse-3: switch to buffer in other window" mouse-face face buffer erc-track-mouse-face faces erc-track-use-faces] 10 (#$ . 27621)]) #@136 Set `erc-modified-channels-object' according to `erc-modified-channels-alist'. Use `erc-make-mode-line-buffer-name' to create buttons. (defalias 'erc-modified-channels-display #[nil "\306=\204\f\307=\203\310 \210\202\311=\203\312 \210\313\314!\210 \315=?\205\222\n\2040\303\315!\211\207\316\317\n\"\316\320\n\"\316\321\n\"\316\322\f\"\323!\203U!\202W\315\f\203\212@\203w\324@\f@@ @$BA\fA AA\202\\\303!\211.\207" [erc-track-switch-direction erc-track-position-in-mode-line erc-modified-channels-alist erc-modified-channels-object buffers counts mostactive leastactive erc-track-sort-by-activest importance erc-track-sort-by-importance run-hooks erc-track-list-changed-hook nil mapcar car cadr cddr #[(buf) "\301!\206\302\207" [buf buffer-name ""] 2] functionp erc-make-mode-line-buffer-name faces long-names erc-track-shorten-function short-names strings] 5 (#$ . 28659)]) #@51 Remove BUFFER from `erc-modified-channels-alist'. (defalias 'erc-modified-channels-remove-buffer #[(buffer) "\302 \236 \"\303 \205\304 \207" [buffer erc-modified-channels-alist delete interactive-p erc-modified-channels-display] 3 (#$ . 29600) "bBuffer: "]) #@726 Return the face to use in the mode line from the faces in FACES. If `erc-track-faces-priority-list' is set, the one from FACES who is first in that list will be used. If nothing matches or if `erc-track-faces-priority-list' is not set, the default mode-line faces will be used. If `erc-track-faces-normal-list' is non-nil, use it to produce a blinking effect that indicates channel activity when the first element in FACES and the highest-ranking face among the rest of FACES are both members of `erc-track-faces-normal-list'. If one of the faces is a list, then it will be ranked according to its highest-tanking face member. A list of faces including that member will take priority over just the single member element. (defalias 'erc-track-find-face #[(faces) "\303\304\215\205\n\303\305\215\211\204\306\202%\n\235\203$ \235\203$ \202%\n*\207" [erc-track-faces-normal-list no-first choice face (byte-code "\304\211\205\n@\211 \235\203\305\306 \"\210\nA\211\204\304*\207" [erc-track-faces-priority-list candidate --dolist-tail-- faces nil throw face] 4) (byte-code "\304\211\205\n@\211 A\235\203\305\306 \"\210\nA\211\204\304*\207" [erc-track-faces-priority-list candidate --dolist-tail-- faces nil throw face] 4) nil] 4 (#$ . 29869)]) #@207 Hook function for `erc-insert-post-hook' to check if the current buffer should be added to the mode line as a hidden, modified channel. Assumes it will only be called when current-buffer is in `erc-mode'. (defalias 'erc-track-modified-channels #[nil "\306 \206\307p!\310p!\204\223 \235\204\223\n\203\311 \204\223\312\313 \206%e \"\204\223\314\315 ! \316=\204; \235\205?\317\320\215??\205\217p\236\204Yp\321\322\f!BBB\202\215\f\203\215p\236\211\211AA)\322\203y\fB\202z\f!\211\211A@)TB\241\210+\323 )\202\260\310p!\204\243\205\260 \235\205\260p\236\205\260\324p!\210\323 )\207" [this-channel erc-track-exclude erc-track-exclude-server-buffer erc-track-exclude-types faces erc-track-priority-faces-only erc-default-target buffer-name erc-buffer-visible erc-server-buffer-p erc-message-type-member erc-find-parsed-property erc-faces-in buffer-string all found (byte-code "\304\211\205\n@\211 \235\203\305\306\307\"\210\nA\211\204\304*\207" [faces f --dolist-tail-- erc-track-faces-priority-list nil throw found t] 4) 1 erc-track-find-face erc-modified-channels-display erc-modified-channels-remove-buffer erc-modified-channels-alist cell x old-face new-face] 5 (#$ . 31151)]) #@41 Return a list of all faces used in STR. (defalias 'erc-faces-in #[(str) "\305G\306\307\305\310#!\311\312\f\310 $\211\2032\f U\2042\307\f\310#\211\203\313\302 \"\210\202\n,\207" [str cur faces m i 0 erc-list get-text-property face nil next-single-property-change add-to-list] 7 (#$ . 32397)]) (byte-code "\301\302\303G\304\305%\210\306!)\204\307\310\311C\"\210\302\207" [str #1="is bold" put-text-property 3 face #2=(bold erc-current-nick-face) erc-faces-in signal cl-assertion-failed (let ((str #1#)) (put-text-property 3 (length str) 'face '#2# str) (erc-faces-in str))] 6) #@93 Stores the name of the last buffer you were in before activating `erc-track-switch-buffers' (defvar erc-track-last-non-erc-buffer nil (#$ . 33000)) #@102 Sort erc-modified-channels-alist by activity. That means the number of unseen messages in a channel. (defalias 'erc-track-sort-by-activest #[nil "\301\302\"\211\207" [erc-modified-channels-alist sort #[(a b) "A@ A@V\207" [a b] 2]] 3 (#$ . 33155)]) #@237 Return a number indicating the priority of FACE in `erc-track-faces-priority-list'. Lower number means higher priority. If face is not in `erc-track-faces-priority-list', it will have a higher number than any other face in that list. (defalias 'erc-track-face-priority #[(face) "\301\302\303\215\210)\207" [count 0 done (byte-code "\305\211\203#\n@\211 \232\203\306\307\310\"\210\202\fT\nA\211\204*\305\207" [erc-track-faces-priority-list item --dolist-tail-- face count nil throw done t] 4)] 2 (#$ . 33413)]) #@121 Sort erc-modified-channels-alist by importance. That means the position of the face in `erc-track-faces-priority-list'. (defalias 'erc-track-sort-by-importance #[nil "\301\302\"\211\207" [erc-modified-channels-alist sort #[(a b) "\303\211AA)!\303\n\211AA)!W\207" [a x b erc-track-face-priority] 4]] 3 (#$ . 33947)]) #@177 Return the buffer name of ARG in `erc-modified-channels-alist'. Negative arguments index in the opposite direction. This direction is relative to `erc-track-switch-direction' (defalias 'erc-track-get-active-buffer #[(arg) "\305 \306W\203B\307\n\310\"\203\311\202>\307\n\311\"\203 \310\202>\307\n\312\"\203+\313\202>\307\n\313\"\2036\312\202>\307\n\314\"\205>\310 [\315\n\316\"\203P\fG Z\202R S\211\fGY\203a\fGS\202i \306W\203i\306 \f8@*\207" [erc-track-switch-direction offset dir arg erc-modified-channels-alist nil 0 eql oldest newest mostactive leastactive importance memql (oldest leastactive)] 4 (#$ . 34275)]) #@211 Switch to the next active ERC buffer, or if there are no active buffers, switch back to the last non-ERC buffer visited. Next is defined by `erc-track-switch-direction', a negative argument will reverse this. (defalias 'erc-track-switch-buffer #[(arg) "\204\306\307!\207 \203\n\310=\204p\311\312\f!!\207 \205+ \205+\313 !\205+\311 !\207" [erc-track-mode erc-modified-channels-alist major-mode erc-track-last-non-erc-buffer arg erc-track-switch-from-erc message "Enable the ERC track module if you want to use the tracking minor mode" erc-mode switch-to-buffer erc-track-get-active-buffer buffer-live-p] 3 (#$ . 34923) "p"]) (provide 'erc-track)