FileWatcher is currently a Windows only C# and IronPython driven program for running scripts when files are changed. Started experimenting in a branch to make it driven by C++, QT, and Python for performance reasons, but I've since dropped that project.
Go to file
Brian fa10b8b2ee Fixed concerning warnings, and a couple resource exceptions.
Renamed the Resources folder to what it originally was, res. Fixed the
designer file references, and did some reorganizing.  Made two images
embedded, so this increased the exe size. Odd how much it increased by
though, I will look into this; all the other images didn't bloat it this
much. Moved the cs related res files into the src folder since they tie
directly together with the cs files.
2013-12-22 17:33:10 -07:00
bin Fixed concerning warnings, and a couple resource exceptions. 2013-12-22 17:33:10 -07:00
code Fixed concerning warnings, and a couple resource exceptions. 2013-12-22 17:33:10 -07:00
scripts FileWatcher w/ sample script & sample settings 2013-12-20 20:16:48 -07:00
README.md Added examples of how FileWatcher can be used. 2013-12-22 16:49:16 -07:00

README.md

FileWatcher

FileWatcher is currently a Windows only C# and IronPython driven program for running scripts when files are changed. I plan on upgrading it to be driven by C++ and Python for performance reasons (Using Windows forms to make the conversion fairly painless), and I might make an effort to make it cross platform in the future (don't hold your breath); if I was to do such an upgrade it would be with QT.

The program is still in Alpha, though it's basically useable. I still have some bugs to work out, and A LOT of features to work out. I also plan on having some premade scripts to make using it as easy as possible. I have never written a plugin system before (well, the current implementation isn't one, but I'd like to try), so bear with me, and maybe send me some feedback on how I can improve the program.

Requirements

  • IronPython 2.7.3

Notes

  • FileWatcher runs in the background, it's a taskbar application. So when you close the windows, the program is still running. To exit you have to open up the menu File>Exit, or right click on the icon in the taskbar and hit Exit.
  • Play/Stop buttons do not yet do anything.
  • There are currently no hot keys, only keyboard shortcuts when the program is open. If you have a request for specific types of hotkeys, let me know.
  • There are some issues with running at startup that may not have been resolved in this version. I need to fix this.
  • Play/Stop buttons don't match the other icons because the icon pack doesn't contain such an option. I would like to fix this when I get the time.

Features

  • Script delay specifyable in units ms, s, m, and h. For instance, you can delay the script by "1s 500ms" or "1h 5m 25ms". This timer can be reset when a file is updated, or continue to count down when the first file was updated.
  • Script file is monitored for changes and can be reloaded at the press of a button.
  • Script Shortcut button for opening your favorite text editor and quickly updating the script.
  • If there's a problem with the script you'll be told what the basic issue is and where it is in the log window, or by hovering over the warning icon in the File Group where the script was loaded.
  • Create File Groups to monitor multiple directories, each group uses it's own script. (Currently you can't enable/disable groups, they're automatically active as long as everything is setup correctly)
  • System Tray notifications (currently not customizable, will be at a later time)
  • Console supports some basic ANSII escape sequences for colorization and what have you. This will be upgraded to support more at a later time (or if I find a support library to do it for me). This allows FileWatcher to support the Python Colorama package for colored Python output.

Screenshots

Screenshot 1

Examples for use

  • For Game Development purposes to "speed up" build times.
  • Build assets (shaders/textures/models) as they're updated. Instead of building everything when you go to run the game, assets are always being built in the background.
  • Your own customizable backup system.