Widget Manager is a Windows application that enables you to create, load, and manage customizable, standalone widgets for your desktop. The project is released under the AGPL license. This repository provides an overview of Widget Manager and the supporting plugins (widgets), including their functionality and features.
- Lightweight and User-Friendly: Widget Manager efficiently utilizes system resources.
- Flexible Structure: Users can activate/deactivate existing widgets or easily develop their own.
- Dynamic Loading: Widgets are loaded and unloaded as independent plugins.
- Auto-Start on System Boot: Automatically starts with Windows.
- Widget Manager : Includes only the Widget Manager application. Download
- Widget Manager + All Widgets: Includes Widget Manager and 10 different widgets. Download
Common settings for all widgets include:
- Height / Width
- Max Height / Max Width
- Min Height / Min Width
- Top / Left positions (desktop location)
- Margin
- Padding
- Border Width
- Border Color
- Background Color
- Auto Width (WPF Size to Content)
- Resizable
- Draggable
- Interactive
settings.default.json configuration file example
{
"Widgets": {
"ClockPlugin": {
"IsActive": false,
"Width": 400.0,
"Height": 200.0,
"MaxWidth": 99999.0,
"MaxHeight": 99999.0,
"MinWidth": 0.0,
"MinHeight": 0.0,
"Left": 200.0,
"Top": 200.0,
"Background": "#20000000",
"BorderBrush": "#FF000000",
"BorderThickness": "1,1,1,1",
"Margin": "0,0,0,0",
"Padding": "10,10,10,10",
"AllowsTransparency": true,
"WindowStyle": 0,
"ResizeMode": 3,
"ShowInTaskbar": false,
"SizeToContent": 0,
"IsHitTestVisible": true,
"Dragable": true
},
"NetworkMonitorPlugin": {
"IsActive": false,
"Width": 400.0,
"Height": 200.0,
"MaxWidth": 99999.0,
"MaxHeight": 99999.0,
"MinWidth": 0.0,
"MinHeight": 0.0,
"Left": 209.0,
"Top": 193.0,
"Background": "#20000000",
"BorderBrush": "#FF000000",
"BorderThickness": "1,1,1,1",
"Margin": "0,0,0,0",
"Padding": "0,0,0,0",
"AllowsTransparency": true,
"WindowStyle": 0,
"ResizeMode": 3,
"ShowInTaskbar": false,
"SizeToContent": 0,
"IsHitTestVisible": true,
"Dragable": true
}
}
}
The widgets are located under the Plugins directory, and each widget has its own folder. For example, the file paths for the Clock Plugin are as follows:
Widgets/Plugins/Clock/Clock.dll
Widgets/Plugins/Clock/clock.settings.json
Internal settings are unique configuration files for each widget. Beyond general features, the creator of the plugin can use this settings file to make anything customizable, such as font size, background, or any other property.
{
"clock_font_size": 64.0,
"clock_foreground": "#FF8B0000",
"date_font_size": 18.0,
"date_foreground": "#FFBC8F8F"
}
Below is a brief description of each widget and its corresponding repository link.
Displays the current time and date.
Monitors real-time CPU usage.
Tracks RAM usage, showing the current memory status, used, and free amounts.
Tracks real-time network traffic, displaying download and upload speeds.
Displays disk read/write capacity as a percentage. Can show specific disk usage (e.g., "C") or "Total" shared usage.
Visualizes disk space usage, showing free and used percentages.
Provides 5-day weather forecasts.
Tracks financial information like exchange rates, stocks, and indices in real time. Users can select financial instruments to monitor.
Tracks cryptocurrencies on the Binance exchange in real time. Users can choose their favorite pairs.
A widget designed for listening to internet radio stations. Built on VLCLib, it allows users to save their favorite stations.
Widgets.Common serves as the bridge between widgets and provides tools to simplify development for widget creators. It includes the essential base classes and examples for building widgets.
This project is released under the AGPL License.