installation | ||
speed | ||
uninstall | ||
.gitignore | ||
about.gif | ||
cmd_typist.c | ||
cmdtypist | ||
cmdtypist.conf | ||
config.h | ||
display.h | ||
files.h | ||
functions_for_cmd_typist.h | ||
help.md | ||
LICENSE.md | ||
my_own.txt | ||
noslaclessons.txt | ||
README.md | ||
terminal.h | ||
user_speed.info | ||
utils.h |
CMDTYPIST -- Where Programmers Type
By Chiatiah Calson
About
Cmdtypist is a programmer oriented typing tutor written in C, designed to work on the gnome-terminal, xterm and uxterm and other consoles. It consists true programming lessons, so the user can type and learn at the same time.
Requirements
gcc compiler
A gcc compiler is required to compile cmdtypist
DOWNLOAD
You can get cmdtypist by cloning the repo from github
git clone https://github.com/Noslac/cmd_typist
INSTALLATION
Open a terminal and navigate into your clone copy of cmd_typist directory. cd further into installation directory. Run
./install.sh
script to install cmdtypist
RUNNING
If install.sh script exited with a success message, then you have installed cmdtypist, you can then run the command
cmdtypist arg1 arg2 arg3 ...
from any directory. arg1, arg2,... are valid cmdtypist arguments.
The first command to run if you are a new user is the cmdtypist mkuser "username" to create a new user. (Read more in arguments section below)
Run
cmdtypist --help
To know all commands and arguments available
CMDTYPIST ARGUMENTS
cmdtypist commands are entered at the terminal with the exception of select "lesson-number" (lesson-number is an int corresponding to a valid lesson number) which is entered at the cmdtypist prompt prior to some other cmdtypist command entered at the terminal.
CMDTYPIST Commands | Description |
---|---|
cmdtypist --help | Displays help menu |
cmdtypist | Displays lessons and opens the cmdtypist prompt |
cmdtypist mkuser "username" | Creates a new user called username |
cmdtypist ls | Lists available lessons, use <select "lesson-number"> to select a lesson |
cmdtypist man | Displays cmdtypist readme file |
cmdtypist select "lesson number" | Used to select a lesson directly from terminal |
cmdtypist atv | Use this command if backspace is not working properly |
cmdtypist sound --on | Activates error beep sound |
cmdtypist sound --off | Deacativates beep sound |
cmdtypist /myown | Changes the lessons to user's lesson copied into myown.txt |
cmdtypist cchl | Exits from user's lesson mode |
cmdtypist mkstd | Lessons appear as they are in lesson file |
cmdtypist mkrand | Lessons appear randomly |
cmdtypist chblock "lesson number" | changes number of lines per sesson to an int 'lesson number' |
cmdtypist reset | Does a soft reset |
cmdtypist reset raw | Does a hard reset, resetting to default |
Consult help file for more details of these commands
UNINSTALL
If you are having problems with cmdtypist configurations, you can run the command
cmdtypist reset raw
to reset settings to default. But if you want to permanently uninstall cmdtypist, proceed below.
To uninstall cmdtypist, open a terminal and cd into directory containing the unintall script by running
cd $HOME/cmdtypist/uninstall/
finally, run
./uninstall
to completely remove cmdtypist and associated files.
Features of cmtypist
General Features
Extremely fast, never again type faster than your type tutor!!!
CMDTYPIST comes bundled with a good number of lessons for both programmers and non-programmers. The non programmer lessons help train the user on basic typing techniques and the programmer lessons help both the programmer and non programmers to become better at typing.
An accurate speed algorithm in character per minute (CPM) and an approximate in word per minute WPM (accuracy -+0.35)
Terminal is manipulated to print green a correct character and red a wrong character. This makes cmdtypist command line tutor very appealing. The user easily knows where he has gone wrong and can undo all errors.
Keeps a record of the number of wrong and correct characters; cmdtypist is able tracks the number of wrong characters and displays at the end of each session.
Creates a text file to keep a account of the user speed in details(date, numer of errors, speed in CPM and WPM and time elapsed) for each session. Hence, the user can always keep track of his typing speed from the very first day.
NOTE: cmdtypist makes a periodic check once a month, on the size of the speed.info file, and when it has reached a certain length, on a confirmed prompt will automatically rename or delete the the existing file and hen create a new one.
CMDTYPIST equally contains a "myown.txt" file, where a user can input an optional text he wants to type. With myown.txt, the user is limited to typing only in standard mode.
Command Line Features
The user can choose to type in random mode where a random block is each session is chosen from selected lesson.
And in standard mode, the user types chronologically as the lesson is in the lesson file.
The user can chose to modify any lesson in the lesson file easily.
For a user who will not love to modify the lesson file, a my_own.txt file is available for the user to paste his text file he wants to type.
NOTE: Text file should contain only ascii 7 bits characters. For this reason, user text may some times look absurd when contains extended ascii characters since program has a function to ignore such characters.
User also can choose to receive a beep for any wrong character typed (may not work on all terminals)
Program has the ability to remember all past settings.
Terminal is manipulated so a user can erase characters right to the beginning of the session line(timing reset) For each wrong character erased, number of errors is decremented by one.
User session timing starts only when he types a first character (wrong or correct)
If the user erases to the beginning of the session, time is reset to zero and starts only as described above.
The last line of each lesson session is marked blue, so user is aware and can take time to review speed details before starting the following lesson.
License
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.