Skip to content

Commit b767759

Browse files
committed
init
0 parents  commit b767759

19 files changed

+19190
-0
lines changed

.eslintrc.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"es6": true,
5+
"node": true
6+
},
7+
"extends": [
8+
"eslint:recommended",
9+
"plugin:@typescript-eslint/eslint-recommended",
10+
"plugin:@typescript-eslint/recommended",
11+
"plugin:import/recommended",
12+
"plugin:import/electron",
13+
"plugin:import/typescript"
14+
],
15+
"parser": "@typescript-eslint/parser"
16+
}

.gitignore

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
yarn-debug.log*
6+
yarn-error.log*
7+
lerna-debug.log*
8+
9+
# Diagnostic reports (https://nodejs.org/api/report.html)
10+
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
11+
12+
# Runtime data
13+
pids
14+
*.pid
15+
*.seed
16+
*.pid.lock
17+
.DS_Store
18+
19+
# Directory for instrumented libs generated by jscoverage/JSCover
20+
lib-cov
21+
22+
# Coverage directory used by tools like istanbul
23+
coverage
24+
*.lcov
25+
26+
# nyc test coverage
27+
.nyc_output
28+
29+
# node-waf configuration
30+
.lock-wscript
31+
32+
# Compiled binary addons (https://nodejs.org/api/addons.html)
33+
build/Release
34+
35+
# Dependency directories
36+
node_modules/
37+
jspm_packages/
38+
39+
# TypeScript v1 declaration files
40+
typings/
41+
42+
# TypeScript cache
43+
*.tsbuildinfo
44+
45+
# Optional npm cache directory
46+
.npm
47+
48+
# Optional eslint cache
49+
.eslintcache
50+
51+
# Optional REPL history
52+
.node_repl_history
53+
54+
# Output of 'npm pack'
55+
*.tgz
56+
57+
# Yarn Integrity file
58+
.yarn-integrity
59+
60+
# dotenv environment variables file
61+
.env
62+
.env.test
63+
64+
# parcel-bundler cache (https://parceljs.org/)
65+
.cache
66+
67+
# next.js build output
68+
.next
69+
70+
# nuxt.js build output
71+
.nuxt
72+
73+
# vuepress build output
74+
.vuepress/dist
75+
76+
# Serverless directories
77+
.serverless/
78+
79+
# FuseBox cache
80+
.fusebox/
81+
82+
# DynamoDB Local files
83+
.dynamodb/
84+
85+
# Webpack
86+
.webpack/
87+
88+
# Vite
89+
.vite/
90+
91+
# Electron-Forge
92+
out/

README.md

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Electron Overlay Application
2+
3+
This is a simple Electron application that creates a full-screen overlay with adjustable transparency. The overlay can be hidden or shown with a keyboard shortcut, and the transparency can be adjusted incrementally.
4+
5+
## Features
6+
7+
- Full-screen overlay that covers the entire screen, including the macOS menu bar
8+
- Adjustable transparency using keyboard shortcuts
9+
- Hide/show overlay using a keyboard shortcut
10+
- Quit the application using a unique keyboard shortcut
11+
12+
## Keyboard Shortcuts
13+
14+
- `Ctrl+Up Arrow` / `Cmd+Up Arrow`: Increase transparency
15+
- `Ctrl+Down Arrow` / `Cmd+Down Arrow`: Decrease transparency
16+
- `Ctrl+H` / `Cmd+H`: Hide/show overlay
17+
- `Ctrl+Shift+Q` / `Cmd+Shift+Q`: Quit the application
18+
19+
## Getting Started
20+
21+
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
22+
23+
### Prerequisites
24+
25+
You need to have Node.js and npm installed on your machine. You can download them from [here](https://nodejs.org/).
26+
27+
### Installing
28+
29+
1. Clone the repository
30+
```bash
31+
git clone https://github.com/agentcole/electron-overlay.git
32+
cd electron-overlay
33+
```
34+
35+
2. Install the dependencies
36+
```bash
37+
npm install
38+
```
39+
40+
3. Start the application
41+
```bash
42+
npm start
43+
```
44+
45+
## Built With
46+
47+
- [Electron](https://electronjs.org/) - Framework for building cross-platform desktop apps with JavaScript, HTML, and CSS
48+
- [TypeScript](https://www.typescriptlang.org/) - Typed JavaScript at Any Scale
49+
50+
51+
52+
## Contributing
53+
54+
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on the code of conduct, and the process for submitting pull requests.
55+
56+
## Versioning
57+
58+
We use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on this repository](https://github.com/agentcole/electron-overlay/tags).
59+
60+
## Authors
61+
62+
- **Agent Cole** - *Initial work* - [agentcole](https://github.com/agentcole)
63+
64+
See also the list of [contributors](https://github.com/agentcole/electron-overlay/contributors) who participated in this project.
65+
66+
## License
67+
68+
This project is licensed under the MIT License.
69+

appicons/icon.icns

416 KB
Binary file not shown.

appicons/icon.png

635 KB
Loading

forge.config.ts

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
import type { ForgeConfig } from '@electron-forge/shared-types';
2+
import { MakerSquirrel } from '@electron-forge/maker-squirrel';
3+
import { MakerZIP } from '@electron-forge/maker-zip';
4+
import { MakerDeb } from '@electron-forge/maker-deb';
5+
import { MakerRpm } from '@electron-forge/maker-rpm';
6+
import { AutoUnpackNativesPlugin } from '@electron-forge/plugin-auto-unpack-natives';
7+
import { WebpackPlugin } from '@electron-forge/plugin-webpack';
8+
import { FusesPlugin } from '@electron-forge/plugin-fuses';
9+
import { FuseV1Options, FuseVersion } from '@electron/fuses';
10+
11+
import { mainConfig } from './webpack.main.config';
12+
import { rendererConfig } from './webpack.renderer.config';
13+
14+
const config: ForgeConfig = {
15+
packagerConfig: {
16+
asar: true,
17+
icon: 'appicons/icon'
18+
},
19+
rebuildConfig: {},
20+
makers: [new MakerSquirrel({}), new MakerZIP({}, ['darwin']), new MakerRpm({}), new MakerDeb({})],
21+
plugins: [
22+
new AutoUnpackNativesPlugin({}),
23+
new WebpackPlugin({
24+
mainConfig,
25+
renderer: {
26+
config: rendererConfig,
27+
entryPoints: [
28+
{
29+
html: './src/index.html',
30+
js: './src/renderer.ts',
31+
name: 'main_window',
32+
preload: {
33+
js: './src/preload.ts',
34+
},
35+
},
36+
],
37+
},
38+
}),
39+
// Fuses are used to enable/disable various Electron functionality
40+
// at package time, before code signing the application
41+
new FusesPlugin({
42+
version: FuseVersion.V1,
43+
[FuseV1Options.RunAsNode]: false,
44+
[FuseV1Options.EnableCookieEncryption]: true,
45+
[FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false,
46+
[FuseV1Options.EnableNodeCliInspectArguments]: false,
47+
[FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: true,
48+
[FuseV1Options.OnlyLoadAppFromAsar]: true,
49+
}),
50+
],
51+
publishers: [
52+
{
53+
name: '@electron-forge/publisher-github',
54+
config: {
55+
repository: {
56+
owner: 'agentcole',
57+
name: 'electron-overlay'
58+
},
59+
prerelease: false,
60+
draft: true
61+
}
62+
}
63+
]
64+
};
65+
66+
export default config;

0 commit comments

Comments
 (0)