1. It appears that the minimize button does not work for windows created by plugins. A fix would be appreciated. :)
2. In the API, a method to BatWindow to make a window non-resizable.
3. Allow plugins to be reloaded without a client restart.
4. In the API, the ability to add a BatWindow to the Settings menu, or to a separate menu reserved for plugin windows.
5. Or, instead of point 4, a change in the default behavior of the X button (which currently deletes the windows, I guess through the close() method) to call setVisible(false) instead, and a menu option to recall closed windows. Currently, if a plugin is not coded to detect that its window is visible and create a new instance of the window, then the only way for a player to bring the window back after hitting X is to restart the client.
6. A fix to the setVisible()/isVisible() methods. Currently, if a window is closed (X button), isVisible() will correctly return false, but if setVisible(true) is called on the closed window, isVisible() will return true, even though the window is null and stays closed.
7. Load plugins and scripts in parallel, so that one plugin or script doesn't cause excessive startup time.
8. In the API, the ability to use Batclient-specific objects to create a more uniform UI appearance, instead of the default Java one. For example, a BatButton that extends JButton and looks like the other buttons in the client, and BatTextField that extends JTextfield and looks like other text fields in the client.
9. Returns from BatClientPluginCommandTriggers may not be functioning as intended. According to the Javadoc, "if the trigger did not trigger on the incoming text, null should be returned. If the trigger has executed but should not modify the incoming text, the unmodifed input string should be returned. If the trigger should change the the text, the modified text should be returned." I would think this suggests that the text can be changed by the plugin before being passed on, but the original text seems to be sent to the server regardless of whether the original text, modified text, or null is returned.