1
0
Fork 0
Reverse Polish Notation Calculator (GUI)
Go to file
sloum f6f6348c8d Adds more usage instructions 2021-06-23 20:50:17 -07:00
.gitignore Adds readme and gitignore 2021-06-23 20:35:10 -07:00
README.md Adds more usage instructions 2021-06-23 20:50:17 -07:00
calc.go Adds readme and gitignore 2021-06-23 20:35:10 -07:00
gnums.png Bumps version and adds screenshot 2021-06-23 20:39:24 -07:00
go.mod Initial commit 2021-06-23 20:19:19 -07:00
go.sum Initial commit 2021-06-23 20:19:19 -07:00
main.go Bumps version and adds screenshot 2021-06-23 20:39:24 -07:00

README.md

gnums

gnums is the gui version of my program nums (ie. gui/graphical nums). It is a reverse polish notation calculator.

screenshot of the gnums calculator interface

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.

At present there is no keyboard input. This is on the TODO list and should get added in the near future (after all, who really wants to use a mouse for anything?).

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.

Dependencies

  • Go >= 1.16
  • OSX
    • xcode-select (xcode-select --install)
  • Windows
  • 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. Makefile coming soonTM.

OSX / Linux

If not using upx just do everything before the &&.

go build -ldflags "-s -w" -o gnums && upx gnums

Windows

go build -ldflags "-s -w -H=windowsgui -extldflags=-static" -o gnums.exe