https://github.com/kyza/webtop
https://github.com/kyza/webtop
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/kyza/webtop
- Owner: Kyza
- License: mit
- Created: 2020-03-06T16:45:46.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-10T20:42:42.000Z (over 3 years ago)
- Last Synced: 2025-04-13T01:55:24.053Z (about 1 year ago)
- Language: JavaScript
- Size: 26.8 MB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Webtop
Easily build your own desktop using NodeJS and Electron.
# What is this?
Webtop is the **Windows 10 only** solution to the ugly default Windows desktop--and by `default` I mean `only`.
[Windows themes](https://www.deviantart.com/tag/windows10themes) come with a multitude of problems.
- It's time consuming to install them.
- Some they require paid apps for the full experience.
- They need to be updated when Microsoft changes things.
- Making them is a hassle, and Googling tutorials only gets you tutorials for default Windows themes like [this](https://www.laptopmag.com/articles/make-windows-10-theme). Rather than tutorials to create [what you're actually looking for](https://www.deviantart.com/tag/windows10themes).
Webtop has advantages over these problems.
- Since both Webtop and the desktop modules are created using NodeJS and Electron, programatical functionality can be added easily.
- **[Planned Feature]** You can set a different desktop for each monitor.
- It's very easy to install new desktops. Just drag them into your [desktops](https://github.com/KyzaGitHub/Webtop/tree/master/desktops) folder, change the desktop setting in your `config.json` file (`config.json` hasn't been implemented yet, change [this line](https://github.com/KyzaGitHub/Webtop/blob/7a18466b66af857908a98b0a7c5827696cda4c1a/index.js#L38) to point to the folder instead), and restart Webtop.
# How do I make one?
There is no documentation yet.
Take a look at the [AnimeJS](https://github.com/KyzaGitHub/Webtop/tree/master/desktops/AnimeJS) example desktop.
Change [this line](https://github.com/KyzaGitHub/Webtop/blob/7a18466b66af857908a98b0a7c5827696cda4c1a/index.js#L38) to point to the folder inside of [desktops](https://github.com/KyzaGitHub/Webtop/tree/master/desktops) that contains your desktop so that Webtop will load it.
# How do I run it?
Git and NodeJS are required to run Webtop.
Download/update Webtop.
```ruby
git clone https://github.com/KyzaGitHub/Webtop.git
```
As a first time setup for whenever you update Webtop, install the required `npm` packages.
```ruby
npm i
```
You are now ready to run Webtop.
```ruby
npm start --verbose
```
Provided that you haven't changed anything, this will run the [AnimeJS](https://github.com/KyzaGitHub/Webtop/tree/master/desktops/AnimeJS) example desktop on your primary monitor.
Closing the desktop will restore the default Windows taskbar.
# Why does Webtop only work on Windows 10?
Webtop only works on Windows 10 because there's no point to having this on Linux, and I don't have a macOS system to test anything on.
# Known problems.
- There's no _easy_ way to index files for replicating the Windows Start Menu search feature yet.
- If the first window that is opened using `node-window-manager` was maximized, it restores it down.
- Minimizing windows makes you lose them. This can be counteracted for now by restoring them.
- Windows that get moved to the hidden icon tray on the default taskbar--such as Discord when you close it--makes you lose them.
- The program crashes after prolonged use because of a memory leak in Electron.
- This is due to [a regressed problem with Electron's `desktopCapturer`](https://github.com/electron/electron/issues/21555).
- The latest known version without a memory leak is Electron 4.2.12.
- Webtop will stay on the latest verion of Electron until a newer version has a fix because downgrading the Electron version will bring back even more significant problems with `desktopCapturer`.