Sunteți pe pagina 1din 17

(http://www.emacswiki.

org/)
SiteMap(http://www.emacswiki.org/emacs/SiteMap) Search(http://www.emacswiki.org/emacs/Search)

ElispArea(http://www.emacswiki.org/emacs/ElispArea) HowTo(http://www.emacswiki.org/emacs/HowTo) Glossary(http://www.emacswiki.org/emacs/Glossary)

RecentChanges(http://www.emacswiki.org/emacs/RecentChanges) News(http://www.emacswiki.org/emacs/News) Problems(http://www.emacswiki.org/emacs/Problems)

Suggestions(http://www.emacswiki.org/emacs/Suggestions)

Cambodia,IndependenceDay

Twittering Mode (http://www.emacswiki.org/emacs? search=%22TwitteringMode%22)


Talk(http://www.emacswiki.org/emacs/Comments_on_TwitteringMode)
1. Description 2. InstallationGuide 1. ForWindowsusers 2. ForLinuxandotherUnixusers 3. SetupyourEmacs 4. Runtwitteringmode 3. KeybindingsonViewmode 1. Movethecursoronthecurrenttimeline 2. Applysomeoperationtothecurrenttimeline 3. Openothertimeline 4. Postatweet 5. Invokeanexternalbrowser 6. Changedisplaymode 7. Others 4. KeybindingsonEditmode 5. Timelinespec 1. Basictimeline 2. Directmessage 3. Favorite 4. Hashtag 5. Retweet 6. Search

7. Alias 6. Initialtimeline 7. Customizingyourkeybindings 8. Otherusefuloptions 9. URLshorteningservice 10. EnablingSpellCheckforTweets 11. Numberingmode 12. Discussion

Description
twitteringmode.elisaTwitterclient

(http://www.emacswiki.org/emacs/TwitteringModeScreenshot) Homepage:http://twmode.sourceforge.net/(http://twmode.sourceforge.net/) Githubpage:http://github.com/hayamiz/twitteringmode/tree/master(http://github.com/hayamiz/twittering mode/tree/master)


g i t c l o n e g i t : / / g i t h u b . c o m / h a y a m i z / t w i t t e r i n g m o d e . g i t

InstallationGuide
ForWindowsusers
Uncompressthearchivefile,andaddapathofadirectorycontaining`twitteringmode.el`toyour`loadpath`. Forexample,ifyouuncompresseditunder`C:\foo\`,theremaybeadirectory`C:\foo\twitteringmodeX.X.X\`which contains`twitteringmode.el`.Soaddthefollowingcodetoyour`.emacs`

( a d d t o l i s t ' l o a d p a t h " C : / f o o / t w i t t e r i n g m o d e X . X . X " ) Proceedto SetupyourEmacs

ForLinuxandotherUnixusers
Uncompressthearchivefile,andaddapathofadirectorycontaining`twitteringmode.el`toyour`loadpath`. Forexample,ifyouuncompresseditunder`/path/to/foo`,theremaybeadirectory`/path/to/foo/twitteringmode X.X.X/`whichcontains`twitteringmode.el`.Soaddthefollowingcodetoyour`.emacs`

( a d d t o l i s t ' l o a d p a t h " / p a t h / t o / f o o / t w i t t e r i n g m o d e X . X . X " ) NOTE:Fortwitteringmode2.0.0,ifyouhavethelatestemacs(orversion22orlater),youonlyneedtoput twittering mode.elinyourloadpathyoudonotneedtheotherdirectoriesorfilesthatareinthearchivefile.Forexample,ifyou havethisinyour`.emacs`: ( a d d t o l i s t ' l o a d p a t h " ~ / . e m a c s . d / s i t e l i s p / " ) just m v t w i t t e r i n g m o d e 2 . 0 . 0 / t w i t t e r i n g m o d e . e l ~ / . e m a c s . d / s i t e l i s p / InstallcURL,wget,gnutls,oropensslforusingSSLconnection. Proceedto SetupyourEmacs

SetupyourEmacs
Addfollowingcodetoyour`.emacs`: ( r e q u i r e ' t w i t t e r i n g m o d e ) (Optional)Toavoidhavingtoauthorizetwitteringmodeeverytimeyourunit,addthistoyour`.emacs`: ( s e t q t w i t t e r i n g u s e m a s t e r p a s s w o r d t ) ThisrequiresGnuPG(http://www.emacswiki.org/emacs/GnuPG).Andalso,eitherEasyPG (http://www.emacswiki.org/emacs/EasyPG)oralpaca.el(0.13)isnecessary. (Optional)YoumayneedtopointtwitteringmodetoyoursystemsCAcertificatebundle.OnCentOS? (http://www.emacswiki.org/emacs?action=editid=CentOS)6Iaddedthistomy`.emacs`: ( s e t q t w i t t e r i n g c e r t f i l e " / e t c / s s l / c e r t s / c a b u n d l e . c r t " )

Runtwitteringmode
1. Execute`Mxtwit`toruntwitteringmode. 2. OpenOAuthauthorizationpagewithyourbrowser,clickAllow,andenterthePINcode.Ifyouusethemaster password,thePINcodeisrequiredonlyatthefirsttime. 3. (Optional)Inputthepassphraseifyouusethemasterpassword.Thisisrequiredonlyatthefirsttime.

4. Yourfriendstimelinewillappear.Youcanalsoopenothertimelinesby V withtimelinespec.Enjoy!

KeybindingsonViewmode
M x t w i t ,andyouentertothismode.Youcanseevarioustimelines.

Movethecursoronthecurrenttimeline
j

Gotothenexttweet.Ifthecursorplacedontheoldesttweet,oldertweetsareretrieved.Youcanspecifyhowmany tweetswillberetrievedbythevariable t w i t t e r i n g n u m b e r o f t w e e t s o n r e t r i e v a l .( t w i t t e r i n g g o t o
n e x t s t a t u s ) k

Gototheprevioustweet.( t w i t t e r i n g g o t o p r e v i o u s s t a t u s )
n

Gotothenexttweetwhoseauthoristhesameasthecurrenttweet.( t w i t t e r i n g g o t o n e x t s t a t u s o f
u s e r ) p

Gototheprevioustweetwhoseauthoristhesameasthecurrenttweet.( t w i t t e r i n g g o t o p r e v i o u s s t a t u s
o f u s e r ) l

Gotothenextcharacter.( f o r w a r d c h a r )
h

Gotothepreviouscharacter.( b a c k w a r d c h a r )
0

Gotothebeginningofthecurrentline.( b e g i n n i n g o f l i n e ) `^ Gotothebeginningofthetextonthecurrentline.( b e g i n n i n g o f l i n e t e x t ) `$ Gototheendofthecurrentline.( e n d o f l i n e )


C i

Gotothenextusername,URI,ortimelinesymbol.( t w i t t e r i n g g o t o n e x t t h i n g )
M C i ,`<backtab>

Gototheprevioususername,URI,ortimelinesymbol.( t w i t t e r i n g g o t o p r e v i o u s t h i n g ) `<backspace>, M v Scrolldown.( t w i t t e r i n g s c r o l l d o w n ) `<space>, C v Scrollup.( t w i t t e r i n g s c r o l l u p )


H

Gotothebeginningofthecurrentbuffer.( t w i t t e r i n g g o t o f i r s t s t a t u s )
G

Gototheendofthecurrentbuffer.( e n d o f b u f f e r )

Applysomeoperationtothecurrenttimeline
g

Retrievenewtweetsofthecurrenttimeline.( t w i t t e r i n g c u r r e n t t i m e l i n e )

Displayrepliedtweetsrelatedtothecurrenttweet.( t w i t t e r i n g t o g g l e s h o w r e p l i e d s t a t u s e s )
C c D

Deletethecurrenttweet.Youcandeleteonlyyours.( t w i t t e r i n g d e l e t e s t a t u s )
C c C e

RemovealltweetsofthecurrenttimelinefromEmacscache.( t w i t t e r i n g e r a s e o l d s t a t u s e s )
q

Killthecurrenttimelinebuffer.( t w i t t e r i n g k i l l b u f f e r )

Openothertimeline
Ifyouopenanewtimeline,anewbufferisgenerated.
v

Openatimelinepointedbythecursor.( t w i t t e r i n g o t h e r u s e r t i m e l i n e )
V

Openavarioustimeline.Youcanspecifythetimelinebytimelinespec.( t w i t t e r i n g v i s i t t i m e l i n e ) Forconvenience,therearefollowingshortcuts.
C c C f Openyourfriendstimeline.( t w i t t e r i n g f r i e n d s t i m e l i n e ) C c C u Openyourusertimeline.( t w i t t e r i n g u s e r t i m e l i n e ) C c C r Openyourreplytimeline,whichconsistsofrepliestoyourtweets.( t w i t t e r i n g r e p l i e s t i m e l i n e ) C c C d Opendirectmessagestimeline,whichconsistsofdirectmessagestoyou.( t w i t t e r i n g d i r e c t m e s s a g e s t i m e l i n e ) L

Openatimelineofacertainlist.( t w i t t e r i n g o t h e r u s e r l i s t i n t e r a c t i v e )
C c C q

Search.( t w i t t e r i n g s e a r c h )
f

Switchtothenexttimelinebuffer.( t w i t t e r i n g s w i t c h t o n e x t t i m e l i n e )
b

Switchtotheprevioustimelinebuffer.( t w i t t e r i n g s w i t c h t o p r e v i o u s t i m e l i n e )

Postatweet
u , C c C s

Postatweet.( t w i t t e r i n g u p d a t e s t a t u s i n t e r a c t i v e )
C m , E n t e r

Postareplytothetweetpointedbythecursor.IfthecursorpointsaURI,invoke b r o w s e u r l fortheURI. ( t w i t t e r i n g e n t e r )
C c C m , C c E n t e r

Postanonofficial(organic)retweetforthetweetpointedbythecursor.( t w i t t e r i n g r e t w e e t )
C u C c C m , C u C c E n t e r

Postaofficial(native)retweetforthetweetpointedbythecursor.( t w i t t e r i n g r e t w e e t )
d

Sendadirectmessage.( t w i t t e r i n g d i r e c t m e s s a g e )

Invokeanexternalbrowser
`<mouse1> OpenuserpageorURIby b r o w s e u r l .( t w i t t e r i n g c l i c k )
C c C v

Openthepointeduserspageby b r o w s e u r l .( t w i t t e r i n g v i e w u s e r p a g e )

Changedisplaymode
a

Toggleautomaticretrievalofthecurrenttimeline.( t w i t t e r i n g t o g g l e a c t i v a t e b u f f e r )
i

Toggledisplayingiconsofthecurrenttimeline.( t w i t t e r i n g i c o n m o d e )
s

Togglescrollmodeforthecurrenttimeline.( t w i t t e r i n g s c r o l l m o d e )
t , C c C p

Toggleproxy.( t w i t t e r i n g t o g g l e p r o x y )

Others
C c C t

Setthecurrenthashtag.( t w i t t e r i n g s e t c u r r e n t h a s h t a g )
C c C l

Postthemessage(Lambdaiscute,lambda.).( t w i t t e r i n g u p d a t e l a m b d a ) `C<mouse3> Pushthecurrenttweettokillring.( t w i t t e r i n g p u s h t w e e t o n t o k i l l r i n g )


U

PushtheURLofthecurrenttweettokillring.( t w i t t e r i n g p u s h u r i o n t o k i l l r i n g )

KeybindingsonEditmode
M p

Replaceatweetbeingeditedwiththeprevioustweetonhistory.( t w i t t e r i n g e d i t p r e v i o u s h i s t o r y )
M n

Replaceatweetbeingeditedwiththenexttweetonhistory.( t w i t t e r i n g e d i t n e x t h i s t o r y ) `<f4> ShortentheURLpointedbythecursor.( t w i t t e r i n g e d i t r e p l a c e a t p o i n t )


C c C k

Canceleditingatweet.( t w i t t e r i n g e d i t c a n c e l s t a t u s )
C c C c

Postthecurrenttweet.( t w i t t e r i n g e d i t p o s t s t a t u s )

Timelinespec

Whenpressing V ( t w i t t e r i n g v i s i t t i m e l i n e ),youcanopen anytimelinewith timelinespec.Since twitteringmodestoresthehistoryofvisitedtimelines,EmacsSession (http://www.emacswiki.org/emacs/EmacsSession)andincrementalbackwardsearchonthepromptof V ( t w i t t e r i n g v i s i t t i m e l i n e )maybeusefulwhenyouopenatimelinewhichyouhaveopened. The timelinespeccanbeusedanywhereyouhavetospecifyatimeline.

Basictimeline
: h o m e

thehometimeline.
: m e n t i o n s

thetimelineconsistingoftweetsmentioningyou.
: p u b l i c

thepublictimeline. USER thetimelineconsistingoftweetspostedby USER. USER /LISTNAME thelisttimelineownedby USERandnamed LISTNAME .

Directmessage
: d i r e c t _ m e s s a g e s

thetimelineconsistingofdirectmessagessenttoyou.
: d i r e c t _ m e s s a g e s _ s e n t

thetimelineconsistingofdirectmessagesthatyousent.

Favorite
: f a v o r i t e s

thetimelineconsistingoftweetsthatyoumarkedasafavorite.
: f a v o r i t e s /USER

thetimelineconsistingoftweetsthat USERmarkedasafavorite.

Hashtag
#HASHTAG thetimelineconsistingoftweetsincluding#HASHTAG.

Retweet
: r e t w e e t e d _ b y _ m e

retweetsthatyouposted.
: r e t w e e t e d _ b y _ u s e r /USER

(onlyondevelopmentversion)retweetsthat USERposted.
: r e t w e e t e d _ t o _ m e

retweetssenttoyourhometimeline.
: r e t w e e t e d _ t o _ u s e r /USER

(onlyondevelopmentversion)retweetssentto USERshometimeline.
: r e t w e e t s _ o f _ m e

yourtweetsthathavebeenretweetedbyothers.

Search
: s e a r c h /QUERYSTRING /

thetimelineconsistingoftweetsmatching QUERYSTRING.In QUERYSTRING, / (slash)and \ (backslash)must beescapedas \/ or \\ .

Alias
Youcandefineanaliasfortimelinespec.Bydefiningashortaliasasalongtimelinespec,youcanreferitmore easily.Therearetwotypesofalias,fixedandfunctionalasbelow.Bothtypesaredefinedintheassociationlistbound tothevariable t w i t t e r i n g t i m e l i n e s p e c a l i a s .
$ALIASNAME

thetimelinespecboundto ALIASNAME in t w i t t e r i n g t i m e l i n e s p e c a l i a s .
$ALIASNAME (ARGUMENT )

thetimelinespecgeneratedbycallingthefunction,whichisboundto ALIASNAME in t w i t t e r i n g t i m e l i n e
s p e c a l i a s ,withtheargument ARGUMENT.Thefunctioncanbespecifiedasasymboloralambdaexpression.

Functionsmustreceiveonestringargument. Asanexample,considerthefollowingdefinitionof t w i t t e r i n g t i m e l i n e s p e c a l i a s . ( s e t q t w i t t e r i n g t i m e l i n e s p e c a l i a s ' ( ( " F R I E N D S " . " m y a c c o u n t / f r i e n d s l i s t " ) ( " r e l a t e d t o " . ( l a m b d a ( u s e r n a m e ) ( i f u s e r n a m e ( f o r m a t " : s e a r c h / t o : % s O R f r o m : % s O R @ % s / " u s e r n a m e u s e r n a m e u s e r n a m e ) " : h o m e " ) ) ) ( " r e l a t e d t o t w i t t e r " . " $ r e l a t e d t o ( t w i t t e r ) " ) ) ) Withthisconfiguration,youcanusethebelowaliases. alias $FRIENDS $relatedto $relatedto(twitterapi) $relatedtotwitter equivalent myaccount/friendslist :home :search/to:twitterapiORfrom:twitterapiOR@twitterapi/ :search/to:twitterORfrom:twitterOR@twitter/

Youcanuseanaliasondefiningotheraliases,butadefinitionincludingacircularreferenceisforbidden.

Initialtimeline
Bysettingthe t w i t t e r i n g i n i t i a l t i m e l i n e s p e c s t r i n g ,youcanspecifytimelinesthatshouldbeopened initially.Timelinesarespecifiedbytimelinespecasfollows. ( s e t q t w i t t e r i n g i n i t i a l t i m e l i n e s p e c s t r i n g ' ( " : h o m e " " : r e p l i e s " " : f a v o r i t e s " " : d i r e c t _ m e s s a g e s " " : s e a r c h / e m a c s / " " u s e r _ n a m e / l i s t _ n a m e " ) )

Customizingyourkeybindings
Youcanuse t w i t t e r i n g m o d e h o o k tocustomizeyourconfiguration.Thisexampleshowshowtodefineafew keybindings: ( a d d h o o k ' t w i t t e r i n g m o d e h o o k ( l a m b d a ( ) ( m a p c ( l a m b d a ( p a i r ) ( l e t ( ( k e y ( c a r p a i r ) ) ( f u n c ( c d r p a i r ) ) ) ( d e f i n e k e y t w i t t e r i n g m o d e m a p ( r e a d k b d m a c r o k e y ) f u n c ) ) ) ' ( ( " F " . t w i t t e r i n g f r i e n d s t i m e l i n e ) ( " R " . t w i t t e r i n g r e p l i e s t i m e l i n e ) ( " U " . t w i t t e r i n g u s e r t i m e l i n e ) ( " W " . t w i t t e r i n g u p d a t e s t a t u s i n t e r a c t i v e ) ) ) ) )

Otherusefuloptions
( s e t q t w i t t e r i n g i c o n m o d e t ) S h o w i c o n s ( s e t q t w i t t e r i n g t i m e r i n t e r v a l 3 0 0 ) U p d a t e y o u r t i m e l i n e e a c h 3 0 0 s e c o n d s ( 5 m i n u t e s ) ( s e t q t w i t t e r i n g u r l s h o w s t a t u s n i l ) K e e p s t h e e c h o a r e a f r o m s h o w i n g a l l t h e h t t p p r o c e s s e s twitteringmodealsoprovideshooksthatarerunwhennewtweetsarrive.Thisexamplecallsnotifysend(includedin thelibnotifypackage)todisplayamessagewhennewtweetsarrive:

( a d d h o o k ' t w i t t e r i n g n e w t w e e t s h o o k ( l a m b d a ( ) ( l e t ( ( n t w i t t e r i n g n e w t w e e t s c o u n t ) ) ( s t a r t p r o c e s s " t w i t t e r i n g n o t i f y " n i l " n o t i f y s e n d " " i " " / u s r / s h a r e / p i x m a p s / g n o m e e m a c s . p n g " " N e w t w e e t s " ( f o r m a t " Y o u h a v e % d n e w t w e e t % s " n ( i f ( > n 1 ) " s " " " ) ) ) ) ) )

URLshorteningservice
ThedefaultURLshorteningservicefortwitteringmode2.0.0is tinyurl.com. Youcanuse bit.ly(or j.mp)addtheselinestoyour`.emacs` ( s e t q t w i t t e r i n g t i n y u r l s e r v i c e ' b i t . l y ) ( s e t q t w i t t e r i n g b i t l y l o g i n " Y O U R b i t l y U s e r n a m e " ) ( s e t q t w i t t e r i n g b i t l y a p i k e y " Y O U R b i t l y A P I k e y " ) Ifyournotsurewhatyourusernameis,lookatyour bit.lyPublicTimelinetofindit https://bitly.com/u/USERNAME(https://bitly.com/u/USERNAME) FindyourAPIKeyin bit.lysettings. Youcanalsosetyourdefaultshortdomain(e.g., j.mp)inthe bit.lysettings.

EnablingSpellCheckforTweets
Addthehookbelowtoenablespellcheckingbeforetweets ( a d d h o o k ' t w i t t e r i n g e d i t m o d e h o o k ( l a m b d a ( ) ( i s p e l l m i n o r m o d e ) ( f l y s p e l l m o d e ) ) )

Numberingmode
twitteringnumbering.el(https://github.com/pft/elispassorted/blob/master/twitteringnumbering.el)letsonenavigateto linksusingnumbers,thesamewayasisdoneinemacsw3m.

Discussion
halloleo(http://www.emacswiki.org/emacs/halloleo):imtryingthismodeanditworksprettygood,butimnot surehowtocompletely finishusingtwitter.doesq( t w i t t e r i n g s u s p e n d )dothis?idontthinkso:itonly switchestoanotherbuffer,thereforethetwittertimerstillretrievestweets

citizen428(http://www.emacswiki.org/emacs/citizen428):@halloleoHaveyoutried M x t w i t t e r i n g s t o p ?

RichardRiley(http://www.emacswiki.org/emacs/RichardRiley):Whatpackagesareneededforiconsupport?Also, wouldnt ( d e f i n e k e y k m " q " ' d e l e t e w i n d o w ) beagoodaddition?

Foriconsupport,tryadding ( t w i t t e r i n g i c o n m o d e )toyour . e m a c sAlbertoGarcia (http://www.emacswiki.org/emacs/AlbertoGarcia)

YouneedwgetforiconsupportonLinux.itcantakeawhiletodownloadiconssobepatientRichardRiley (http://www.emacswiki.org/emacs/RichardRiley).

ThatsabugIMHO.Theproblemisthaticonsaredownloadedwhilethetimelineisbeingdisplayedonscreen,so thefirsttimeanewuserappearsinyourtimeline,youwontseetheiriconbecauseitsstillbeingdownloaded. Youhavetowaittillthenextrefresh(orpressgtoforceit)AlbertoGarcia (http://www.emacswiki.org/emacs/AlbertoGarcia).

ImjustwonderingifIhavemissedsomethingobvious.Thedefaultistoseeyourfriendstweets.ButhowdoI tweettomytweetaccountfromthere?CurrentlyIhavetogotomytimeline(CcCu))andthenhittingreturn:is thereaquickerway?RichardRiley(http://www.emacswiki.org/emacs/RichardRiley).

YoucanusethesomewhatnonobviouskeybindingofCcCs(twitteringupdatestatusinteractive).

Iconsupportdoesnotworkinwindows.Ihavegnuwgetinstalledandinpath,andtheiconsaredownloadingto twitteringtmpdir.However,theydonotdisplayiniconmode.TimHoolihan

IconWorksonWindowsneedsGNUWin32imagepackages(http://gnuwin32.sourceforge.net/packages.html (http://gnuwin32.sourceforge.net/packages.html))installed,whichincludesjpeg,libungif,libpng,xpm,andzlib, etc.Andthepackagesdirmustbesetintothe%PATH%environmentvarious. BTW:IwishthiscodewouldsupportHTTPSandthirdpartyAPIinthefuture.Itwouldbeveryuseful.Moses

Iwishtwitteringmodewouldsupportsocketproxy.Ionlyusetortoconnecttwitter.rix

Iwrotesomepatchessothaticonmodeworkswellwithoutexternalprograms,wgetandconvert.Youcangetit frommyrepositoryongithubhttp://github.com/cvmat/twitteringmode/tree/withoutexternalprogram (http://github.com/cvmat/twitteringmode/tree/withoutexternalprogram).IconfirmeditwithNTEmacson WindowsXPandEmacsonDebian.TadashiMATSUO

Sorryformyrudeness.Atlast,Ifoundtor+privoxycanmakeahttpproxy.privoxysdefaultproxyportis8118. rix

hayamizhasmergedmypatchesintothemainrepository.Themainrepository http://github.com/hayamiz/twitteringmode/tree/master(http://github.com/hayamiz/twitteringmode/tree/master) nowsupportsiconmodewithoutexternalprograms.TadashiMATSUO

Anychancewecanhaveacountofcharacterswhiletweetingintheminibuffer?(twit.elhasthis,Ishouldlookat howitsdone)

Ifyouuse0.9.0,thecountisdisplayedindefault.Ifyouusethelatestversionongithub,youmayneedthe followingstatementinyour.emacs(setqtwitteringuseshowminibufferlengtht)Buttheoptionistindefault TadashiMATSUO

Icantseemyfolloweesretweets.Imfollowing@ebertchicago(RogerEbert,afilmcritik),butcantseehis massiveretweets.CananybodytellmehowcanIfixit?JeongtaeRoh

Doyouuse0.9.0?Indefault,itretrievesfriendstimeline,whichdoesnotincludenativeretweetsunlessthe specialoptionisembeddedintherequest(describedathttp://dev.twitter.com/doc/get/statuses/friends_timeline (http://dev.twitter.com/doc/get/statuses/friends_timeline)).Irecommendyoutousethelatestversionongithub. Itsupportshometimeline,whichincludesnativeretweets.TadashiMATSUO

SuddenlyIgetthiserrormessagefrommytwitteringmodeclient.Strangethingisitwasworkingfinebefore.Any clues? errorinprocesssentinel:Searchfailed:^M?^M? Thanksinadvance.

Theversion0.9.0seemstohavesomeproblemsondealingofnewlines.Butyourproblem,whichisalsoreported byotherpeople,maybetriggeredbyrecentmodificationontwitter.combecausethisproblemseemstoappear recently.Thelatestversionongithubwillsolvetheproblem.TadashiMATSUO

HowdoIavoidhavingtoauthorizetheapponceandagainwhenusingOAuth?AlbertoGarcia (http://www.emacswiki.org/emacs/AlbertoGarcia).

WiththeHEADversionongithub,youcanstoretheauthorizedtokenwithencryptionbyGnuPG (http://www.emacswiki.org/emacs/GnuPG).Ifyouhaveanencryptedtoken,younolongerneedtoretrievePIN codeviawebbrowser.Instead,youneedtoinputapassphrasefordecryption.Youcanenablethisfunctionby

thefollowingcode. ( s e t q t w i t t e r i n g u s e m a s t e r p a s s w o r d t ) ItrequiresGnuPG(http://www.emacswiki.org/emacs/GnuPG)andeitherEasyPG (http://www.emacswiki.org/emacs/EasyPG)oralpaca.el.PleaserefertoNEWSfileontheHEAD (http://github.com/hayamiz/twitteringmode/blob/master/NEWS)TadashiMATSUO

Ihavejustinstalled1.0afterremoving0.8.WhenIuseMxtwittoentertwmode,IjustgetAuthorizationvia OAuthfailed.TypeMxtwittoretry.intheminibuffer,andanempty:homebuffer.Thisisunhelpful.WhatcanI dotoactuallyauthorize?Icanthaveemacslaunchabrowser:myemacssessionlivesonadistantmachineand Iaccessitstrictlyintext,asadumbtty.Krinn

ItisbecauseTwitterhaschangedtheCAcertificaterequiredforserverauthenticationofapi.twitter.comand search.twitter.com.TheCAcertificateembeddedin1.0.0fails.TheHEADandthemostrecentrevisionon1.0.x branchongithubhavenewCAcertificate,whichcanauthenticatetheservers.TadashiMATSUO

20100905133600:IgetjusttheAuthorizationviamessageevenwiththegithubcheckout,dontseeany pagetoopenetc.WhichpageshouldIopeninanexternalbrowser?JJ

TheURLmustbedisplayedonthebufferopenedjustafterMxtwit.Thenitwillbeopenedby b r o w s e u r l if youallowit.Idonotknowhowtoreproduceyourcase.TheHEADongithubmayhelpyou.TadashiMATSUO

FiddledaroundwiththehookandwroteoneIthinkismoreusefulthanthesuggested.IalsousedToDoChiKu (http://www.emacswiki.org/emacs/ToDoChiKu)soitshouldworkwithgrowl,snarl,andlibnotify. ( a d d h o o k ' t w i t t e r i n g n e w t w e e t s h o o k ( l a m b d a ( ) ( l e t ( ( n t w i t t e r i n g n e w t w e e t s c o u n t ) ) ( i f ( > n 1 0 ) ( t o d o c h i k u m e s s a g e ( t w i t t e r i n g t i m e l i n e s p e c t o s t r i n g t w i t t e r i n g n e w t w e e t s s p e c ) ( f o r m a t " Y o u h a v e % d n e w t w e e t % s " n ( i f ( > n 1 ) " s " " " ) ) ( t o d o c h i k u i c o n ' s o c i a l ) ) ( d o l i s t ( e l t w i t t e r i n g n e w t w e e t s s t a t u s e s ) ( t o d o c h i k u m e s s a g e ( t w i t t e r i n g t i m e l i n e s p e c t o s t r i n g t w i t t e r i n g n e w t w e e t s s p e c ) ( c o n c a t ( c d r ( a s s o c ' u s e r s c r e e n n a m e e l ) ) " s a i d : " ( c d r ( a s s o c ' t e x t e l ) ) ) ( t o d o c h i k u i c o n ' s o c i a l ) ) ) ) ) ) )

Whenmorethan10tweetsareretrieved,itmakesamessagewiththespecasthetitleandthenumberoftweets inthemessage.Ifitgetslessthan10,amessageismadeofeach.Hopesomeoneelsefindsituseful. DaveKerschner(http://www.emacswiki.org/emacs/DaveKerschner) HowcanthiscodeworksfordisplayonlywhenIreceiveamention?.Exal

20100923Ialsoinstalledv1.0anditworksfineonmyLinuxsystembutnotonmyWindowssystem(getsame AuthorizationviaOAuthfailed.TypeMxtwittoretry.message).ItisthesameexactsetupthatIsync w/unison.IstheresomethingspecialneededforWindows?Ed

ForSSLconnection,Emacsrequiresanexternalprogram.Doyouhave c u r l ,`gnutls_clior o p e n s s l in execpath?Bytheway,IrecommendtheHEADongithub.Itsupportsencryptedlocalstorageofauthorizedkey andxAuth.YouneednottotakeaPINcoderepeatedly.Notethat`curl.exe(forWindows)distributedwith twitteringmodecannotcorrectlyperformHTTPSPOSTwithnonemptypostbodyviaaproxy.So,youcannot useitforxAuthviaaproxy.(YoucanuseitforOAuthandtweetretrieval.)Inaddition,`gnutls_cliand


o p e n s s l cannotbeusedwithaproxy.TadashiMATSUO

@repliesfrompeopleIfollowwhicharedirectedtopeopleotherthanmyselfdontshowupinmy:home timelineisthereanywaytochangethis?Alexis

Aliasmayhelpyou.Ifyouhavethebelowconfiguration,thetimeline$meincludessuchtweets. ( s e t q t w i t t e r i n g t i m e l i n e s p e c a l i a s ` ( ( " m e " . " $ r ( Y O U R U S E R N A M E ) " ) ( " r " . , ( l a m b d a ( u s e r n a m e ) ( f o r m a t " $ r e l a t e d t o ( % s ) " u s e r n a m e ) ) ) ( " r e l a t e d t o " . , ( l a m b d a ( u s e r n a m e ) ( i f u s e r n a m e ( f o r m a t " : s e a r c h / t o : % s O R f r o m : % s O R @ % s / " u s e r n a m e u s e r n a m e u s e r n a m e ) " : h o m e " ) ) ) ) ) Toreadtweetsrelatedtosomeone,youcanusethetimeline$r(HISORHERUSERNAME).Tadashi MATSUO

Anywaytoaddsupportforuserswitching?I.e.ifyouhavemultipleTwitteraccounts.TwIt (http://www.emacswiki.org/emacs/TwIt)hadthis,butnowhasbeendiscontinued,withitsdeveloperswitchingto TwitteringMode(http://www.emacswiki.org/emacs/TwitteringMode)JJ

Ilikethefeaturein rcircthatallowstogglingbetweenunread/msgsandthecurrentcodingbufferusing`CcC@ (`@space).Isthereachanceofintroducingthisfeature?Djui

Mar23,2011Ihadsimilarproblems,gettingthemessage:AuthorizationviaOAuthfailed.TypeMxtwitto retry.onGNUEmacs(Windows),twitteringmode1.0.0.IknowSSLworksbecauseIwrite/useotherEmacs applicationsthatconsumeHTTPScontent.Thefollowingstepsfixedthesituationforme:1)GettheupdatedCA certificatefromGit.2)Savethecertificatetotwitteringmode1.0.0/wincurl/equifax.cer3)Inyour.emacs,add: ( s e t q t w i t t e r i n g c u r l p r o g r a m ( c o n c a t s i t e l i s p p a t h " / t w i t t e r i n g m o d e 1 . 0 . 0 / w i n c u r l / c u r l . e x e " ) ) ( s e t q t w i t t e r i n g c e r t f i l e ( c o n c a t s i t e l i s p p a t h " / t w i t t e r i n g m o d e 1 . 0 . 0 / w i n c u r l / e q u i f a x . c e r " ) ) WheresitelisppathexpandstoyourEmacssitelispdirectory.NowwhenIdoMxtwit,Iseethesuccessful connectioninWiresharkandgettherequestformyOAuthPin.sboles

10May2011:Ifyoudliketofilterincomingtweetssothatthosematchingaparticularpatternarentdisplayedin yourtimeline,youmightfindthefollowingcodeuseful: ( s e t q t w i t t e r i n g t w e e t f i l t e r s ' ( " e x a m p l e " " e x a m p l e p h r a s e " ) ) ( d e f u n t w i t t e r i n g f i l t e r t w e e t s ( ) ( s e t q n o n m a t c h i n g s t a t u s e s ' ( ) ) ( d o l i s t ( s t a t u s t w i t t e r i n g n e w t w e e t s s t a t u s e s ) ( s e t q m a t c h e d t w e e t s 0 ) ( d o l i s t ( p a t t w i t t e r i n g t w e e t f i l t e r s ) ( i f ( s t r i n g m a t c h p a t ( c d r ( a s s o c ' t e x t s t a t u s ) ) ) ( s e t q m a t c h e d t w e e t s ( + 1 m a t c h e d t w e e t s ) ) ) ) ( i f ( = 0 m a t c h e d t w e e t s ) ( s e t q n o n m a t c h i n g s t a t u s e s ( a p p e n d n o n m a t c h i n g s t a t u s e s ` ( , s t a t u s ) ) ) ) ) ( s e t q n e w s t a t u s e s n o n m a t c h i n g s t a t u s e s ) ) ( a d d h o o k ' t w i t t e r i n g n e w t w e e t s h o o k ' t w i t t e r i n g f i l t e r t w e e t s ) Theabovewillnotdisplayanytweetscontainingthetextexampleorexamplephrase.Afiltercanconsistof anyregexacceptedbythestringmatchfunction. Testedwithemacs23.2. Alexis IfneedfilteringURLs(e.g.adf.ly,4sq.com)andusername,trythis:https://github.com/hayamiz/twittering mode/pull/73#issuecomment27641530(https://github.com/hayamiz/twitteringmode/pull/73#issuecomment 27641530) CodeisfromAlexisandcvmats:

F i l t e r i n g . ( d e f v a r t w i t t e r i n g f i l t e r u s e r s ' ( ) " * L i s t o f s t r i n g s c o n t a i n i n g u s e r n a m e s ( w i t h o u t ' @ ' p r e f i x ) w h o s e t w e e t s s h o u l d n o t b e d i s p l a y e d i n t i m e l i n e . " ) ( d e f v a r t w i t t e r i n g f i l t e r t w e e t s ' ( ) " * L i s t o f s t r i n g s c o n t a i n i n g p h r a s e s w h i c h w i l l p r e v e n t a t w e e t c o n t a i n i n g o n e o f t h o s e p h r a s e s f r o m b e i n g d i s p l a y e d i n t i m e l i n e . " ) ( d e f u n t w i t t e r i n g f i l t e r s a p p l y ( ) ( s e t q n o n m a t c h i n g s t a t u s e s ' ( ) ) ( d o l i s t ( s t a t u s t w i t t e r i n g n e w t w e e t s s t a t u s e s ) ( s e t q m a t c h e d t w e e t s 0 ) ( d o l i s t ( p a t t w i t t e r i n g f i l t e r u s e r s ) ( i f ( s t r i n g m a t c h p a t ( c d r ( a s s o c ' u s e r s c r e e n n a m e s t a t u s ) ) ) ( s e t q m a t c h e d t w e e t s ( + 1 m a t c h e d t w e e t s ) ) ) ) ( d o l i s t ( p a t t w i t t e r i n g f i l t e r t w e e t s ) ( i f ( s t r i n g m a t c h p a t ( t w i t t e r i n g m a k e f o n t i f i e d t w e e t t e x t w i t h e n t i t y s t a t u s ) ) ( s e t q m a t c h e d t w e e t s ( + 1 m a t c h e d t w e e t s ) ) ) ) ( i f ( = 0 m a t c h e d t w e e t s ) ( s e t q n o n m a t c h i n g s t a t u s e s ( a p p e n d n o n m a t c h i n g s t a t u s e s ` ( , s t a t u s ) ) ) ) ) ( s e t q n e w s t a t u s e s n o n m a t c h i n g s t a t u s e s ) ) ( a d d h o o k ' t w i t t e r i n g n e w t w e e t s h o o k ' t w i t t e r i n g f i l t e r s a p p l y ) ( s e t q t w i t t e r i n g f i l t e r t w e e t s ' ( " h t t p : / / 4 s q . c o m / . * " " h t t p : / / a d f . l y / . * " " I l i k e d a @ Y o u T u b e v i d e o " ) ) kuanyui

Aretherecommandstoviewlistsof(i)peoplewhoyourefollowingand(ii)peoplewhorefollowingyou?Forthat matter,isthereanymanual? BeSlayed(http://www.emacswiki.org/emacs/BeSlayed) HowcouldIexpandthenumberoftwittsretrievedonthemodestartup?Andwhywedonthaveacommandlike `twitteringfavoritetimeline`? FabioCosta?(http://www.emacswiki.org/emacs?action=editid=FabioCosta)

DoestheimagepublishingfeaturebeingincludedintheTODOlist?Itisaveryimportantfunctionfortwittering Cesc

AfterhavingtroubleinstallingtwitteringmodeandEasyPG(http://www.emacswiki.org/emacs/EasyPG)onthe mac,Ispentsometimeandmanagedtotrackdownacopyofalpaca.el(0.13).Ihavecreatedarepositoryforit here(https://github.com/unpluggd/alpaca.el)tomakeitalittleeasiertofindforanyonewishingtouseitinplace ofEasyPG(http://www.emacswiki.org/emacs/EasyPG).

unpluggd

CanIusetwitterslists?Ifoundapimethodsinthecode,butIdontunderstandhowtouseit. pimiento

Seealso:Twitter(http://www.emacswiki.org/emacs/Twitter)Identicamode(http://www.emacswiki.org/emacs/Identica mode)

(http://www.emacswiki.org/emacsja/TwitteringModeja) AddTranslation(http://www.emacswiki.org/emacs?action=translateid=TwitteringModemissing=de_es_fr_it_ko_pt_ru_se_zh)

Editthispage(http://www.emacswiki.org/emacs?action=editid=TwitteringMode) Viewotherrevisions(http://www.emacswiki.org/emacs?action=historyid=TwitteringMode) Administration(http://www.emacswiki.org/emacs?action=adminid=TwitteringMode)


Lastedited2013110311:15UTCbykuanyui(http://www.emacswiki.org/emacs/kuanyui)(diff)(http://www.emacswiki.org/emacs? action=browsediff=2id=TwitteringMode)

This work is licensed to (http://creativecommons.org/licenses/GPL/2.0/) you under version 2 of theGNU(http://www.gnu.org/)GeneralPublicLicense(/GPL).Alternatively,youmay choosetoreceivethisworkunderanyotherlicensethatgrantstherighttouse,copy, modify,and/ordistributethework,aslongasthatlicenseimposestherestrictionthat derivativeworkshavetograntthesamerightsandimposethesamerestriction.For example, you may choose to receive this work under the GNU (http://www.gnu.org/) Free Documentation License (/FDL), the CreativeCommons (http://creativecommons.org/) ShareAlike (http://creativecommons.org/licenses/sa/1.0/)License,theXEmacsmanuallicense,or similarlicenses(/OLD).

S-ar putea să vă placă și