Might be able to do that with a helper for the short term... Something in AutoIt3 which puts a text input box of a user defined size and no other GUI elements at a specified screen location and then sends the entered text off to Twitter... That way you could integrate it into your skin (with a fake input box of the same size as a place holder) and when a user clicks on the fake text box the real text box comes alive, takes input, sends it off to Twitter and disappears...Rykennedyan wrote:I've been able to do a lot with Twitter already. The only thing I think Rainmeter needs is the ability to enter text directly, and be able to submit it. That way a Twitter Rainmeter solution would be comprehensive.
"Enter" accepts the input, "Escape" (or maybe a mouse click outside the text box) exits without doing anything.
Need to call it with parms like "TwitterBox.exe TwitterName, TwitterPassword, LeftPos, RightPos, TopPos, BottomPos, InputBackgroundColor, InputTextColor" so it could be flexible enough to fit with people's skins.
Probably need some kind of counter to the left or right which counts chars in the input box so you know when you are getting near 140. Setting a limit of 140 is easy, but a counter so the user knows how far along they are is more consistent with most Twitter clients.
dragonmage wrote:Before you get started on this, I have an idea...
I like the sounds of this, but if you make the textbox it's own seperate program, that could send the commands to other "mini-apps" (like your Twitter app) I'd like it better.
Not sure I follow... What is the benefit to limiting this to those who have Executor (I'm not a launchy or executor fan myself, more of a mouse person than a keyboard shortcut person) or trying to build in calls to the hundreds of assorted twitter clients available, rather than just connecting to twitter via TCP and using their API to send the tweet?dragonmage wrote:Or we can just use Launchy or Executor, my preference is the latter. Here's details on setting up Executor to tweet. http://www.burning-star.com/2008/08/take-executor-beyond-application-launching/
Can you expand a bit on your thinking?
Ah... Sounds like a good idea. An extension of that is that rather than concentrating on Twitter, which I despise anyway, just write a helper that collects input and allow the text to be sent as a parameter to any program which accepts command line input. Then it is up to the user to send the text to his Twitter client, Executor, a wallpaper changer, a media player, RainThemes, whatever... Since different programs need different command line parameters, that could still be fleshed out in .cfg files for RainInput.exe (I think I am in a rut on these names... ) So in a \RainInput folder you have TweetDeck.cfg which has all the parms needed to send a tweet using that program, with RainInput filling in a "variable" input parameter. So for instance:dragonmage wrote:I was just giving the Launchy or Executor idea as another option for people to use.
As far as your app, I was suggesting that it be split into two apps. The Twitter app itself, and the text entry app. You would then specify which app to send the text to when typing the text. This would allow you to use the same textbox to send commands to other apps that you or others might make to interact with rainmeter, a sort of commandline.
The text app could then be configured via .ini. You set the dimensions, colors, etc in the ini file, maybe even set some aliases for the app paths. Say we have these apps in Rainmeter\Addons\ , the textbox app would be in Rainmeter\Addons\TextBox the other apps would be beside it (Like Rainmeter\Addons\TwitterBox\. We could put an alias in the TextBox.ini like..
!tw=..\TwitterBox\TwitterBox.exe twittername, twitterpass,
Then to tweet you just type !tw "I'm testing TwitterBox"
The TextBox app passes the parms to TwitterBox
Same concept would allow for other apps to be made that the TextBox could send info to.
!execute ["C:Program Files\Rainmeter\Helpers\RainInput\RainInput.exe" RainThemes.cfg LeftPos, RightPos, TopPos, BottomPos, InputBackgroundColor, InputTextColor]
(with those "LeftPos", "InputTextColor" etc. variables being numbers of pixels and strings like "255,255,255" of course)
RainInput would collect the input in a text box, and using a RainThemes.cfg file in the \RainInput folder:
would know to do something like this:
ShellExecute($ProgramPath & " " & $Parm1 & " " & $Parm2)
Which would cause RainThemes to load a theme with the name collected in $INPUT by RainInput.
Not all programs accept command line input of course, and there is the potential ugliness of an application GUI being launched by a command line input which may or may not close on its own, but that would have to be sorted out by the user. There are usually alternatives that will work the way they want. Twitter alone has about a hundred clients available in every flavor...
I like it... Gets me out of the Twitter business and is something that if not too hideously complicated to use might be good for lots of other needs.
Let me go figure out how to put up an input box with no other GUI elements. I know it can be done, but I haven't messed with it before. I need to find out how to associate a "control" like an input box with an application with no (or an invisible) "window". I think if I make the application window the same size as the input box, with no Titlebar, Menubar or borders, I can have it behave like a proper Windows application and not just an "orphan" control. My biggest concern is making sure it "exits" properly no matter what the user does or whether or not it has "focus". I don't want to leave a rouge process running which can only be killed with Task Manager or something since it has no "window".