Skip to content

emretulek/Widgets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Widget Manager

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.

Clock Widget

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.

Release Files

  • Widget Manager : Includes only the Widget Manager application. Download
  • Widget Manager + All Widgets: Includes Widget Manager and 10 different widgets. Download

Widgets

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

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"
}

Main Widgets

Below is a brief description of each widget and its corresponding repository link.

Clock

Displays the current time and date.

GitHub Repo

Clock Widget


CPU Monitor

Monitors real-time CPU usage.

GitHub Repo

CPU Monitor Widget


Memory Monitor

Tracks RAM usage, showing the current memory status, used, and free amounts.

GitHub Repo

Memory Monitor Widget


Network Monitor

Tracks real-time network traffic, displaying download and upload speeds.

GitHub Repo

Network Monitor Widget


Disk Monitor

Displays disk read/write capacity as a percentage. Can show specific disk usage (e.g., "C") or "Total" shared usage.

GitHub Repo

Disk Monitor Widget


Disk Usage

Visualizes disk space usage, showing free and used percentages.

GitHub Repo

Disk Usage Widget


Weather Widget

Provides 5-day weather forecasts.

GitHub Repo

Weather Widget


Finance Tracker

Tracks financial information like exchange rates, stocks, and indices in real time. Users can select financial instruments to monitor.

GitHub Repo

Finance Tracker Widget


Crypto Tracker

Tracks cryptocurrencies on the Binance exchange in real time. Users can choose their favorite pairs.

GitHub Repo

Crypto Tracker Widget


Radio

A widget designed for listening to internet radio stations. Built on VLCLib, it allows users to save their favorite stations.

GitHub Repo

Radio Widget


Widgets.Common

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.

GitHub Repo


License

This project is released under the AGPL License.