Beginner Builder series 75% done! will probably never be finished. :(

Tuesday, July 28, 2009

Dropper: Drop 'n' go


Dropper is a little program that I wrote that shows a little box. When you drop files onto this box, it will open those files with whatever program you have specified. It's a type of "drop box", if you will.

I would like to first and foremost thank Brother Gabriel-Marie, who e-mailed me with suggestions for PEM, one of them being a "drop box" program for use with PEM. So without him, there would be no Dropper.

So the nice thing about Dropper is how customizable it is. You can set the program, of course, but you can also set the icon to whatever you want: PNG, JPG, ICO, even an EXE icon (like the icon of the program you're using. You can also resize it to almost any size you want (although I did put a cap on the smallest being 25x25, just so you don't lose it.) You can also set the transparency, anything from completely solid, to being barely visible. The background (that is, the color behind the icon) is also customizable, even though at the moment, you have the choice of white, black, and the default windows color. Lastly, there's the option of making it Always On Top (which I recommend), and the option of Enabling/Disabling it, meaning you can't drop files onto it.

That's about it. It runs at the Autohotkey usual 3.7mb of RAM, it's only 300kb in size. It's not quite portable, as it needs a few more tweaks to be able to make paths relative, but it's getting there. It's fairly beta, at the moment, and there's many things that I want it to have, but not yet. So here's a FAQ to answer some questions you might have:

Is Dropper portable? No (even though I already discussed it). While Dropper does not require any files outside of itself, the paths you choose are not relative yet, so it won't work across different drives (yet).
Why is my image fuzzy sometimes? There are two reasons I've come across this so far. The first is if you've resized Dropper to be very small, chosen a new image, then resized. If that's the case, just restart Dropper, and it should display a full sized icon/picture. The second case is with EXEs. For some reason, Autohotkey (the language it was written in) is not very good with using icons from EXEs, and it won't use the correct size. I'm working to correct this.
Can I use a transparent background? I thought of this feature and wanted to include it (there's even the menu option), but I ran into many roadblocks along the way. So no, you can't, and until I find away to do away with all the side effects and obstacles you'll never be able to.
Can I use a moving GIF? Again, nice feature to have, but no. This is again due to limitations of Autohotkey. You can choose a moving GIF, but it will only show the first frame. GIFs may not be displayed correctly, period.
Why do some windows underneath Dropper distort when I resize it? Are you teh haxxor? Strange bug I encountered. Just minimize-restore the window. :P


As you can see, there's missing features and some bugs, but it actually functions very well. You can drop multiple files onto it, and it will handle them no problem. Also, feel free to download the source, modify it, and make your own Dropper. Just please, give credit where credit is due.


9 comments:

  1. As you're using AutoHotKey for this program, wouldn't it be nice to publish the program in the forum on their site too?

    ReplyDelete
  2. Anonymous, I would except people on there are so smart, they post these crazy programs and scripts with all their DllCalls and COM libraries and whatnot, and if I posted every little program that I wrote in my spare time, well, I'll look a little silly.

    -Jon

    ReplyDelete
  3. Jon, don't be shy; they'll be very interested in your program.
    They'll even give you tips for improvement, if there s any need for that, and if you want them to. I've been there, I've been part of their great community back when I dabbled in AHK. They gave me very good advice, and I tried to help them when I could.

    ReplyDelete
  4. Alright, I posted. We'll see what they think. :)

    -Jon

    ReplyDelete
  5. Nice program, useful and intuitive. I use some similar solution to execute programs under different credentials ( one "drop box" for each user ).

    I'd love some option for "hiding" the boxes at screen sides ( I'm not very fond of always-visible transparent icons in my screen ), but you are generous enough to show the code so I'll try :)

    I now have curiosity for how you launch software... I'm going to read older posts

    ReplyDelete
  6. Thanks, Anonymous! I bet I could throw in a "per user" setting. Separate INI files for each user? :)

    The hiding at screen side sounds wonderful, although I'm not sure I want to undertake such a task in Dropper right now, just because I'm not even entirely sure just how stable it is. It's got way more bugs than I would like, at the moment.

    However, if you want to try to throw that option in there, be my guest! I apologize for the code...it's uncommented and unorganized...I usually try to organize and comment my code before I release it.

    If it would be alright with you, if you do end out adding the hide feature, would you mind sending me the source? I would love to incorporate it into Dropper! (And I wouldn't dare try to take credit for it! Heavens no!)

    Thanks for the comment. :-) Good to know some people are looking at the source as well as the program!

    -Jon

    ReplyDelete
  7. Ah cool. There was a program like this on the Commodore-Amiga that did exactly the same thing around 1994 "Drag 'n' Drop". I think it worked off file extensions as well as the option to analyze the file and launch some predefine application for that filetype.

    ReplyDelete
  8. Try checking out PEM. There's a special version of Dropper which (combined with PEM) should do exactly what you said. :)

    -Jon

    ReplyDelete
  9. Thanks Jon.
    Looking forward to it, this will definitely be useful.

    The amount of times I've wanted to open a file but not by the default extention for various reasons (for instance a hex dump of a file). With dropper it provides an alternative 'default action' without additional steps.

    I've a funny feeling we could work together on some new projects ;-)

    ReplyDelete