This should be a somewhat easy fix in theory but a bit more difficult in practice, just need to identify the new line character in the tweet, then add the padding value before starting the new line text.
This should push tweet text on a newline out in line with the rest of the tweets.
I believe this is a documented bug in the argparse module where command line arguments are returned randomly, currently there is no limitation on combining -m or -t arguments and will return them in a set order tweets first then mentions etc. regardless of the order then were entered in the command line.
I don't think this is a big issue because this script is designed to run in GeekTool and you can just create a new shell command and separate the commands functions but this working properly would be nice (and cleaner).
Solutions would be to use an alternative to argparse or do some manual command line checking.
Currently when trying to authenticate to Twitter using OAuth it will check that the config file that CONSUMER_KEY, CONSUMER_SECRET, ACCESS_KEY, ACCESS_SECRET values exist but does not test if these are valid variables when making API calls.
Tweepy has a verify_credentials which should be used.
At the moment GeekTool either cuts off the output if the tweet text is longer than the GeekTool shell space, if you use the 'Force carriage return' value it will break formatting.
Having an option to set the number of characters tweet text should be then forcing a word wrap to a new line would be an ideal solution. Need to use some code to make sure tweet text is only wrapped after space characters and not in the middle of a word.
I run /usr/bin/python /pathtoscript.py -t -c30 as described but it gives me no output. Keys set up properly (I also dont get error messages). Please help!