1
0
Fork 0
gnums/README.md

69 lines
4.1 KiB
Markdown
Raw Permalink Normal View History

2021-06-24 03:35:10 +00:00
# gnums
gnums is the gui version of my program <a href="https://tildegit.org/sloum/nums" target="_blank">nums</a> (ie. gui/graphical nums). It is a <a href="https://en.wikipedia.org/wiki/Reverse_Polish_notation" target="_blank">reverse polish notation</a> calculator.
![screenshot of the gnums calculator interface](gnums.png)
## Usage
On initial load some sensible defaults will be set up. Other options are avialable in the settings menu. You will see a stack view on the left, the calculator buttons on the right, and the main input/output at the top. The main input/output will show what you are typing as you type it and will show the current TOS/total after performing an operation (but before more numerical entry), similar to a regular calculator. The stack view will show the full input stack and allow for more complex operations.
2021-06-24 03:50:17 +00:00
Most of the keys can be figured out if you don't know what they are already. I will mention that the enter key will add the currently typed in number to the top of the stack. If you have a number typed in, but have not hit enter, and you use a non-numeric/non-enter key (+, swap, sqrt, etc) the number will automatically be added to the top of the stack before the function is run.
2021-06-25 21:55:09 +00:00
### Hot Keys
| Key(s) | Effect |
|-------------|-------------------------------------------------------|
| Number Key (`0`-`9`) | Enter the given number |
| `.` | Enter a decimal point to the current input value |
| `Backspace` | Delete a character from the current input value |
| `Enter` | Place the current input value on the top of the stack |
| `Tab` | Toggle the stack view open/closed |
| `Ctrl-q` | Exit gnums |
| `+` | Add |
| `-` | Subtract |
| `*` | Multiply |
| `/` | Divide |
| `!` | Invert the top stack value's sign (+/-) |
| `^` | Exponent |
| `f` | Floor |
| `c` | Ceiling |
| `r` | Round |
| `q` | Square root |
| `o` | Over |
| `s` | Swap |
| `d` | Drop |
| `u` | Dup |
2021-06-24 03:35:10 +00:00
## Dependencies
- Go >= 1.16
- OSX
- xcode-select (`xcode-select --install`)
- Windows
- <a href="https://github.com/brechtsanders/winlibs_mingw/releases/tag/10.2.0-11.0.0-8.0.0-r8" target="_blank">mingw</a>
- Debian/derivatives (package names may vary for other distros)
- `apt install libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libglx-dev libgl1-mesa-dev libxxf86vm-dev`
## Building
Minor build variations can be found for each system. Using upx (`apt install upx` or `brew install upx`) will reduce binary size by a good bit for any of these systems. After running the build command, and optionally running upx, move the resulting binary onto your path and you are good to go.
2021-06-24 03:35:10 +00:00
2021-06-24 03:46:29 +00:00
### OSX / Linux
2021-06-24 03:35:10 +00:00
2021-06-24 05:54:32 +00:00
You should be able to just run `sudo make install`. If you just want to build locally you can run: `make && make compress`
Alternatively, you can just run a few things yourself and avoid make altogether:
2021-06-24 03:35:10 +00:00
2021-06-24 03:46:29 +00:00
`go build -ldflags "-s -w" -o gnums && upx gnums`
2021-06-24 03:35:10 +00:00
You would then need to move the executable to where you want it, as well as install the desktop entry/icon (linux only).
2021-06-24 05:54:32 +00:00
2021-06-24 03:46:29 +00:00
### Windows
2021-06-24 03:35:10 +00:00
2021-06-24 05:54:32 +00:00
Windows functionality and build steps are unconfirmed. As is the Makefile for windows usage. The following _should_ work. The makefile instructions provided for OSX/Linux _might_ work.
2021-06-24 03:46:29 +00:00
`go build -ldflags "-s -w -H=windowsgui -extldflags=-static" -o gnums.exe`
2021-06-24 03:35:10 +00:00