Here's a command-line to start the application, please note that this requires Java 11+ and openjfx to be installed. In some future iteration I would like to move to a self-contained package. Until then it's:
java -jar narpas-javafx.jar
There's an optional command-line argument "--passwordList" that opens a saved password list.
java -jar narpas-javafx.jar --passwordList=[full path to saved password list]
More on this later..
You should then be greeted by a window that looks like this.
OK, there's a lot going on here but it's still quite simple:
The left side is the list of passwords, that will be covered in a minute.
The pass phrase field is like your master password for all the other passwords. This should be a value that is hard to guess or socially engineer (yet easy for you to remember). You can have a different pass phrase for each password if you like.
The password field is the generated password. This field is not editable. Use the Copy button to copy password to the clipboard. You can also highlight it and right-click to copy if you prefer.
The password name field is a friendly name for the password being generated. Typically it would be the name of the site or account but you can use whatever naming convention you prefer.
The four checkboxes determine which character sets will be included in the generated password.
The password length slider determines how long the generated password will be. It only supports multiples of 8 due to a design decision I made early on. I should also fix that if it's a problem. It's kind of bad for sites that have weird restrictions like a maximum of 12 characters. It always terrifies me to use sites that are obviously storing passwords in plain text like that. Like somewhere they have a database column named "password" set to VARCHAR(12).
The password notes field does not modify the password. It's where you can put a reminder like "only use the first 12 characters on this insecure site".
The last two checkbox+field combinations are used to clear values after some period of time if that's something you want to do. The first removes the password copied to the clipboard after some number of seconds. Really it clears the entire clipboard. The second clears the pass phrase in the UI after some number of seconds. Use these or don't, it depends on how likely you think it is that someone has access to your physical computer.
Password settings are initially read-only. This is a design choice to work around my own bad habit of accidentally overwriting passwords. Click the Edit button under the password length slider to edit the password.
After filling out a pass phrase the password will be generated. This value is not stored by NARPassword and will change when any settings are changed.
After editing the password settings use the buttons underneath to:
Save the current password settings, this overwrites the current settings.
Add the current password settings as a new item to the list.
Undo changes and revert to the previous password settings.
The plus and minus buttons under the list can be used to add and remove passwords. The text on the left side list isn't editable. The password name is changeable in the field on the right side.
If there are unsaved changes you will be prompted to save before selecting a new password setting. This was added to accommodate my apparent inability to press a save button.
The save button under the password settings list opens a dialog to save your list to a file. This does not save your pass phrase or generated passwords. It saves the name and settings.
This file can be encrypted with a password if you choose. This is not required but is a good idea.
The saved password list contains text like this when un-encrypted:
Again, no password or pass phrase in there. On your file system it will be encrypted even if you don't specify a password. However if someone compromised this file it would be trivial to un-encrypt if there wasn't a password. In case you're curious, here's what the previous password list looks like when it's saved with no password: