Skip to content

Commit 5c665b0

Browse files
committed
Update readme and changelog
1 parent 5f8d9b7 commit 5c665b0

File tree

2 files changed

+64
-16
lines changed

2 files changed

+64
-16
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## 4.2.0
6+
7+
- Feature: Extend `Window` class with `minimize` and `restore` methods
8+
59
## 4.1.0
610

711
- Enhancement: Extend `WindowProviderInterface` with `minimizeWindow` and `restoreWindow` functions

README.md

Lines changed: 60 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
11
# nut.js (Native UI Toolkit)
22

33
| | GitHub Actions |
4-
| :-----: | :------------------------------------------------------------------------------------------------------------: |
4+
|:-------:|:--------------------------------------------------------------------------------------------------------------:|
55
| Master | ![Create tagged release](https://github.com/nut-tree/nut.js/workflows/Create%20tagged%20release/badge.svg) |
66
| Develop | ![Create snapshot release](https://github.com/nut-tree/nut.js/workflows/Create%20snapshot%20release/badge.svg) |
77

88
[![SonarCloud badge](https://sonarcloud.io/api/project_badges/measure?project=nut-tree%3Anut.js&metric=alert_status)](https://sonarcloud.io/dashboard?id=nut-tree%3Anut.js)
99
[![SonarCloud Coverage](https://sonarcloud.io/api/project_badges/measure?project=nut-tree%3Anut.js&metric=coverage)](https://sonarcloud.io/component_measures?id=nut-tree%3Anut.js&metric=coverage)
1010

11-
[![Downloads per month](https://img.shields.io/npm/dm/@nut-tree/nut-js)](https://www.npmjs.com/package/@nut-tree/nut-js)
12-
[![@nut-tree/nut-js](https://snyk.io/advisor/npm-package/@nut-tree/nut-js/badge.svg)](https://snyk.io/advisor/npm-package/@nut-tree/nut-js)
13-
1411
<a href="https://console.dev" title="Visit Console - the best tools for developers"><img src="https://console.dev/img/badges/1.0/svg/console-badge-logo-dark.svg" alt="Console - Developer Tool of the Week" /></a>
1512

1613
<p align="center">
@@ -34,7 +31,16 @@ for detailed documentation and tutorials
3431
It allows for native UI interactions via keyboard and / or mouse,
3532
but additionally gives you the possibility to navigate the screen based on image matching.
3633

37-
# Sponsoring
34+
# The Price of Open Source
35+
36+
If you came here after I removed public packages from npm as announced
37+
in ['the blog post'](https://nutjs.dev/blog/i-give-up), please be aware that
38+
39+
- nut.js is still open source (you are right here, aren't you?)
40+
- nut.js is still free to use, you'll just have to build it from sources
41+
- nut.js is still maintained and developed further
42+
- nut.js does not force anyone to pay anything, because you can even build every single plugin yourself. It's just
43+
interfaces to implement
3844

3945
`nut.js` is developed with community in mind.
4046

@@ -48,11 +54,13 @@ Check out this demo video to get a first impression of what nut.js is capable of
4854

4955
# Tutorials
5056

51-
Please consult the project website at [nutjs.dev](https://nutjs.dev/tutorials/first_steps#prerequisites) for in-depth tutorials
57+
Please consult the project website at [nutjs.dev](https://nutjs.dev/tutorials/first_steps#prerequisites) for in-depth
58+
tutorials
5259

5360
# API Docs
5461

55-
nut.js provides [public API documentation](https://nut-tree.github.io/apidoc/) auto-generated by [TypeDoc](https://typedoc.org).
62+
nut.js provides [public API documentation](https://nut-tree.github.io/apidoc/) auto-generated
63+
by [TypeDoc](https://typedoc.org).
5664

5765
# Community
5866

@@ -89,13 +97,19 @@ It's work in progress and will undergo constant modification.
8997
- [x] Focus window
9098
- [x] Resize window
9199
- [x] Reposition window
100+
- [x] Minimize a window (\*)
101+
- [x] Restore a window (\*)
102+
- [x] Inspect GUI elements of a window (\*)
103+
- [x] Search for specific GUI elements of a window (\*)
92104

93105
## Screen
94106

95107
- [x] Retrieve RGBA color information on screen
96108
- [x] Highlighting screen regions
97-
- [x] Find a single or multiple occurrences of an image on screen (requires an additional provider package like e.g. [nut-tree/template-matcher](https://www.npmjs.com/package/@nut-tree/template-matcher))
98-
- [x] Wait for an image to appear on screen (requires an additional provider package like e.g. [nut-tree/template-matcher](https://www.npmjs.com/package/@nut-tree/template-matcher))
109+
- [x] Find a single or multiple occurrences of an image on screen (requires an additional provider package like
110+
e.g. [nut-tree/template-matcher](https://www.npmjs.com/package/@nut-tree/template-matcher))
111+
- [x] Wait for an image to appear on screen (requires an additional provider package like
112+
e.g. [nut-tree/template-matcher](https://www.npmjs.com/package/@nut-tree/template-matcher))
99113
- [x] Find a single or multiple occurrences of text on screen (\*)
100114
- [x] Wait for a piece of text to appear on screen (\*)
101115
- [x] Find a single or multiple windows on screen (\*)
@@ -169,7 +183,10 @@ This section lists runtime requirements for `nut.js` on the respective target pl
169183

170184
#### Windows
171185

172-
In case you're running Windows 10 N and want to use [ImageFinder plugins](https://nutjs.dev/plugins/imagefinder), please make sure to have the [Media Feature Pack](https://support.microsoft.com/en-us/topic/media-feature-pack-for-windows-10-n-may-2020-ebbdf559-b84c-0fc2-bd51-e23c9f6a4439) installed.
186+
In case you're running Windows 10 N and want to use [ImageFinder plugins](https://nutjs.dev/plugins/imagefinder), please
187+
make sure to have
188+
the [Media Feature Pack](https://support.microsoft.com/en-us/topic/media-feature-pack-for-windows-10-n-may-2020-ebbdf559-b84c-0fc2-bd51-e23c9f6a4439)
189+
installed.
173190

174191
#### macOS
175192

@@ -182,7 +199,8 @@ xcode-select --install
182199

183200
**Permissions**:
184201

185-
nut.js requires the executing application, e.g. your terminal, to be given both `Accessibility` and `Screen Recording` permissions.
202+
nut.js requires the executing application, e.g. your terminal, to be given both `Accessibility` and `Screen Recording`
203+
permissions.
186204

187205
Starting with release `2.3.0`, nut.js will check for and request these permissions automatically:
188206

@@ -192,8 +210,12 @@ Starting with release `2.3.0`, nut.js will check for and request these permissio
192210

193211
It will also give you a subtle hint in case permissions are lacking:
194212

195-
- Accessibility: `##### WARNING! The application running this script is not a trusted process! Please visit https://github.com/nut-tree/nut.js#macos #####`
196-
- Screen Recording: `##### WARNING! The application running this script is not allowed to capture screen content! Please visit https://github.com/nut-tree/nut.js#macos #####`
213+
-
214+
215+
Accessibility: `##### WARNING! The application running this script is not a trusted process! Please visit https://github.com/nut-tree/nut.js#macos #####`
216+
217+
- Screen
218+
Recording: `##### WARNING! The application running this script is not allowed to capture screen content! Please visit https://github.com/nut-tree/nut.js#macos #####`
197219

198220
**Attention**:
199221

@@ -234,7 +256,27 @@ On e.g. Ubuntu you can switch to XWayland on your login screen as a workaround.
234256

235257
## Install `nut.js`
236258

237-
Running
259+
### Open Source
260+
261+
The core functionality of `nut.js` is open source and available on GitHub.
262+
263+
To build nut.js from source you'll have to build native dependencies first.
264+
265+
- Start with [@nut-tree/libnut-core](https://github.com/nut-tree/libnut-core)
266+
- A build pipeline can be found in the respective repository
267+
- Update dependencies in `nut.js` to point to your local build of `libnut-core`
268+
- A build pipeline can be found in the respective repository
269+
270+
### Pre-built packages
271+
272+
Pre-built packages are available for subscription plans.
273+
274+
Check out the [pricing page](https://nutjs.dev/pricing/pricing) for more information.
275+
276+
Once you subscribed to a plan, you'll receive a token which you can use to install the respective
277+
package, [check out the registry access tutorial for reference](https://nutjs.dev/tutorials/registry-access).
278+
279+
With everything set up, running
238280

239281
```bash
240282
npm i @nut-tree/nut-js
@@ -266,5 +308,7 @@ yarn add @nut-tree/nut-js@next
266308

267309
will install the most recent development release of `nut.js`.
268310

269-
**Attention**: While snapshot releases are great to work with upcoming features before a new stable release, it is still a snapshot release.
270-
Please bear in mind that things might change and / or break on snapshot releases, so it is not recommended using them in production.
311+
**Attention**: While snapshot releases are great to work with upcoming features before a new stable release, it is still
312+
a snapshot release.
313+
Please bear in mind that things might change and / or break on snapshot releases, so it is not recommended using them in
314+
production.

0 commit comments

Comments
 (0)