Comments (17)
tab split
implemented. It keeps the tab state like you mentioned
from rango.
I implemented the rest of the features, but I somehow missed go input
. I will have it ready for the next release, which won't take so long as this one.
from rango.
Scroll is implemented with downer
and upper
. Currently it scrolls 2/3 of a page. Would you like the behavior to be different? I guess in vimium one is a full page scroll and the other a small one. I also implemented crown
, center
and bottom
like in cursorless. They also take into account sticky headers. Scroll left and right I had them implemented but with responsive design everywhere I couldn't find a page to test it. If you can link one I'd appreciate it. visitPreviousTab I already had it in mind. And moveTabToNewWindow is easy, no problem.
from rango.
Ideally you could give a float as a second parameter. That way the user could configure their own scroll levels and even have a rule with a number in it for custom scrolling. If we are talking about fixed levels then half the page is what vimium uses and I find that very useful.
upper and downer followed by a target I have found but how do you center on a target? upper and downer also works a bit weird for me. Sometimes the target is outside of the viewport and if you issue it on the same target again you don't get the same result.
I don't have a page in mind but you could easily build a jsfiddle to test with.
from rango.
Centering is still not released but you can see how it will work here: #3 (comment)
You can use up again
and down again
to avoid that issue where the element is outside of the viewport. After that repeating commands should work normally.
from rango.
I guess it's not trivial to fix so upper/downer doesn't overshoot like that?
from rango.
What do you mean overshoot? I can make scroll be the amount that I want. I can implement the float as a second parameter that you mention, it's no problem.
from rango.
I mean upper/downer <target>
that should scrolled to the target often scroll too far
from rango.
I think you're misunderstanding what the goal of that command is. The goal is to be able to scroll a scroll container that otherwise is not reachable by voice. So the target is just a way to reference that container, it is not meant to just scroll the element up and down and stop when the element is about to disappear from the viewport. crown
and bottom
instead work like that, they leave the element at the top or bottom but still visible.
Let me know if you're not well served with the way these scroll commands work and we'll see what can we do about that. Implementing the behavior that you mention is possible, maybe passing an argument like overshoot
or something like that.
from rango.
Okay I guess my confusion is because there is no commands called crown and bottom in my code. I guess it's not released yet?
The only thing I would like is for the scroll amount to be configurable via a parameter in the api
from rango.
Yes, crown, bottom and center are still not released.
I will add a parameter to configure the scroll amount
from rango.
Thanks! :)
from rango.
Do you have any suggestion for words for scroll left and right?
from rango.
For opening in a new window I thought of tab detach
.
I also need one for visitPreviousTab. BTW, would this command cycle between two tabs or would it move back and forth through the tabs in order of last visited. Maybe we could have commands for both
from rango.
These are the commands I used today
tab split: app.tab_detach()
tab back: user.tab_back()
small up: user.scroll_up()
small down: user.scroll_down()
small left: user.scroll_left()
small right: user.scroll_right()
half up: user.scroll_up_half_page()
half down: user.scroll_down_half_page()
full up: user.scroll_up_page()
full down: user.scroll_down_page()
The vimium implementation is just swapping between the last two. I do agree that both are probably useful and if you could implement both as separate commands that will be great.
from rango.
I also have some Vimium commands I use quite often which could be handy
go home: "gU"
. Go to root of current URL hierarchylink next: "]]"
. Follow the link labeled next or >go input: "gi"
. Focus the first text input on the page
Of course all these can currently be done by clicking rango hints, but I find that I do these often enough that being able to skip reading/speaking letters is valuable
from rango.
All those seem useful and easy to implement . I will try to have them ready for the next release.
from rango.
Related Issues (20)
- "rango open read me" should take you to https://rango.click/ HOT 1
- Add setting to compute hints even when the hints are toggled off HOT 1
- rango hints break filter options on https://media.ccc.de HOT 1
- rango adds new lines to pad HOT 1
- Marks do not persist HOT 2
- Fuzzy search on link text
- `Hints to exclude` setting should be case insensitive
- Microsoft Edge Read Aloud functionality reads Rango hints HOT 1
- Question: Could Rango currently run on Electron HOT 2
- TOC has no hints HOT 1
- Add PayPal donation option HOT 1
- Add command to hide or reduce opacity of a specific hint
- nut.js changed to monorepo and is breaking npm install HOT 3
- FR: New utterance to refer to the last target
- Error: Unable to parse color HOT 3
- Mark response payload as non monitored/transient HOT 13
- Tab markers make firefox crash on startup when resuming a session with many tabs
- Toast notifications could use improved contrast HOT 1
- consider prioritizing aria labels in selectors for suggested hints
- add support for importing and exporting rule sets
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rango.