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:
- Made by humans for humans; no vibe-coding.
- Focus on creating your widgets with all the usual web tools to your disposal.
- Develop complex widgets using JavaScript.
- Create your widgets using your preferred tools.
- Listen to native OS events and act on them programmatically.
These are the platforms officially supported by WinWidgets.
| Platform | Availability | Supported Version |
|---|---|---|
| Windows | ✅ | Windows 11 |
| Linux | Arch | |
| MacOS | ❌ | Not planned |
The software may run on operating systems or distributions not listed here but it isn't guaranteed.
Current status of widget features on supported platforms:
| Feature | Windows 11 | Linux |
|---|---|---|
| Opening widgets | ✅ | ✅ |
| Transparency | ✅ | ✅ |
| Restore widget position | ✅ | |
| Top most | ✅ | |
| System functions | ✅ |
WinWidgets on Linux is still work-in-progress. Some features currently unavailable on Linux are not possible due to Wayland technical limitations:
- Window restore position: Not possible under Wayland.
- Window top most: Not possible under Wayland.
Wayland is a display server for Linux. Features blocked by Wayland architecture won't be technically possible on that platform.
This is a brief guide for all supported platforms to compile and run the application.
Download the following applications using Chocolatey:
choco install git msys2 mingw make llvmYou may also download them manually. If you choose to do so:
msys2andmingwmust be in the PATH environment variables.
After installing, open the MSYS2 terminal application and install these dependencies:
pacman -S mingw-w64-x86_64-curl mingw-w64-x86_64-libzipcurl and its dependencies will be installed by default in C:/tools/msys64. Verify
this path is correct and update the MINGW64 variable in the makefile if needed.
For Linux you need the packages gtk-3.0, appindicator3 and webkitgtk-4.1.
Make sure to get their corresponding -dev packages as well or else you
won't be able to compile.
Clone the repository:
git clone https://www.github.com/beyluta/WinWidgets.gitWhen 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 for Windows 11:
make prepare && makeCompile for supported Linux distributions:
makeUsing A.I for assistance or research is very welcome. Fully vibe-coded solutions will be rejected.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Add yourself to the CONTRIBUTORS.txt file
- Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request



