ImageGlass.Tools is a set of APIs to integrate third-party software with ImageGlass. With ImageGlass.Tools, developers can extend the functionality of ImageGlass by integrating their own software solutions, making it a highly customizable and versatile tool for all image viewing needs.
You can download tools for ImageGlass 9 at: https://imageglass.org/tools
Here are the simple steps to use APIS from ImageGlass.Tools. You can check out the DemoApp
project for complete sample.
- To get started, you need to download or clone this repo.
- Create a new project in Visual Studio.
- Add
ImageGlass.Tools.csproj
as a reference project into your software. - Create a new instance of
ImageGlassTool
:
private readonly ImageGlassTool _igTool = new ImageGlassTool();
- Add event listeners to ImageGlass:
_igTool.ToolMessageReceived += IgTool_ToolMessageReceived;
_igTool.ToolClosingRequest += IgTool_ToolClosingRequest;
- Handle event from ImageGlass:
private void IgTool_ToolMessageReceived(object? sender, MessageReceivedEventArgs e)
{
if (string.IsNullOrEmpty(e.MessageData)) return;
if (e.MessageName == ImageGlassEvents.IMAGE_LOADED)
{
Trace.WriteLine("Image is loaded");
Trace.WriteLine(e.MessageData);
}
}
- Start connecting to ImageGlass:
await _igTool.ConnectAsync();
- Open ImageGlass Settings, click on tab "Tools"
- Click "Add..." button to add a new tool
- Fill in all the fields accordingly
- In
Argument
text box, fill<file>
so that ImageGlass will send the full path of the current viewing image file to the tool - Check the option
Integrated with ImageGlass.Tools
if the tool has implementation of ImageGlass.Tools - Check command preview to make sure your inputs are correct
- In
- Click "OK" button to close the dialog, click "OK" or "Apply" button to apply the changes
- Open
igconfig.json
file with a text editor such as NotePad or VS Code. - Ensure that ImageGlass app is not running.
- In the Tools section of the
igconfig.json
file, add the following code:
// in igconfig.json
"Tools": [
{
"ToolId": "Tool_MyDemoApp", // a unique ID
"ToolName": "My Demo app", // name of the tool
"Executable": "path\\to\\the\\DemoApp.exe",
"Argument": "<file>", // file path to pass to the tool
"Hotkeys": ["X", "Ctrl+E"], // press X or Ctrl+E to open/close the tool
"IsIntegrated": true|false // true: if the tool supports 'ImageGlass.Tools'
}
]
- Save the file, and you're done!