https://github.com/genesisneo/sokan
Easily organize windows without using a mouse.
https://github.com/genesisneo/sokan
app application control css css3 electron html html5 javascript move nodejs window windows
Last synced: about 1 year ago
JSON representation
Easily organize windows without using a mouse.
- Host: GitHub
- URL: https://github.com/genesisneo/sokan
- Owner: genesisneo
- License: mit
- Archived: true
- Created: 2017-09-03T15:37:40.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2025-02-28T22:13:00.000Z (over 1 year ago)
- Last Synced: 2025-03-04T22:19:07.305Z (over 1 year ago)
- Topics: app, application, control, css, css3, electron, html, html5, javascript, move, nodejs, window, windows
- Language: JavaScript
- Homepage:
- Size: 453 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Sōkan (壮観)
Easily organize windows without using a mouse.
---
#### Table of Contents:
* [Download](#download)
* [Support this project](#support-this-project)
* [How to setup](#how-to-setup)
* [Development](#development)
* [Task Scheduler](#task-scheduler)
* [Question](#question)
---
## Download
You can download the application on the release page.
https://github.com/genesisneo/sokan/releases
---
## Support this project
If you rely on this tool and find it useful, please consider supporting it.
Maintaining an open-source project takes time and a cup of coffee would be greatly appreciated!
---
## How to setup
* Please note that this application only works on **_Windows_** operating system
* Download, Fork, or Clone this repo
* Download and install [Node.js ^20.12.2](https://nodejs.org/en/download/releases/).
If you need multiple versions, you can use [nvm-windows](https://github.com/coreybutler/nvm-windows)
* Install the latest **_Python_** from [Microsoft App Store](https://apps.microsoft.com/search/publisher?name=Python+Software+Foundation).
I use [Python 3.12](https://www.microsoft.com/store/productId/9NCVDN91XZQP?ocid=pdpshare) when developing this project
* Install **_Visual Studio 2019_** or later.
Use the `Desktop development with C++` workload from [Visual Studio Community](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community)
* Open your preferred **_shell_** as Administrator and execute this command
```
Set-ExecutionPolicy RemoteSigned
```
* Install `node-gyp` globally
```
npm i node-gyp -g
```
* Navigate back to this repo and install all the dependencies
```
npm i
```
* You can now do the following:
```
# start application
npn run start
# clean the application
npm run clean
# package the application
npm run package
# build the portable
npm run build
```
---
## Development
To show developer tool and excute console log.
You can add the following code after `window.loadFile`.
```
window.webContents.openDevTools();
window.webContents.executeJavaScript(`console.log(">>> ${process.execPath}")`);
```
---
## Task Scheduler
Since the application is not signed, it will not run on Windows start, even if the application is added on the following:
```
# registry editor
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
# windows startup
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup
```
To run the application on Windows start, we can use Task Scheduler. The `scheduler.bat` file, will create a basic task when **_Run as administrator_**.
Please note that before running this file as administrator, edit the file using Notepad or your preferred text editor and update the `"C:\PATH\TO\Sokan.exe"` accordingly. See example below.
```
SCHTASKS /CREATE /SC ONSTART /TN "Sokan" /TR "C:\Program Files\Customization\Sokan.exe" /RL HIGHEST
```
---
## Question
If you have question, you can always contact me on Twitter [@genesis_neo](https://twitter.com/genesis_neo) and of course here in GitHub [@genesisneo](https://github.com/genesisneo). Thank you.
---
-=[ :heart: ]=-