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.
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:
!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:
RainThemes.cfg
ProgramPath=C:\Program Files\Rainmeter\RainThemes.exe
Parm1=/load
Parm2=$INPUT
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".