jrnxf / thokr Goto Github PK
View Code? Open in Web Editor NEW✨ sleek typing tui with visualized results and historical logging
License: MIT License
✨ sleek typing tui with visualized results and historical logging
License: MIT License
There's no way to visualize historical test data, such as WPM and accuracy.
I would love to help write some code (in Python, if you're alright with that) to generate graphs that show average WPM and accuracy over time, for example. The logs would have to record the game mode for this to work. Let me know what you think.
A simple statistics summary page could show one's PB for each game mode, total time spent typing, etc.
Statistics graph in Monkeytype.
Hi ! Thanks for creating thokr, i'm having fun playing it in random terminals :)
My only issue is that I struggle noticing where my caret is sometimes (when i'm trying to see whether the key i hit registered or not); the underline is not always visible enough to me.
It would be cool to see an option to use different caret types (block, beam), perhaps even following current terminal settings ! (That could perhaps expand into cool fluff like pace carets like the other issue describes as well).
One of my favorite features of Monkeytype is called the "pace caret":
Displays a second caret that moves at constant speed. The 'average' option averages the speed of last 10 results.
This gives me a good idea of how fast I'm typing in each trial and helps me keep pace.
A pace caret feature in thokr could include "PB", "average", and "custom" WPM options, and would work just like in Monkeytype.
A live WPM counter could serve a similar purpose but is hard to pay attention to when focusing on typing. Also, it only indicates how fast I'm typing in the moment, and doesn't give me any idea how well I've been doing throughout the entire test (how likely I am to get a PR).
Pace caret demo in Monkeytype. The underline caret moves at a consistent 130 WPM, but jumps when I miss a word.
When I press Ctrl+Backspace, I'd expect the last word to be deleted – this is the behavior of most text input boxes, and Monkeytype. Instead, it adds a new character.
I don't know exactly how to implement this feature. It could be an optional argument in the CLI.
Video demonstrating the behavior. I mistype the word "possible" and attempt to delete the whole word.
When I start a fresh terminal and run thokr for the first time it doesn't load any graphic until I run it again
Run thokr in a fresh warp terminal.
It's expected that it shows some graphics, isn't it?
first run in a fresh terminal:
after retry:
video:
I'm not an English speaker so sorry for any language mistake...
In iTerm it runs normally...
After running a typing test and pressing t
, nothing happens.
docker run -it coloradocolby/thokr
)t
I would expect some sort of Twitter-friendly text to copy paste or Twitter opens up with the tweet pre-filled.
When a multiple-byte codepoint is rendered in the prompt, thokr
panics and dies.
Run thokr -p "ä"
Observe the panic.
Thokr should render the character properly, without panicking.
I suspect the source of the panic can be found on line 64 in thok.rs.
https://github.com/thatvegandev/thokr/blob/9453468032cae753570b660146103abd55609df2/src/thok.rs#L64
Presently, when you pass -s
to set a time limit, the test doesn't run for that amount of time. Instead, it runs until the you've typed all the words(which is 15 by default)
I really like 60 seconds typing tests and on something like monkeytype, the number of words isn't static - if you're typing fast, it increases the number of words automatically. There are 3 lines and as soon as you complete the 2nd line, a new line of words is added. So you never reach the last line.
This makes more sense to me.
However, I have no clue if doing that is feasible in a terminal. If it isn't, I think doing something similar to →(but without resetting the timer) would be nice.
Of course, I can do something like -s 60 -w 2000
but having so many words displayed at once makes it much more difficult for me to focus.
From looking at the readme it seems like supporting an extended character set is beyond the current scope of this project at the moment. So I feel a bit cheeky making this request. I would love it to work because I'm trying to use thokr as part of practice learning languages.
The program halts when it encounters an extended character (when the user is expected to type that character, before they have done so).
Enter this command:
thokr -p "ich heiße Thokr"
and type ich hei
The kernel panics with the following output:
ich heithread 'main' panicked at 'byte index 8 is not a char boundary; it is inside 'ß' (bytes 7..9) of `ich heiße Thokr`', /Users/joelle/.cargo/registry/src/index.crates.io-6f17d22bba15001f/thokr-0.4.1/src/ui.rs:92:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
⏎
I have a test file with around 50 words that have this structure : (word in each line with no space at the end)
dependencies
visualization
description
parse
duplicates
possible
nootropics
scissors
now when i run thokr -p "$(cat Notes/typing/words)"
the app show like this : ( wiht no spaces between words)
dependenciesvisualizationdescriptionparseduplicatespossible
nootropicsscissors
I tried to add space after each word in the text file and it worded almost : the problem i had is that i need to type twice for each
To show the words with spaces
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.