topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday March 28, 2024, 4:08 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: NANY 2014 Release: ImgFloat (a tool for Screenshot Captor)  (Read 54854 times)

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
NANY 2014 Release: ImgFloat (a tool for Screenshot Captor)
« on: November 20, 2013, 10:46 AM »
NANY 2014 Entry Information

Application NameImgFloat
Short DescriptionOverlay the Desktop with a recently taken screenshot
Supported OSesWindows XP/7 (Should work in Vista/8 also, but untested)
Web Pagehttp://thinkshui.net/software/imgfloat/
Setup FilePortable Version
DescriptionI’ve used Screenshot Captor on Windows to great effect for years, and it contains a ton of features.  But one feature that I didn’t even realize that it was mssing until recently was the ability to float the screenshot after it was taken.  Lately, I’ve been using my MacBook more, and came across an application ScreenFloat.  It’s not a full featured as Screenshot Captor, but the ability to float the section that you’ve just taken a screenshot of in a transparent window has a multitude of uses.

So, for NANY 2014, I’ve decided to create a tool that can be called by Screenshot Captor to float the just taken image in a transparent window.

I’ve done much of the research into what I’m doing with the recently announced Reference Overlay Tool, so the two should be very similar.
Features
  • Stub application that interfaces with SSC so that a new instance isn't launched each time
  • Primary application displays (and allows hiding of) window with transparent image
  • Allows the loading of an image separate from the launch method from the toolbar notification area
  • Currently supports GIF, PNG, and JPG
  • Allows user to change the opacity
  • Can be run portably or from the program files directory
  • Can be disabled without changing settings in SSC
  • Can be set to keep a tray icon up, or close after each capture
  • Allow the user to specify whether the images are stretched to the size of the window or not
  • Current image can be frozen in the window, so that other captures can be done without losing the current image
Screenshotsimgfloatscreen.pngNANY 2014 Release: ImgFloat (a tool for Screenshot Captor)

Doesn't adequately explain, looking back at it.  But I'll leave it.
Screencast
Documentationhttp://www.thinkshui.net/docs/imgfloat/
Installation
  • With .NET 4.0 installed, unzip application to preferred location.
  • To set up screenshot captor, open the preferences dialog, and navigate to Basic Capturing -> Post-Capture Options.
  • Check the checkbox labeled "Invoke these command lines after each capture"
  • Add a line to the textbox that contains your path where you unzipped ImgFloat, and add "%file%" to the end of the line.
  • For example: C:\Program Files\ImgFloat\ImgFloat.exe "%file%"

ImgFloat.png
UninstallingDelete application install location and remove command from screenshot captor preferences dialog.
NotesRequires .NET 4.0.
« Last Edit: January 06, 2014, 08:20 PM by wraith808 »

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: NANY 2014 Pledge: ImgFloat (a tool for Screenshot Captor)
« Reply #1 on: November 20, 2013, 10:57 AM »
Terrific  :up:

lanux128

  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 6,277
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge: ImgFloat (a tool for Screenshot Captor)
« Reply #2 on: November 20, 2013, 07:26 PM »
great idea! can't wait to see it released. :up:

kyrathaba

  • N.A.N.Y. Organizer
  • Honorary Member
  • Joined in 2006
  • **
  • Posts: 3,200
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge: ImgFloat (a tool for Screenshot Captor)
« Reply #3 on: November 20, 2013, 08:12 PM »
Very nice, wraith!  :Thmbsup:

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #4 on: November 20, 2013, 10:27 PM »
I have an alpha available for download (link above); I'd appreciate any and all feedback; especially if anyone has problems.  I'm using wcf net.pipe to communicate, and I'm not sure if there are going to be issues with this on anyone's machine.

Thanks!

cranioscopical

  • Friend of the Site
  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,776
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #5 on: November 20, 2013, 11:02 PM »
That's nice!

Works fine here on W7-64 SP 1.

Re opacity, it would be handy if there could be a toggle (double-click?) between transparent and opaque.

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #6 on: November 20, 2013, 11:11 PM »
First let me say I think this is great that you are doing this.
Please take my comments as constructive criticism -- these are just my 2 cents:

The idea of making an always-running background service would turn me off from ever using this kind of thing.  Perhaps if it was something I used constantly I might go to the trouble of installing it, etc.  But I am stingy with things i leave running in the background.  And the added complexity, while impressive from a programming standpoint, seems troublesome to me..

I still think the best way to do this is a standalone exe that can just be called with the image file from any tool, to do its thing, without any need for a background resident process and inter-process communication.

If the desire is to not have to restart the program on each call, that would seem to me to be best handled as I said, with a 2nd instance simply passing off control to the first instance (and then exiting) if the first instance is already running, and let the program have an option of whether to stay minimized in tray or exit..

Just my 2 cents! I think it's great either way.
« Last Edit: November 20, 2013, 11:28 PM by mouser »

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #7 on: November 20, 2013, 11:11 PM »
That's nice!

Works fine here on W7-64 SP 1.

Re opacity, it would be handy if there could be a toggle (double-click?) between transparent and opaque.
-cranioscopical (November 20, 2013, 11:02 PM)

Yeah... I plan to add some sort of setting for that next :)

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #8 on: November 20, 2013, 11:13 PM »
First let me say I think this is great that you are doing this.
Please take my comments as constructive criticism -- these are just my 2 cents:

The idea of making an always-running background service would turn me off from ever using this kind of thing.  Perhaps if it was something I used constantly I might go to the trouble of installing it, etc.  But I am stingy with things i leave running in the background.  And the added complexity, while impressive from a programming standpoint, seems troublesome to me..

I still think the best way to do this is a standalone exe that can just be called with the image file from any tool, to do its thing, without any need for a background resident process and inter-process communication.

If the desire is to not have to restart the program on each call, that would seem to me to be best handled as I said, with a 2nd instance simply passing off control to the first instance if the first instance is already running..

Just my 2 cents! I think it's great either way.

Even though I call it a service, it's really just another exe- no installation required.  If you run it, you'll see that it basically runs the other exe and sets up the named pipe.  One app just takes the command line parameters, sees if the other exe is running and the pipe set up.  If it's not, then it runs the other exe and sets up the pipe and adds the task bar notification.  You can close it if you wish after you're done with it... or leave it up.

Adding more info here- the reason I went with two .exes instead of one that looked for the other was load time.  The first exe that SSC runs has very little in the way of dependencies on purpose, so that it will load and run fast.  The one that actually shows the window and does the other stuff takes a bit of time.  In fact, so much so, that when the stub runs and it isn't available, I have to sleep the thread for a couple of seconds to make sure that it is up.  A couple of seconds to launch isn't such a big thing normally, but I wanted the stub that gets the input from SSC to be pretty lean.  If I had made it that same application, it would take the 2 seconds to run every time, even if there was another instance up.

Thoughts?
« Last Edit: November 21, 2013, 08:08 AM by wraith808 »

cranioscopical

  • Friend of the Site
  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,776
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #9 on: November 21, 2013, 01:25 PM »
Yeah... I plan to add some sort of setting for that next :)

Excellent!

FWIW, also works fine on W8.1 32- & 64-bit versions here.  :up:  :up:
 

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #10 on: December 04, 2013, 06:10 AM »
I think that sounds reasonable wraith, if i'm understanding..

It sounds like you've addressed my main concern -- which is that it won't install and start itself at startup as i understand it, but run on first actual use, and then just, in your way of thinking, stay running until you don't want it to anymore.

Let me see if i can clarify what i would be interested in from a different perspective, and again this is just my personal tastes i'm not saying they should be yours.

I would want to be able to "install" ImgFloat and use it occasionally (let's say one day a week when working on specific job), and not have it always running invisibly n the background.

I guess when i think about it -- this really puts you in a difficult position in terms of coding this as an external tool:
1. you have to worry about startup times.
2. there's no easy way to let user super-easily toggle this feature on or off as they need it.

i suppose those would be arguments for building this feature into SC if it was something many people needed -- so you are in a catch-22..

however, lets assume that there is value in doing it as a standalone tool -- perhaps not just useful from SC but from other apps, and get back to my main concerns about how it runs..

and i should also admit something else, which is that with today's large memory -- it's hard to justify caring about whether this is running as a background process -- it really won't be doing any harm.

it's more a psychological thing about having a background process running if i'm not going to be using it except for once a week or once a month.

i guess it's not really something i have a need for, so perhaps i'm not useful for thinking about this.  perhaps those that want this will be using it so frequently that they won't mind having a background process running all the time, and won't mind an always visible tray icon where they can exit the background process (or would the only way to see that it's running and kill it be from task manager?).

If there was an option to not stay-resident that might at least make it useful for people like me who just want to play with it on rare occasions..

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #11 on: December 04, 2013, 08:02 AM »
I'd toyed with adding an option to make it so that when you close the window it closes the whole application... I've been kicking this around a lot which (in addition to NaNoWriMo) are the reasons I haven't yet posted another iteration.

It had also been suggested that there be a way to turn it on and off so that you don't have to configure it in SSC when you need it/don't need it.  There were two ways for me to do it, and I've vacillated between the two:
1. Since the relay application is so small, I could just check for that option toggled in imgfloat before opening the image/opening the main application.  There's still a slight hit to it, but not major.
2. Directly edit the SSC ini file.  I see how the tools are added, and could parse it with regex to add and remove it... but I'm really leery of this approach.

I'm leaning towards option 1.  My plan is to knock out a lot of these decisions this week, and post another iteration of it with the changes in place.

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #12 on: December 06, 2013, 11:23 PM »
A new version is posted- it's at the same link as above. 

This version implements the settings dialog with the ability to disable imgfloat on the fly so that SSC doesn't use it without having to edit SSC configuration.  It also introduces opacity controls, though I need to smooth them out a bit, and the ability to always exit ImgFloat when you close the image rather than having the tooltray icon stick around.  Note that it will take longer to load after each screenshot if you click it.

The settings dialog can be accessed from right clicking the tooltray menu, or clicking the little ghosted out cog in the upper right corner of the image overlay (it ghosts in a bit more when you mouse over it).

When you unzip, you'll notice that there's a PortableConfig folder.  This has a default configuration file; if you put this into your app directory, ImgFloat will be completely portable and not write to anywhere else.  If it is not there, it will assume that it should use the AppData directory.  The option to use the appdata directory is there because if you put it into program files, I can't write to the directory.

There is also an option to directly run the imgfloatservice.exe from SSC if you want to totally do away with the startup service; make sure that you have it set to exit after each capture if you use this, and it hasn't been extensively tested (i put it in for unit testing and debugging).  You'd just replace imgfloat.exe with imgfloatservice.exe in the SSC options.

Thanks to Chris for the great suggestions and feedback!

skwire

  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 5,286
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #13 on: December 08, 2013, 06:27 PM »
Really nice, wraith808.  I like how smooth it is when you resize the floating window.   :Thmbsup:

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #14 on: December 08, 2013, 07:29 PM »
Thanks! :)

lanux128

  • Global Moderator
  • Joined in 2005
  • *****
  • Posts: 6,277
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #15 on: December 08, 2013, 07:36 PM »
@wraith808: thanks for the new version with new configurable options!

btw, currently I think ImgFloat locks the previewed file because I keep getting 'file-in-use' error when I try to delete unless I fully exit ImgFloat. is it possible to have an option to delete the last previewed file without exiting the ImgFloat?

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #16 on: December 08, 2013, 07:41 PM »
If you close the window, it doesn't release the file?  I'll check that! :)

cranioscopical

  • Friend of the Site
  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,776
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #17 on: December 08, 2013, 08:55 PM »
Hey, that's really nice!

It's great to have on-the-fly reference material posted to the screen so easily, with the ability still to see what's happening on the desktop. I know that would have been possible previously by playing with the opacity of various windows but this way is so much better.

Now... how do you plan on enhancing CH+S?  ;)
 


wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #18 on: December 10, 2013, 12:56 PM »
Ok... I need input on an interface peculiarity for a feature.

I want to have the ability to disconnect ImgFloat from SSC for periods of time, i.e. freeze the image.  Imagine that you get something for reference, and you want to keep browsing based on that and taking screenshots while keeping your reference up.

It's not hard to implement.  But how do I communicate it?

I'm thinking that I will put a checked menu item in the menus, so it's easy to toggle on and off- but I don't know what to call it to adequately communicate what it's for.  Any ideas?

mouser

  • First Author
  • Administrator
  • Joined in 2005
  • *****
  • Posts: 40,896
    • View Profile
    • Mouser's Software Zone on DonationCoder.com
    • Read more about this member.
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #19 on: December 10, 2013, 01:06 PM »
I want to have the ability to disconnect ImgFloat from SSC for periods of time, i.e. freeze the image.  Imagine that you get something for reference, and you want to keep browsing based on that and taking screenshots while keeping your reference up.

Since enough people seem to like this feature idea, it might warrant me putting a specific post-capture toggleable menu item in the tray menu for this.

So essential to post-capture i would have a dedicated item for specifying a post-capture "float" commandline tool, and a checkbox to enable or disable it.  Then users could enable and disable the post-capture use of that tool.

--

On the other side of the coin -- if one takes the standpoint that ImgFloat might be desirable as a more generic non-sc tool, there might be some value in having it handle such options..

I've already told wraith that if this tool becomes popular i will inevitably learn from (aka steal) all of it's ideas and built the feature into SC itself.  :-\
« Last Edit: December 10, 2013, 01:40 PM by mouser »

cranioscopical

  • Friend of the Site
  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,776
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #20 on: December 10, 2013, 04:42 PM »
I don't know what to call it to adequately communicate what it's for.  Any ideas?
suspend/resume ImageFloat? Lock/unlock current image?
 

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Pledge and Alpha: ImgFloat (a tool for Screenshot Captor)
« Reply #21 on: December 24, 2013, 10:22 AM »
With no other input, I plan to aim for Thursday to release the final version.  If there's any problems you're having, or any suggestions, let me know!

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Release: ImgFloat (a tool for Screenshot Captor)
« Reply #22 on: December 27, 2013, 10:30 PM »
New Release - Unless there's any other input, this is the final release, though I do plan to update with more documentation.

Changes:
1. Added ability to lock image in place.  If you mouse over the upper left hand corner, there is a lock icon; click that to toggle this mode.
2. Added about dialog.

cranioscopical

  • Friend of the Site
  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 4,776
    • View Profile
    • Donate to Member
Re: NANY 2014 Release: ImgFloat (a tool for Screenshot Captor)
« Reply #23 on: December 28, 2013, 01:39 AM »
Very nice indeed  :Thmbsup:

Thanks for adding image locking!
My only quibble is that I find it a bit difficult to see the state of the lock/unlock icon.
Is there a way to help with that? Fade in, on hover, to a higher degree of opacity? A tooltip? A locked/unlocked menu?
The settings icon is fine as it pops up a menu.
 

wraith808

  • Supporting Member
  • Joined in 2006
  • **
  • default avatar
  • Posts: 11,186
    • View Profile
    • Donate to Member
Re: NANY 2014 Release: ImgFloat (a tool for Screenshot Captor)
« Reply #24 on: December 28, 2013, 09:25 AM »
It should be fading in on hover... maybe I just need to make it fade in more and change the animation.  Let me tweak it a bit more.