예제 #1
0
        static void Main(string[] args)
        {
            var      twitter       = new TwitterConnection();
            DateTime lastTweetTime = twitter.LastTweetTime;

            twitter.UpdateTimeline();

            var consoleWindow = new ConsoleWindow(twitter);

            consoleWindow.StartLoop();
            //bool running = true;
            //updateTimer = new Thread(() => {
            //    while (running) {
            //        var tweets = twitter.UpdateTimeline();
            //        Console.WriteLine("Found {0} new tweets", tweets);
            //        Thread.Sleep(5000);
            //    }
            //});
            //updateTimer.Start();

            //while (running) {
            //    twitter.Tweets.Where(tweet => tweet.CreatedAt > lastTweetTime).ToList().ForEach(tweet => Console.WriteLine("{0}: {1} ({2})", tweet.User.Identifier.ScreenName, tweet.Text, tweet.CreatedAt));
            //    Thread.Sleep(1000);
            //}
        }
예제 #2
0
        public ConsoleWindow(TwitterConnection twitterConnection)
        {
            Curses.InitScr();
            Curses.CBreakMode    = true;
            Curses.Echo          = false;
            Curses.StdScr.Keypad = true;
            Curses.StartColor();
            Curses.InitPair(1, Colors.WHITE, Colors.RED);
            Curses.InitPair(2, Colors.RED, Colors.WHITE);

            this.tweets                = twitterConnection.Tweets;
            this.twitterConnection     = twitterConnection;
            this.visibleTimelineBuffer = new string[Curses.Lines - STATUS_HEIGHT - 1];
            this.TweetText             = "";

            this.topTweet = this.tweets.Count - 1;
            this.updateVisibleTimeline(this.topTweet);
            this.refreshTimeline();

            this.refreshTweetWindow();
        }