Today, we're opening up Windower 4.0 to a public beta. Some of you may remember the old v4 project, which at the time was a complete rewrite of Windower and all the plugins. That project has been long since abandoned; Windower 4.0 is based on the current 3.4 code base. What this means to you is that all of the plugins you currently use will work fine as-is, no needing to learn new systems. Please note that this is a beta, there may be issues. If anything breaks, let us know so we can get it fixed up asap.
So far with Windower, updating existing plugins or installing new plugins involved checking our forums periodically for updates or new releases. As a result, new plugins didn't get much exposure, and bugfixes were never picked up by users. This changes with the new Windower launcher. The launcher will update all of your plugins and the Windower hook automatically, making sure you're using the latest and greatest version of everything we have available. You'll also notice that the launcher has a Plugins menu. This lists all of the available Windower plugins, along with what they do. One click will automatically download and set up the plugins and any necessary files (settings, resources, etc). Launcher also uses google analytics to give us an idea of plugin usage, so we know where to concentrate our efforts. Don't worry, no personal identifying information is collected. An opt-out option is available in the installer to disable analytics collection.
The Windower core and plugins have also had some changes. You'll notice that Recast is no longer available, this has been replaced by the Timers plugin, which supports a graphical mode in addition to the old text-based recast mode. Buff duration support is currently in-progress, but the current version is available to download as a replacement for Recast.
Core has some changes as well. The new //video command allows your to record video directly from Windower. We've also fixed a few outstanding issues that affected text boxes and rendering, particularly on ATI cards.
For the developer types around, we have a few new additions that may be of interest to you. First off is that Windower now natively supports IPC. This means that plugins and addons(more on that later) can communicate with other Windower instances natively, without requiring a third-party program to act as mediator. This is relatively new and is only used by the Send addon right now, but we expect to see a lot of interesting functionality come from this.
Next up is some changes to how Windower communicates with third-party programs. There is a new WindowerHelper DLL(http://windower.net/windowerhelper-4.0.zip) that you will need to use any existing programs with Windower. As a result of this change, a lot of long-standing issues with third-party programs have been resolved and are no longer applicable, such as the 8-argument maximum to commands, as well as the inability to pick up commands fired in rapid succession.
We're using github to track issues and request improvements. The public issue tracker can be found here: https://github.com/Windower/Issues/issues
The next set of changes is mostly applicable to the developer types, so if that's not your thing, feel free to skip to the end for the download link and try out Windower 4.0
Finally, we have Lua. Since the projects inception, Windower has always been a closed off environment for developers. That is no longer the case. Lua is now integrated into Windower, allowing anyone to write scripts and addons. Scripts act like the .txt files currently run via //exec, with the exception that they can use logic and flow control in their execution. For example, you can now write a script that will check your party for the lowest health target and issue a cure command.
Addons are Lua scripts that are loaded and stay loaded indefinitely (or until unloaded by the user). They respond to commands or events, and indeed use the same callbacks that plugins do for handling these things. What this means is that anyone can now write an addon to do basically anything you want. Had an idea for a plugin but weren't able to do anything about it? Write an addon for it!
Why Lua and not just expose the C++ plugin API you ask? Well, two main reasons. First off, C++ isn't the friendliest language to deal with. Working with FFXI tends to be pretty heavy on string manipulation, which is one area where C++ unceremoniously fails. Additionally, the barrier to entry for Lua is much lower than a relatively low-level language like C++. Second, having addons in Lua eliminates the chance for a developer to disappear and leave a project un-maintained. Since everything is Lua code, anyone can come in and pick up development when the original developer leaves.
Lua addons and scripts are managed through our Lua github project: https://github.com/Windower/Lua
Our Lua Wiki has plenty of information to get you started on addon development: http://dev.windower.net/wiki/doku.php?id=dev:lua:start
Enough should be already exposed in the API to develop quite a few things, but I'm adding more every day. If there's some functionality missing that you need, be sure to ask so I can get to it right away. The Lua project has a public issues tracker that can be used for submitting enhancement requests or bugs. Note that addons get their own directory, so it doesn't end up the cluttered mess that the plugins folder has become. Since this is a public GitHub project, anyone can contribute, just fork the repository, make your changes, and submit a pull request.
Additionally, Lua addons will be featured in the launcher in a similar method to plugins. This is, however, still in progress at the burnent, so for the time being you'll need to download addons manually.
Download Windower 4.0 here: http://windower.net/Windower4Setup.exe
Remember to visit the Plugins menu in the new launcher and install/active any plugins you want to use.
----- FROM HERE ON, THIS IS YUGL'S EDIT TO THE ORIGINAL POST -----
Q: How do I ask set background resolution?
A: Windower Folder > Settings.xml file. Look for <supersampling> and set the value accordingly. This value multiplies with the BG resolution you set. For instance, if you use 500x600 and set supersampling to 0.5, you'll use BG resolution 250x300 instead.
Q: How do I unload every plugin?
A: Type //unloadall within chat
Q: How do I unload a specific plugin?
A: Type //unload NameOfPluginHere
Q: How do I load, unload, and reload an addon?
A: Type //lua l/u/r NameOfAddonHere