Open-Source Widget application for Windows and Linux
Report Bug
·
Request Feature
·
Submit Widget
WinWidgets makes web-based desktop widgets easy to develop.
Use a mix of HTML, CSS, and JavaScript to create your own widgets on the fly.
This is what makes this project interesting:
- 🧰 Focus on creating your widgets with all the usual web tools to your disposal.
- ⚙️ Develop complex widgets using JavaScript.
- 🖱️ Create your widgets from any tool or resource, then import it here.
- ⌨️ Listen to operating system events and act on them programmatically.
These are the platforms officially supported by WinWidgets.
| Platform | Availability | Supported Version |
|---|---|---|
| Windows | ✅ | Windows 11 |
| Linux | Arch | |
| MacOS | ❌ | N/A |
The software may run on operating systems or distributions not listed here but it isn't guaranteed.
Inside the application, you will find a tab "development". It includes a guide about widget development in WinWidgets.
You may also have a look in this repository under
assets/resources/ for some sample Widgets:
/WinWidgets/
| ...
| assets/
\_ resourcers/
| ...
| Clock.html
| Calendar.html
| Battery.htmlThis is a brief guide for all supported platforms to compile and run the application.
Download the following dependencies for Windows 11 with the following
Chocolatey command. Optionally you can download them manually and put
in your PATH environment variable.
choco install mingw make llvmFor Linux you need the packages cairo and webkitgtk-6.0. Make sure to get their
corresponding -dev packages as well, else you won't be able to compile.
These are commands that work for all supported platforms. Read them carefully to successfully compile the application.
When building for the first time you must run the following command to fetch dependencies:
git submodule update --init --recursive(Optional) Consider running the following when pulling remote changes to update dependencies:
git submodule update --recursive --remoteCompile the binary for debugging with the following command:
make debugCompile the binary for release with the following command:
make releaseExecute the program with:
make run- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Add yourself to the CONTRIBUTORS.txt file
- Open a Pull Request