Skip to content

About

WinWidgets makes web-based desktop widgets easy to develop. Using HTML, CSS, and JavaScript create your own Windows 11 widgets on the fly.

Topics

Resources

Code of conduct

Stars

161 stars

Watchers

3 watching

Forks

Repository files navigation

version badge


Logo

WinWidgets

Windows logo  Linux logo

Open-Source Widget application for Windows and Linux

Report Bug · Request Feature · Submit Widget

Buy Me A Coffee

About

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.

Support

These are the platforms officially supported by WinWidgets.

Platform Availability Supported Version
Windows ✅ Windows 11
Linux ⚠️ (W.I.P) Arch
MacOS ❌ Not planned

The software may run on operating systems or distributions not listed here but it isn't guaranteed.

Feature Parity

Current status of widget features on supported platforms:

Feature Windows 11 Linux
Opening widgets ✅ ✅
Transparency ✅ ✅
Restore widget position ✅ ⚠️
Top most ✅ ⚠️
System functions ✅ ⚠️

Linux Feature Limitations

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.

Screenshots

Purple Theme

Calm Theme

Default Theme

Building

This is a brief guide for all supported platforms to compile and run the application.

Windows prerequisites

Download the following applications using Chocolatey:

choco install git msys2 mingw make llvm

You may also download them manually. If you choose to do so: msys2 and mingw must 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-libzip

curl 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.

Linux prerequisites

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.

Compiling the software

Clone the repository:

git clone https://www.github.com/beyluta/WinWidgets.git

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 --remote

Compile for Windows 11:

make prepare && make

Compile for supported Linux distributions:

make

Contributing

Using A.I for assistance or research is very welcome. Fully vibe-coded solutions will be rejected.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Add yourself to the CONTRIBUTORS.txt file
  4. Commit your Changes (git commit -m 'Add some AmazingFeature')
  5. Push to the Branch (git push origin feature/AmazingFeature)
  6. Open a Pull Request

About

WinWidgets makes web-based desktop widgets easy to develop. Using HTML, CSS, and JavaScript create your own Windows 11 widgets on the fly.

Topics

Resources

Code of conduct

Stars

161 stars

Watchers

3 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages