Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V0.7.0 #303

Merged
merged 5 commits into from
Jun 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 27 additions & 18 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,33 @@

All notable changes to the Rango extension will be documented in this file.

## [0.7.0](https://github.com/david-tejada/rango/releases/tag/v0.7.0) - 2024-06-17

### Added

- Add setting to always compute hintables.
- Add command for performing action on an element fuzzy searching its text.
- Add ability to customize custom selectors from the settings page.
- Add setting for notifying or not when toggling hints.
- Add command for hiding a specific hint.
- Add command to save a reference to the active element.

### Fixed

- Fix issue with elements not triggering intersection when within
`positioned: fixed` element.
- Fix hints being read out when using Microsoft Edge Read Aloud function.
- Make hints and keys to exclude settings case insensitive.
- Fix crown not taking account sticky headers with smooth scrolling.
- Fix Discord's internal links opening in a new tab.
- Fix "go input" not working when the hints are off.
- Fix slowness on startup caused by having to reload discarded tabs for
refreshing tab marker.

### Changed

- Allow smaller hint font size.

## [0.6.3](https://github.com/david-tejada/rango/releases/tag/v0.6.3) - 2024-2-2

### Added
Expand Down Expand Up @@ -488,21 +515,3 @@ All notable changes to the Rango extension will be documented in this file.

If you update to this version remember to update
[rango-talon](https://github.com/david-tejada/rango-talon)

### Added

- Rango now supports iframes!
- Added commands for changing hints size: `hint bigger` and `hint smaller`
- More ways to toggle hints on and off:
- With the shortcut `ctrl-shift-space`
- Clicking the extension button in the browser toolbar

### Changed

- Reduced displayHints timeout for added snappiness

### Fixed

- Fix hints position not being calculated properly on some pages
[#8](https://github.com/david-tejada/rango/issues/8)
- Fix hints not returning to its original size after clicking
8 changes: 4 additions & 4 deletions Rango/Rango for Safari.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -518,7 +518,7 @@
buildSettings = {
CODE_SIGN_ENTITLEMENTS = "macOS (Extension)/Rango.entitlements";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 11;
CURRENT_PROJECT_VERSION = 12;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
GENERATE_INFOPLIST_FILE = YES;
Expand Down Expand Up @@ -549,7 +549,7 @@
CODE_SIGN_ENTITLEMENTS = "macOS (Extension)/Rango.entitlements";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 11;
CURRENT_PROJECT_VERSION = 12;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
GENERATE_INFOPLIST_FILE = YES;
Expand Down Expand Up @@ -583,7 +583,7 @@
CODE_SIGN_ENTITLEMENTS = "macOS (App)/Rango.entitlements";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 11;
CURRENT_PROJECT_VERSION = 12;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
GENERATE_INFOPLIST_FILE = YES;
Expand Down Expand Up @@ -619,7 +619,7 @@
CODE_SIGN_ENTITLEMENTS = "macOS (App)/Rango.entitlements";
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 11;
CURRENT_PROJECT_VERSION = 12;
DEAD_CODE_STRIPPING = YES;
ENABLE_HARDENED_RUNTIME = YES;
GENERATE_INFOPLIST_FILE = YES;
Expand Down
67 changes: 59 additions & 8 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,9 @@ will work even when the hints are off.
#### Save References

- `mark <target> as <word>`: Saves a reference to the element with the specified
hint and assign it to the specified word.
hint and assigns it to the specified word.
- `mark this as <word>`: Saves a reference to the focused element and assigns it
to the specified word.
- `mark show`: Shows the visible saved references current in the page.
- `mark clear <word>`: Remove the reference corresponding to the specified word.

Expand All @@ -400,7 +402,7 @@ In order to use the saved references in scripting you need to use the talon
action `user.rango_run_action_on_reference`. This action accept two arguments:
the name of the action and the name of the reference.

Following is a simple example of command that clicks the element with the
Following is a simple example of a command that clicks the element with the
reference `edit`:

```talon
Expand All @@ -414,6 +416,47 @@ use references. These will be active when editing `.talon` files.
- `focus rango mark <word>`
- `hover rango mark <word>`

### Fuzzy Search Elements

Similar to custom references you can also target elements by their text content
using fuzzy search. This can also be used for scripting purposes with the
advantage that there is no need to previously save a reference to the element.

#### Using Fuzzy Search Directly to Run Actions on Elements

- `follow <text>`: Click the element that better matches the provided text. It
prioritizes elements within the viewport. Any element within the viewport will
have priority over other elements outside of the viewport with better
fuzziness score.
- `button <text>`: Click the element that better matches the provided text. It
doesn't take into account if the element is within or outside the viewport. It
will simply click the element in the document with the best fuzziness score.
- `focus text <text>`: Focus the element that better matches the provided text.
It prioritizes elements within the viewport.
- `hover text <text>`: Hover the element that better matches the provided text.
It prioritizes elements within the viewport.

#### Scripting Using Fuzzy Search

In order to use fuzzy search in scripting you need to use the talon action
`user.rango_run_action_on_text_matched_element`. This action accepts three
arguments: the name of the action, the text searched and whether to prioritize
elements within the viewport or not (optional, defaults to false).

Following is a simple example of a command that clicks the element that better
matches the text "edit" anywhere in the document.

```talon
edit this: user.rango_run_action_on_text_matched_element("clickElement", "edit", false)
```

There are also a few talon helpers that will make easier to create commands
using fuzzy search. These will be active when editing `.talon` files.

- `click rango text <text>`
- `focus rango text <text>`
- `hover rango text <text>`

### Modify Hints Size

- `hint bigger`: Increase the size of the hints.
Expand Down Expand Up @@ -532,43 +575,43 @@ In [this page](https://forvo.com/word/define/#en) we have this section which
unfortunately doesn't show any hints.

<p align="left">
<img src="images/screenshot-custom-hints-1.png" height=70px">
<img src="images/screenshot-custom-hints-1.png" alt="">
</p>

Now we use the command `hint extra` to greedily display hints.

<p align="left">
<img src="images/screenshot-custom-hints-2.png" height=70px">
<img src="images/screenshot-custom-hints-2.png" alt="">
</p>

If we wanted to show hints for the gray links we can issue the command
`include cap each and cap drum`, which marks in green the hints that will be
included.

<p align="left">
<img src="images/screenshot-custom-hints-3.png" height=70px">
<img src="images/screenshot-custom-hints-3.png" alt="">
</p>

Since the result is not exactly what we want and there are still hints missing
we use the command `some more`.

<p align="left">
<img src="images/screenshot-custom-hints-4.png" height=70px">
<img src="mimages/screenshot-custom-hints-4.png" alt="">
</p>

Now there are more hints showing but they're not the ones we want. We issue the
command `some more` again to see if that helps.

<p align="left">
<img src="images/screenshot-custom-hints-5.png" height=70px">
<img src="images/screenshot-custom-hints-5.png" alt="">
</p>

The hints marked for inclusion now are exactly the ones we want. We could
continue including more custom hints using the `include` command again but for
the moment we leave it like that and save with `custom hints save`.

<p align="left">
<img src="images/screenshot-custom-hints-6.png" height=330px">
<img src="images/screenshot-custom-hints-6.png" alt="">
</p>

Now the extra hints disappear and we are left with the custom hints that we just
Expand Down Expand Up @@ -600,6 +643,14 @@ Here is a summary of all the commands for customizing hints:
inclusion/exclusion so that they render by default.
- `custom hints reset`: Remove any previously included/excluded custom hints.

Custom hints can also be edited, added or removed from the settings page.

#### Hiding a Particular Hint

On occasions a hint might be obscured by another hint that is stacked on top of
the first one. For those occasions you can use the command `hide <target>` to
hide the hint on top.

## Known Issues and Limitations

There is currently no way to open a pure CSS dropdown menu like the "hover" menu
Expand Down
2 changes: 1 addition & 1 deletion src/mv2-safari/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Rango",
"version": "0.6.3",
"version": "0.7.0",
"description": "Extension that allows you to interact with webpages using only your keyboard or your voice and talon",
"homepage_url": "https://github.com/david-tejada/rango",
"manifest_version": 2,
Expand Down
2 changes: 1 addition & 1 deletion src/mv2/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Rango",
"version": "0.6.3",
"version": "0.7.0",
"description": "Extension that allows you to interact with webpages and the browser using your voice and talon or your keyboard",
"homepage_url": "https://github.com/david-tejada/rango",
"manifest_version": 2,
Expand Down
2 changes: 1 addition & 1 deletion src/mv3/manifest.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "Rango",
"version": "0.6.3",
"version": "0.7.0",
"description": "Extension that allows you to interact with webpages and the browser using your voice and talon or your keyboard",
"homepage_url": "https://github.com/david-tejada/rango",
"manifest_version": 3,
Expand Down
Loading
Loading