├── .github
└── workflows
│ └── deploy.yml
├── .gitignore
├── .nojekyll
├── CNAME
├── README.md
├── _coverpage.md
├── _media
├── SunnyCapturer_01.png
├── images
│ ├── en_windows_protected_your_PC_and_run.jpg
│ ├── run_exhibition
│ │ ├── ARM64_Deepin_V23.jpg
│ │ ├── Debian12_01.jpg
│ │ ├── Debian12_02.jpg
│ │ ├── Debian12_03.jpg
│ │ ├── Deepin23_01.jpg
│ │ ├── Deepin23_02.jpg
│ │ ├── Deepin23_03.jpg
│ │ ├── Loongson_Deepin_V23.jpg
│ │ ├── OpenKylin2.0_01.jpg
│ │ ├── Ubuntu20.04_01.jpg
│ │ ├── Ubuntu20.04_02.jpg
│ │ ├── Ubuntu20.04_03.jpg
│ │ ├── Ubuntu24.04_01.jpg
│ │ ├── Ubuntu24.04_02.jpg
│ │ ├── Ubuntu24.04_03.jpg
│ │ ├── Ubuntu24.04_04.jpg
│ │ ├── macOS13_01.jpg
│ │ ├── macOS13_02.jpg
│ │ ├── win11_01.jpg
│ │ ├── win11_02.jpg
│ │ └── win11_03.jpg
│ └── zh_windows_protected_your_PC_and_run.jpg
└── img
│ ├── copy_dark.svg
│ ├── counter_dark.svg
│ ├── image_dark.svg
│ ├── pin_dark.svg
│ ├── save_dark.svg
│ └── save_file_dark.svg
├── _sidebar.md
├── acknowledgement.md
├── changelog.md
├── development_technology.md
├── extract_text_ocr.md
├── favicon.ico
├── getting_started.md
├── image_translation.md
├── index.html
├── logo.svg
├── office_site.md
├── supported_os.md
├── translation.md
├── troubleshooting.md
└── zh-cn
├── README.md
├── _sidebar.md
├── acknowledgement.md
├── changelog.md
├── development_technology.md
├── extract_text_ocr.md
├── getting_started.md
├── image_translation.md
├── office_site.md
├── supported_os.md
├── translation.md
└── troubleshooting.md
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | pages:
2 | stage: deploy
3 | script:
4 | - mkdir .public
5 | - cp -r * .public
6 | - mv .public public
7 | artifacts:
8 | paths:
9 | - public
10 | only:
11 | - master
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by https://www.toptal.com/developers/gitignore/api/vue,hexo,linux,macos,vuejs,windows,visualstudiocode,node
2 | # Edit at https://www.toptal.com/developers/gitignore?templates=vue,hexo,linux,macos,vuejs,windows,visualstudiocode,node
3 |
4 | ### Hexo ###
5 | db.json
6 | public/
7 | .deploy_git/
8 |
9 | ### Linux ###
10 | *~
11 |
12 | # temporary files which can be created if a process still has a handle open of a deleted file
13 | .fuse_hidden*
14 |
15 | # KDE directory preferences
16 | .directory
17 |
18 | # Linux trash folder which might appear on any partition or disk
19 | .Trash-*
20 |
21 | # .nfs files are created when an open file is removed but is still being accessed
22 | .nfs*
23 |
24 | ### macOS ###
25 | # General
26 | .DS_Store
27 | .AppleDouble
28 | .LSOverride
29 |
30 | # Icon must end with two \r
31 | Icon
32 |
33 |
34 | # Thumbnails
35 | ._*
36 |
37 | # Files that might appear in the root of a volume
38 | .DocumentRevisions-V100
39 | .fseventsd
40 | .Spotlight-V100
41 | .TemporaryItems
42 | .Trashes
43 | .VolumeIcon.icns
44 | .com.apple.timemachine.donotpresent
45 |
46 | # Directories potentially created on remote AFP share
47 | .AppleDB
48 | .AppleDesktop
49 | Network Trash Folder
50 | Temporary Items
51 | .apdisk
52 |
53 | ### macOS Patch ###
54 | # iCloud generated files
55 | *.icloud
56 |
57 | ### Node ###
58 | # Logs
59 | logs
60 | *.log
61 | npm-debug.log*
62 | yarn-debug.log*
63 | yarn-error.log*
64 | lerna-debug.log*
65 | .pnpm-debug.log*
66 |
67 | # Diagnostic reports (https://nodejs.org/api/report.html)
68 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
69 |
70 | # Runtime data
71 | pids
72 | *.pid
73 | *.seed
74 | *.pid.lock
75 |
76 | # Directory for instrumented libs generated by jscoverage/JSCover
77 | lib-cov
78 |
79 | # Coverage directory used by tools like istanbul
80 | coverage
81 | *.lcov
82 |
83 | # nyc test coverage
84 | .nyc_output
85 |
86 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
87 | .grunt
88 |
89 | # Bower dependency directory (https://bower.io/)
90 | bower_components
91 |
92 | # node-waf configuration
93 | .lock-wscript
94 |
95 | # Compiled binary addons (https://nodejs.org/api/addons.html)
96 | build/Release
97 |
98 | # Dependency directories
99 | node_modules/
100 | jspm_packages/
101 |
102 | # Snowpack dependency directory (https://snowpack.dev/)
103 | web_modules/
104 |
105 | # TypeScript cache
106 | *.tsbuildinfo
107 |
108 | # Optional npm cache directory
109 | .npm
110 |
111 | # Optional eslint cache
112 | .eslintcache
113 |
114 | # Optional stylelint cache
115 | .stylelintcache
116 |
117 | # Microbundle cache
118 | .rpt2_cache/
119 | .rts2_cache_cjs/
120 | .rts2_cache_es/
121 | .rts2_cache_umd/
122 |
123 | # Optional REPL history
124 | .node_repl_history
125 |
126 | # Output of 'npm pack'
127 | *.tgz
128 |
129 | # Yarn Integrity file
130 | .yarn-integrity
131 |
132 | # dotenv environment variable files
133 | .env
134 | .env.development.local
135 | .env.test.local
136 | .env.production.local
137 | .env.local
138 |
139 | # parcel-bundler cache (https://parceljs.org/)
140 | .cache
141 | .parcel-cache
142 |
143 | # Next.js build output
144 | .next
145 | out
146 |
147 | # Nuxt.js build / generate output
148 | .nuxt
149 | dist
150 |
151 | # Gatsby files
152 | .cache/
153 | # Comment in the public line in if your project uses Gatsby and not Next.js
154 | # https://nextjs.org/blog/next-9-1#public-directory-support
155 | # public
156 |
157 | # vuepress build output
158 | .vuepress/dist
159 |
160 | # vuepress v2.x temp and cache directory
161 | .temp
162 |
163 | # Docusaurus cache and generated files
164 | .docusaurus
165 |
166 | # Serverless directories
167 | .serverless/
168 |
169 | # FuseBox cache
170 | .fusebox/
171 |
172 | # DynamoDB Local files
173 | .dynamodb/
174 |
175 | # TernJS port file
176 | .tern-port
177 |
178 | # Stores VSCode versions used for testing VSCode extensions
179 | .vscode-test
180 |
181 | # yarn v2
182 | .yarn/cache
183 | .yarn/unplugged
184 | .yarn/build-state.yml
185 | .yarn/install-state.gz
186 | .pnp.*
187 |
188 | ### Node Patch ###
189 | # Serverless Webpack directories
190 | .webpack/
191 |
192 | # Optional stylelint cache
193 |
194 | # SvelteKit build / generate output
195 | .svelte-kit
196 |
197 | ### VisualStudioCode ###
198 | .vscode/*
199 | !.vscode/settings.json
200 | !.vscode/tasks.json
201 | !.vscode/launch.json
202 | !.vscode/extensions.json
203 | !.vscode/*.code-snippets
204 |
205 | # Local History for Visual Studio Code
206 | .history/
207 |
208 | # Built Visual Studio Code Extensions
209 | *.vsix
210 |
211 | ### VisualStudioCode Patch ###
212 | # Ignore all local history of files
213 | .history
214 | .ionide
215 |
216 | ### Vue ###
217 | # gitignore template for Vue.js projects
218 | #
219 | # Recommended template: Node.gitignore
220 |
221 | # TODO: where does this rule come from?
222 | docs/_book
223 |
224 | # TODO: where does this rule come from?
225 | test/
226 |
227 | ### Vuejs ###
228 | # Recommended template: Node.gitignore
229 |
230 | dist/
231 | npm-debug.log
232 | yarn-error.log
233 |
234 | ### Windows ###
235 | # Windows thumbnail cache files
236 | Thumbs.db
237 | Thumbs.db:encryptable
238 | ehthumbs.db
239 | ehthumbs_vista.db
240 |
241 | # Dump file
242 | *.stackdump
243 |
244 | # Folder config file
245 | [Dd]esktop.ini
246 |
247 | # Recycle Bin used on file shares
248 | $RECYCLE.BIN/
249 |
250 | # Windows Installer files
251 | *.cab
252 | *.msi
253 | *.msix
254 | *.msm
255 | *.msp
256 |
257 | # Windows shortcuts
258 | *.lnk
259 |
260 | # End of https://www.toptal.com/developers/gitignore/api/vue,hexo,linux,macos,vuejs,windows,visualstudiocode,node
--------------------------------------------------------------------------------
/.nojekyll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/.nojekyll
--------------------------------------------------------------------------------
/CNAME:
--------------------------------------------------------------------------------
1 | sunnycapturer.xmuli.tech
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # SunnyCapturer
2 |
3 | [](https://github.com/XMuli/SunnyCapturer/releases) [
](https://github.com/XMuli/SunnyCapturer/releases)
4 |
5 | SunnyCapturer is a simple and beautiful cross-platform screenshot software that supports OCR for extracting text from images, image translation, custom stickers, and pinning images to the screen.
6 |
7 | - Official Website & Downloads & User Guide: [http://sunnycapturer.xmuli.tech](http://sunnycapturer.xmuli.tech/)
8 | - Source Code Repository: [https://github.com/SunnyCapturer](https://github.com/SunnyCapturer)
9 | - Contribute Translations: [translations](https://github.com/SunnyCapturer/translations)
10 |
11 | - Microsoft Store Download:[SunnyCapturer](https://apps.microsoft.com/detail/9N1TPFK4NCBL)
12 |
13 | [
](https://apps.microsoft.com/detail/9N1TPFK4NCBL?mode=direct)
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | # Feedback & Suggestions
22 |
23 | If you encounter any bugs, have improvement suggestions, or wish to propose new features, please check the closed issues first.
24 |
25 | If you don’t find anything similar, feel free to open a new [issue](https://github.com/XMuli/SunnyCapturer/issues) to help track and resolve problems effectively.
26 |
27 |
28 |
29 | # Contact
30 |
31 | [](https://qm.qq.com/cgi-bin/qm/qr?authKey=5pYNrJL7%2F8biKzT5LMj8dbjkpPvUvdLVbAOcNTydiqTDNc49yg0wtVcub8Cu3Pqa&k=OluWZhjVMhwP-6RO9Y7FFkJcXGiS4CVk&noverify=0) [](https://github.com/XMuli) [](mailto:xmulitech@gmail.com)
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | # Running Demo
42 |
43 | ?> See [link](./supported_os.md) for details of supported operating system versions
44 |
45 | ### Windos
46 |
47 | 
48 |
49 | 
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 | ### Linux:
58 |
59 | **Debian12**
60 |
61 | 
62 |
63 | 
64 |
65 |
66 |
67 | **Ubuntu20.04-24.04**
68 |
69 | 
70 |
71 | 
72 |
73 | 
74 |
75 |
76 |
77 | **Deepin V23**
78 |
79 | 
80 |
81 | 
82 |
83 |
84 |
85 | **OpenKylin2.0**
86 |
87 | 
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 | ### macOS
96 |
97 | macos13-15
98 |
99 | 
100 |
101 | 
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | ### Linux Deepin V23 (ARM64 & Loongson):
110 |
111 | **Deepin V23 ARM64:**
112 |
113 | 
114 |
115 |
116 |
117 | **Deepin V23 Loongson:**
118 |
119 | 
120 |
--------------------------------------------------------------------------------
/_coverpage.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | 
4 |
5 | # SunnyCapturer 3.0
6 |
7 | > A simple and beautiful cross-platform screenshot software
8 |
9 | > 一款简单且漂亮的跨平台截图软件
10 |
11 | - Image Translation | 图片翻译
12 | - Offline OCR Extract text | 离线提取文本 (CPU/GPU)
13 |
14 | [Download](https://github.com/XMuli/SunnyCapturer/releases)
15 | [DowMicrosoft Store💕](https://apps.microsoft.com/detail/9N1TPFK4NCBL?mode=direct)
16 | [Feedback](https://github.com/XMuli/SunnyCapturer/issues)
17 | [Documentation](#sunnycapturer)
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/_media/SunnyCapturer_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/SunnyCapturer_01.png
--------------------------------------------------------------------------------
/_media/images/en_windows_protected_your_PC_and_run.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/en_windows_protected_your_PC_and_run.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/ARM64_Deepin_V23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/ARM64_Deepin_V23.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Debian12_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Debian12_01.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Debian12_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Debian12_02.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Debian12_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Debian12_03.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Deepin23_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Deepin23_01.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Deepin23_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Deepin23_02.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Deepin23_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Deepin23_03.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Loongson_Deepin_V23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Loongson_Deepin_V23.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/OpenKylin2.0_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/OpenKylin2.0_01.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Ubuntu20.04_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu20.04_01.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Ubuntu20.04_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu20.04_02.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Ubuntu20.04_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu20.04_03.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Ubuntu24.04_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu24.04_01.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Ubuntu24.04_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu24.04_02.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Ubuntu24.04_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu24.04_03.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/Ubuntu24.04_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/Ubuntu24.04_04.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/macOS13_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/macOS13_01.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/macOS13_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/macOS13_02.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/win11_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/win11_01.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/win11_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/win11_02.jpg
--------------------------------------------------------------------------------
/_media/images/run_exhibition/win11_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/run_exhibition/win11_03.jpg
--------------------------------------------------------------------------------
/_media/images/zh_windows_protected_your_PC_and_run.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/_media/images/zh_windows_protected_your_PC_and_run.jpg
--------------------------------------------------------------------------------
/_media/img/copy_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_media/img/counter_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_media/img/image_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_media/img/pin_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_media/img/save_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_media/img/save_file_dark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_sidebar.md:
--------------------------------------------------------------------------------
1 | - Guide
2 | - [Getting Started](/getting_started)
3 |
4 | - [Troubleshooting](/troubleshooting)
5 | - Advanced
6 | - [Extract Text(OCR)](/extract_text_ocr)
7 | - [Image Translation](/image_translation)
8 | - Document
9 | - [Supported OS](/supported_os)
10 | - [Technology Share](/development_technology)
11 | - Contribution
12 | - [Translation](/translation)
13 | - [Acknowledgement](/acknowledgement)
14 | - More
15 | - [Official Site](/office_site)
16 | - [Changelog](/changelog)
17 |
18 |
19 |
--------------------------------------------------------------------------------
/acknowledgement.md:
--------------------------------------------------------------------------------
1 | Gladly, we extend heartfelt thanks to all contributors who have provided assistance, improvements, or suggestions. 🙇
2 |
3 |
4 |
5 | #### Design
6 |
7 | - Designer: 0xHugoC
8 |
9 |
10 |
11 | #### International Translations
12 |
13 | see 👉 [translations](https://github.com/SunnyCapturer/translations)
14 |
15 | - [Thiago Dalsoto](https://github.com/thiagodalsoto): Portuguese (Brazil) Translation `(pt_br)`
16 | - [Toms Photoart](https://github.com/tomsphotoart): German Translation `(de)`
17 | - [coolvitto](https://github.com/coolvitto): Japanese Translation `(ja_jp)`
18 |
19 |
20 |
21 |
22 |
23 | #### Linux Porting
24 |
25 | - [shenmo](https://github.com/shenmo7192): Ported SunnyCapturer to ARM64 and Loongson64 platforms on Deepin V23, achieving successful operation
26 | - [spark-store Teams](https://gitee.com/spark-store-project/spark-store): Assisted in publishing the application on the Spark Store
27 |
28 |
29 |
30 | #### Application Store Publishing
31 |
32 | - [XXTXTOP](http://www.xiongshijie.top/): Assisted in publishing to the openKylin Store
33 |
34 |
35 |
36 | #### Beta User Group
37 |
38 | - [Issues](https://github.com/XMuli/SunnyCapturer/issues): Feedback from GitHub users
39 | - [QQ Group: 418103279](https://qm.qq.com/cgi-bin/qm/qr?authKey=5pYNrJL7%2F8biKzT5LMj8dbjkpPvUvdLVbAOcNTydiqTDNc49yg0wtVcub8Cu3Pqa&k=OluWZhjVMhwP-6RO9Y7FFkJcXGiS4CVk&noverify=0): User beta testing group
40 | - [User Forum](https://txc.qq.com/products/649489/): Suggestions and optimizations for user experience
--------------------------------------------------------------------------------
/changelog.md:
--------------------------------------------------------------------------------
1 | ## v3.2
2 |
3 | > 2025.03.03
4 |
5 | **Version Optimization:**
6 |
7 | - Available on Microsoft Store [SunnyCapturer](https://apps.microsoft.com/detail/9N1TPFK4NCBL), welcome to download and experience!
8 | - Offline OCR performance upgrade: CPU and GPU recognition libraries have higher and faster accuracy.
9 | - Add OCR window to tray menu, support batch drag-and-drop image folder recognition.
10 | - Fix the bug that GPU feedback fails to run on some models [#72](https://github.com/XMuli/SunnyCapturer/issues/72) [#78](https://github.com/XMuli/SunnyCapturer/issues/78)
11 |
12 | 📢PS: GPU only supports NVIDIA, CUDA >= 12.3, recommended to use the latest version.
13 |
14 |
15 |
16 | ```bash
17 | [ENV Test model details]
18 | CPU:13th Gen Intel(R) Core(TM) i5-13600KF
19 | GPU: NVIDIA GeForce RTX 3060 Ti
20 | +-----------------------------------------------------------------------------------------+
21 | | NVIDIA-SMI 566.36 Driver Version: 566.36 CUDA Version: 12.7 |
22 | |-----------------------------------------+------------------------+----------------------+
23 | | GPU Name Driver-Model | Bus-Id Disp.A | Volatile Uncorr. ECC |
24 | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
25 | | | | MIG M. |
26 | |=========================================+========================+======================|
27 | | 0 NVIDIA GeForce RTX 3060 Ti WDDM | 00000000:01:00.0 On | N/A |
28 | | 0% 44C P8 12W / 225W | 1498MiB / 8192MiB | 6% Default |
29 | | | | N/A |
30 | +-----------------------------------------+------------------------+----------------------+
31 | ```
32 |
33 | 20 test images natively, CPU took 52 seconds 113 milliseconds, **while GPU recognition took 3 seconds 678 milliseconds**, very scary speed, great(๑-̀ㅂ-́)و✧ experience 🚀🚀🚀 🚀
34 |
35 |
36 |
37 | ## v3.1.3
38 |
39 | > 2025.02.18
40 |
41 | **Version optimization:**
42 |
43 | - Some models may fail to boot up [#76](https://github.com/XMuli/SunnyCapturer/issues/76)
44 | - Some experience optimizations
45 |
46 |
47 |
48 | ## v3.1.2
49 |
50 | > 2025.02.06
51 |
52 | **Version optimization:**
53 |
54 | - Appimage version of Linux cannot change language [#32](https://github.com/XMuli/SunnyCapturer/issues/32)
55 | - Linux supports packages from native ArchLinux distributions `*.pkg.tar.zst` [#41](https://github.com/XMuli/SunnyCapturer/issues/41)
56 | - Why Linux Appimage configuration is not persistent [#60](https://github.com/XMuli/SunnyCapturer/issues/60)
57 | - Default language after boot is English, need to exit and reboot to show Chinese [#68](https://github.com/XMuli/SunnyCapturer/issues/68)
58 | - Maps have limited zoom ratio [#71](https://github.com/XMuli/SunnyCapturer/issues/71)
59 | - Output image quality setting not working [#73](https://github.com/XMuli/SunnyCapturer/issues/73)
60 | - Fixed border color switching failure
61 | - Optimize the window for detecting software updates
62 |
63 |
64 |
65 | ## v3.1.1
66 |
67 | > 2025.01.20
68 |
69 | **Version Optimization:**
70 |
71 | - Updated Portuguese-Brazilian language translation
72 | - Optimize packaged file size
73 | - Fixed and optimized some bugs
74 |
75 |
76 |
77 | ## v3.1
78 |
79 | > 2025.01.06
80 |
81 | **Version Optimization:**
82 |
83 | - Added translation: Japanese, thanks to [coolvitto](https://github.com/coolvitto)
84 | - Fix multi-screen capture exception on Linux #64
85 | - Fixed shortcut key to repeat last screenshot area not working #64
86 | - Fix theme color effect in Tooltop #63
87 | - Optimize runtime detection logic for installers
88 | - Build scripts to automate Win and Linux packaging.
89 |
90 |
91 |
92 | ## v3.0
93 |
94 | > 2025.01.01
95 |
96 | New year, new version upgrade, bring different feeling 🎀; new official website and user manual [https://sunnycapturer.xmuli.tech](https://sunnycapturer.xmuli.tech/)
97 |
98 | **Features:**
99 |
100 | - OCR text extraction, online and offline mode
101 | - Image translation, support 100+ languages
102 | - Customizable stickers
103 | - Pin images to desktop
104 | - Light and dark themes
105 | - New logo activation
106 |
107 |
108 |
109 | ## v2.4
110 |
111 | > 2024.12.02
112 |
113 | **Changelog:**
114 |
115 | - Changed styling to a navigation bar format.
116 | - Fixed an issue where pressing **C** and **Shift** while using the magnifying glass had no effect.
117 | - special thanks to @thiagodalsoto for providing Brazilian Portuguese translations
118 | - Additional bug fixes and experience improvements.
119 |
120 | **Q&A:**
121 |
122 | **Linux / Mac**
123 |
124 | - **Q1: Linux won't run after installing a new version?**
125 | Uninstall Sunny version 1.x or earlier, and try removing old configuration files ` rm -rf ~/.config/Sunny/*`
126 |
127 |
128 | - **Q2: On Ubuntu 24.04, screenshots capture a white desktop. Why?**
129 | To support more Linux distributions, Sunny 1-2.x currently supports only `x11` and does not support `Wayland` (Ubuntu's default). Switch to `x11` with the following steps (details in [#55](https://github.com/XMuli/SunnyCapturer/issues/55):
130 |
131 | ```bash
132 | sudo vim /etc/gdm3/custom.conf
133 | # Uncomment the line: WaylandEnable=false, then save the file.
134 | sudo systemctl restart gdm3 # Reboot the system
135 | ```
136 |
137 | - **Q3: How can I use Sunny on non-Debian-based distributions?**
138 | Please download and use the `sunny_x64.AppImage` package. For a list of supported Linux distributions, refer to [supportp_platform](https://sunny.xmuli.tech/article/supportp_platform.html).
139 |
140 | - **Q4: How can I download Sunny for ARM and LOONGSON chips?**
141 | You can download [v1.6.2](https://github.com/XMuli/SunnyCapturer/releases/tag/v1.6.2). When build machines become available, version 2.x will also be uploaded.
142 |
143 | - **Q5: Why can’t Sunny run on my Mac?**
144 | Currently, Sunny supports only Intel-based Macs and does not support M-series chips.
145 |
146 | - ps: The next version is expected to support Mac's M-series chips and the Linux Wayland architecture.
147 |
148 |
149 |
150 | **Offline OCR (CPU & GPU)**
151 |
152 | > Extract text from images using a local offline engine.
153 |
154 | - No registration or key input required.
155 | - Fully offline, with all processing done locally.
156 | - Supports both CPU and GPU modes:
157 | - **CPU Version**: Highly compatible, uses less memory, processes single images quickly but is slower for batch processing (recommended for general users).
158 | - **GPU Version**: Supports NVIDIA GPUs, uses more memory, but processes batch images significantly faster (1/2 to 1/3 the time of the CPU version, recommended for advanced users with NVIDIA cards).
159 | - Only supports 64-bit Windows systems. Both versions handle single and batch image recognition. Simply drag and drop images into the window.
160 |
161 |
162 |
163 | ## v2.3
164 |
165 | > 2024.10.17
166 |
167 | This is a major version of the feature update, welcome to use and feedback!
168 |
169 | **Features.**
170 | - Support online and offline engine, “Extract Text(OCR)”.
171 | - Support online “Picture Translation”, 30+ languages translation.
172 | - Support offline local “OCR” engine, support both CPU and GPU modes.
173 | - Support using private key for OCR and image translation.
174 | - Support algorithm switching and closing of auto-detection windows.
175 | - Tray menu support provides richer options
176 | - Support for logging module
177 | - Updated multi-language translations (Thanks to @thiagodalsoto for the Portuguese-Brazilian translation)
178 | - Interface optimization and adaptation to more Linux distributions.
179 |
180 | **Fixes.**
181 | - Linux crashes when clicking on updates with .AppImage #47
182 | - AppImage crashes when clicking on update for Linux #47 Dark theme icons are not visible in some distributions such as Linux KDE #49
183 | - Screenshot startup lags a bit #50
184 | - Other bug fixes
185 |
186 | **Note:**
187 | - For Linux distributions, if you have installed a lower version such as `1.x`, if you encounter a runtime failure, please run `$ rm -rf ~/.config/Sunny` in the terminal first, and then it will run successfully.
188 |
189 | **Cross-platform text extraction (OCR):**
190 |
191 | **Debian OCR:**
192 |
193 |
194 | **Deepin V23 OCR:**
195 |
196 |
197 |
198 |
199 | ## v2.2.1
200 |
201 | > 2024.09.21
202 |
203 | **Major version 2.2.1 is officially released🎉🎉🎉**
204 |
205 | - Beautiful UI/UX styles
206 | - Architecture reorganization
207 | - New version detection
208 | - Support offline OCR: support vertical Chinese character recognition, horizontal layout recognition.
209 |
210 | **Attention:**
211 |
212 | - The current version only supports offline OCR for `sunny_protable_2.2.1_x64_offline_ocr.zip` and `sunny_setup_2.2.1_x64_offline_ocr.exe`; If you want to use “Image Translation” and “Online OCR”, please download [v1.6.3](https://github.com/XMuli/SunnyCapturer/releases/tag/v1.6.3).
213 | - For Linux distributions, if some users have installed version 1.x, if the program fails to run, please execute `$ rm -rf ~/.config/Sunny` in the terminal first, and then it will run successfully.
214 |
215 |
216 |
217 | ## v2.1 (Pre)
218 |
219 | > 2024.09.17
220 |
221 | **Happy Mid-Autumn Festival 🌕**
222 |
223 | Note: This is a test version of internal channel, some functions are unstable. It is provided for internal test users and taste test use, feedback of defects and suggestions are welcome.
224 |
225 | - Support smart window recognition (tab Button to switch levels)
226 | - Fix text editing
227 | - and fix some bugs
228 |
229 |
230 |
231 | ## v2.0 (Pre)
232 |
233 | > 2024.09.7
234 |
235 | **Note: This is an internal beta version, the function is not stable yet.**
236 | Supports offline version of OCR for image text extraction, Support vertical text recognition. **Please download the program with `_with_offline_ocr` in the name to support the offline OCR function.**
237 |
238 |
239 |
240 |
241 |
242 | ## v1.6.3
243 |
244 | > 2024.05.28
245 |
246 | **It is also in its own use, actively developing and improving its experience; Fix some bugs and optimize some UI styles to improve user experience. (Lots of improvements)**
247 |
248 | **Functions**
249 |
250 | - Added “German” translation
251 | - Updated “Portugal-Brazil” translation.
252 | - Support operation guide tips window
253 |
254 | **Fixes**
255 |
256 | - Crosshairs block the magnifying glass area [#25](https://github.com/XMuli/SunnyCapturer/issues/25)
257 | - Size anomaly after stretching selected rectangle when clicking in Linux [#26](https://github.com/XMuli/SunnyCapturer/issues/26)
258 | - Tray preview translation doesn't work immediately [#19](https://github.com/XMuli/SunnyCapturer/issues/19)
259 | - Other minor optimizations
260 |
261 | **Contribute**
262 |
263 | Thanks to [@thiagodalsoto](https://github.com/thiagodalsoto) for the Portuguese-Brazilian translation and to @Kthargas for the German translation;
264 |
265 | to contribute a translation, please click on the [link](https://github.com/XMuli/SunnyCapturer/tree/master/translations); Here is the full [list of acknowledgements🙇](https://sunny.xmuli.tech/acknowledgement.html)
266 |
267 |
268 |
269 | ## v1.6.2
270 |
271 | > 2024.05.21
272 |
273 | **Sunny Screenshot New Website:** [sunny.xmuli.tech](https://sunny.xmuli.tech/) 📢: [English issues](https://github.com/XMuli/SunnyCapturer/issues) | [中文讨论组](https://txc.qq.com/products/649489)
274 |
275 | **Functions**
276 |
277 | - Support “Portugal-Brazil” translation.
278 | - Support displaying quasar cursor in drawing state
279 | - Support immersive display for image translation
280 | - Support shortcut keys for OCR and image translation
281 | - Support OCR new window design, remember the last stretch ratio
282 | - Optimize OCR to switch available lines automatically
283 | - Optimize saving images will use the last suffix format by default [#16](https://github.com/XMuli/SunnyCapturer/issues/16)
284 | - Optimize seamless upgrade solution for Linux GUI installation DEB.
285 | - Optimize cross-platform output of logs
286 |
287 | **Fixes**
288 |
289 | - Toolbar and parameter information bar may intersect and overwrite [#13](https://github.com/XMuli/SunnyCapturer/issues/13)
290 | - Failure to save after configuration [#12](https://github.com/XMuli/SunnyCapturer/issues/12)
291 | - Debian12 + KDE fractional scaling, display exception bugs
292 | - Toolbars are not fully displayed at screen boundaries
293 | - Old hotkey combinations are not canceled when hotkeys are deleted.
294 | - Tray area icon is not displayed under Debian system.
295 | - Text edit box fails when switching colors
296 |
297 | **UI interface**
298 |
299 | - Added color picker and magnifying glass function [#13](https://github.com/XMuli/SunnyCapturer/issues/13)
300 | - Add detailed information about monitor layout.
301 | - Adjust the height of main window
302 | - Toolbar vertical mode, add lighter scribe line
303 |
304 | **Contribute**
305 |
306 | Thanks to [@thiagodalsoto](https://github.com/thiagodalsoto) for the Portuguese-Brazilian language translation; to contribute a translation, please click on the [link](https://github.com/XMuli/SunnyCapturer/tree/master/translations); Here is the full [list of acknowledgements🙇](https://sunny.xmuli.tech/acknowledgement.html)
307 |
308 |
309 |
310 |
311 |
312 | ## v1.5
313 |
314 | > 2024.04.16
315 |
316 | **It is also in its own use, actively developing and improving its experience; Fix many bugs and optimize some UI styles to improve user experience. (Lots of improvements)**
317 | Fixes
318 |
319 | - Shortcut keys for the first level toolbar are not working
320 | - Auto Window Detection that mistakenly catches non-displayed system windows
321 | - Exception logic of auto-save and quick-save
322 |
323 | UI enhancement
324 |
325 | - The first and second level toolbars adopt highlight color; and there are acrylic frosted and common border effects.
326 | - The style of ToolTip in the primary toolbar is white background.
327 | - Support zoom tip percentage in pinning window, default 2 seconds.
328 | - Design Tokens UI with QStackedWidget effect.
329 | - Hide the corners of the Sunny border
330 | - Highlight color effect for checkboxes
331 |
332 | Optimization
333 |
334 | - Optimize auto-detect window size without shadow area
335 | - Optimize backend data storage, .ini changed to .json format.
336 | - OCR with _local option, the extracted text has a neat layout format.
337 | - OCR provides configuration parameters to customize the error data to fine-tune the layout accuracy.
338 | - New "Engineer Advanced" switch: save image with window details.
339 |
340 | Other etc.
341 |
342 |
343 |
344 | **Acknowledgments:**
345 | Thanks to [shenmo](https://github.com/shenmo7192) and the [Spark-Store](https://gitee.com/spark-store-project/spark-store) team for their help and support in porting it to the ARM and Longxin architectures. The program can also be downloaded directly from the Spark Store
346 | `sunny_1.5.0_arm64.deb`, `sunny_1.5.0_loong64.deb` This architecture is only supported on deepin V23, Debian 12+ platforms;
347 |
348 |
349 |
350 | ## v1.4
351 |
352 | > 2024.03.27
353 |
354 | - Support channel switching, "OCR" and "Images Translate".
355 | - Increase the number of recognition times
356 | - OCR times increased to **3500 times/month**
357 | - Increase the number of picture recognition to **10000 times/year** + Others
358 | - Adopt new style pop-up window design.
359 | - Optimise and fix some bugs
360 | - more: [Wiki: 6. Image Translation & OCR](https://github.com/XMuli/SunnyCapturer/wiki/6.-Image-Translation-&-OCR-|-图片翻译-&-文字提取)
361 |
362 |
363 |
364 | ## v1.3
365 |
366 | > 2024.02.01
367 |
368 | Recently, Sunny's screenshot got promoted by well-known internet users and software websites, suddenly gaining a lot of traffic and stars. It's an unexpected delight.
369 |
370 | This project started in 2023 and will be developed and maintained for at least ten years, and it's free! Additionally, since this version has added code signing, please verify the original files after downloading.
371 |
372 |
373 |
374 | For the **Translate** and **OCR** functions, the private accounts of the individuals who use them are now supported and can be entered by themselves if needed:
375 |
376 | - **Baidu Interface** [https://console.bce.baidu.com/ai](https://console.bce.baidu.com/ai)
377 |
378 | Image Text Extraction ``OCR API - Baidu API - Text Recognition``
379 |
380 | 1. Universal Text Recognition (Standard)
381 | 2. Universal Text Recognition (Standard with Position)
382 | 3. Universal Text Recognition (High Accuracy)
383 | 4. Universal Text Recognition (high-precision version with location) → Most Recommended
384 |
385 |
386 | - **Youdou Interface** [https://ai.youdao.com/console](https://ai.youdao.com/console)
387 |
388 | Translate Chinese, Japanese, English, Korean, Japanese, etc. ``Translate - Natural Language Translation Service - Image Translation`''
389 |
390 | ---
391 |
392 | **Code Signing Certificate:**
393 | In addition, since this version has been added code signature, after downloading, please check the code signature of the file is consistent with the following.
394 |
395 | **Acknowledgments: 2024.03.01**
396 |
397 |
398 |
399 | ## v1.2
400 |
401 | > 2023.11.20
402 |
403 | **New Features:**
404 |
405 | - Support "Picture Translation" and "OCR Picture Recognition Text".
406 | - Fix some bugs, and optimize painting
407 | - Sunny uploaded to UOS/Deepin Store and Spark Store.
408 |
409 |
410 |
411 | ## v1.1
412 |
413 | > 2023.10.28
414 |
415 | **Sunny is a simple and beautiful screenshot software tool for Windows, MacOS and Linux.**
416 |
417 | **Features**
418 |
419 | - Support for various system style themes.
420 | - Customizable transparent frosted glass effect (acrylic).
421 | - Switchable orientation for the drawing toolbar: horizontal or vertical.
422 | - Support for high-contrast color theme switching (via configuration file modification).
423 | - Capabilities for regular screenshots, delayed screenshots, and custom screenshots.
424 | - Quick and automatic saving options.
425 | - Screen detection for capturing window content (window information and window depth).
426 | - Ability to pin images to the screen with scaling and transparency settings.
427 | - Simultaneous support for multiple text formats during editing.
428 | - And more.
429 |
430 | **update:**
431 |
432 | - Port to Deepin V20.9 compiled and ran successfully.
433 | - Added the shadow effect of pins on the screen
434 | - Updated translations (Chinese-Simplified, Chinese-Traditional).
435 |
436 |
437 |
438 | ## v1.0
439 |
440 | > 2023.10.28
441 |
442 | Celebrating the release of the first official version v1.0.0 🎉🎉🎉🎉
443 |
444 | Simple and beautiful screenshot software tool for Windows, MacOS and Linux.
445 | Welcome to use it and give feedback on bugs / suggestions. and It is also possible to suggest features that you would like to see implemented. Active development, happy programmer's day.
446 |
--------------------------------------------------------------------------------
/development_technology.md:
--------------------------------------------------------------------------------
1 |
2 | ?> In the period after the writing and release, also encountered a lot of private chat please teach, into the QQ group, or e-mail communication of a function to achieve? Feedback Bug and give tips and suggestions; most of them are given to the Q&A, but I think it can be written as a whole collection, he encountered difficulties in the point of record, open out to provide later developers reference.
3 |
4 |
5 |
6 | ## Series address
7 |
8 | [QtExamples](https://github.com/XMuli/QtExamples) Welcome `star` ⭐ and `fork` 🍴 This series of `C++ / QT / DTK` learning, with a catalog of learning from the beginning to the end, where you can learn how to write this kind of software yourself. This is a complete series of tutorials, and **forever free**!
9 |
10 |
11 |
12 | ## Related Code Open Source
13 |
14 | - Official Website & Download & User Manual:[http://sunnycapturer.xmuli.tech](http://sunnycapturer.xmuli.tech/)
15 | - Related code open source:[https://github.com/SunnyCapturer](https://github.com/SunnyCapturer)
16 |
17 | Share some of their own written complete screenshot software project , as a guide to North
18 |
19 | | Name | License | Describe |
20 | | :----------------------------------------------------------: | :-----------: | :----------------------------------------------------- -----: |
21 | | [FLIPPED](https://github.com/SunnyCapturer/FLIPPED) | MIT | A simple and beautiful cross-platform screenshot and pinning software.
Sunny's predecessor, a small but complete project with intermediate difficulty. |
22 | | [ShotX](https://github.com/SunnyCapturer/ShotX) | MIT | A minimalist cross-platform screenshot tool, easy difficulty. |
23 | | [SunnyCapturer](https://github.com/orgs/SunnyCapturer/repositories) | Organizations | Related open-source projects of SunnyCapturer: including custom controls, project ideas, and more. |
24 |
25 |
26 |
27 | ## For more development experience, please refer to
28 |
29 | 👉 [See here](https://sunnycapturer.xmuli.tech/#/zh-cn/development_technology)
30 |
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/XMuli/SunnyCapturer/2060fd69809baebaadda83f11c08ca09170527ec/favicon.ico
--------------------------------------------------------------------------------
/getting_started.md:
--------------------------------------------------------------------------------
1 | [](https://github.com/XMuli/SunnyCapturer/releases) [
](https://github.com/XMuli/SunnyCapturer/releases)
2 |
3 | SunnyCapturer is a simple and beautiful cross-platform screenshot software that supports `OCR for extracting text from images`, `image translation`, `custom stickers`, and `pinning images to the screen`.
4 |
5 |
6 | ## Screenshots
7 |
8 | **Start Capturing Screenshots**
9 |
10 | - Press the `F1` hotkey
11 | - Click or double-click the system tray icon
12 | - Right-click the system tray icon, then select the `Screenshot` option
13 |
14 |
15 |
16 | **Cancel Capturing Screenshots**
17 |
18 | - Press the `Esc` key
19 | - Click the cancel button in the toolbar
20 |
21 |
22 |
23 | **Save Selected Screenshot**
24 | - Copy to clipboard (
/ `Ctrl` + `C` / `Enter` / `Double-click` the screenshot area)
25 | - Save to a file (
/ `Ctrl` + `S`)
26 | - Save as pinned image (
/ `P`)
27 | - Quickly save the screenshot (`Ctrl` + `Shift` + `S`)
28 |
29 |
30 |
31 | ## Annotations
32 |
33 | Select the screenshot area using the primary toolbar to access basic annotation and drawing tools. Use the secondary toolbar for advanced options.
34 |
35 | - **Basic Tools**: Rectangle, ellipse, arrow, pencil, mosaic, text, sticker, numbering, eraser
36 | - **Advanced Tools**: OCR text extraction, image translation
37 | - **Additional Features**: Undo, redo, cancel screenshot, pin image, manually save image, copy image to clipboard
38 | - **Hidden Features**: Hotkey-based save, auto-save
39 |
40 |
41 |
42 | ## Stickers
43 |
44 | Choose an image from your local drive to use as a sticker on the screenshot. Hover over the top-center to rotate the sticker 360°, or use the edges to resize the sticker.
45 |
46 | - Add a sticker to the selected screenshot area (
)
47 |
48 |
49 |
50 | ## Numbered Annotations
51 |
52 | - Sequential numbering for annotations (
)
53 |
54 |
55 |
56 | ## Magnifier / Color Picker
57 |
58 | - When the magnifier is visible, press `C` to copy the pixel's color value (RGB / HEX / FLT).
59 | - Press `Shift` to toggle color formats.
60 |
61 |
62 |
63 | ## Adjust Brush Width
64 |
65 | - Scroll the mouse wheel, and the current brush width will be displayed in the top-left corner of the screen.
66 |
67 |
68 |
69 | ## Additional Features
70 |
71 | For more details, refer to the UI hints, tooltips, or guidance in the bottom-left corner of the screen.
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |