Chapter 2.4.3 KCalc
===================

KCalc is the default scientific calculator application for Lubuntu.

Features:

 - Trigonometric functions
 - Factorials
 - Built in mathematical and scientific constants.
 - Memory
 - Copy and paste

Usage
------
To do simple arithmetic click the number buttons or type them on your keyboard and then press the sign for addition, multiplication, subtraction,  or division. You can also type in the numbers and press :guilabel:`+` for addition, :guilabel:`-` for subtraction, :guilabel:`x` for multiplication and the division symbol for division. To view the answer press the button that is an :guilabel:`=`. To enter a percentage press :kbd:`%` or left click :guilabel:`%`. To view a summary of each button you can mouse over to get a verbal description of the button. If you make a mistake entering in a number you can press the :kbd:`Backspace` key.
 
.. image:: Kcalc.png

To make a number negative press the button that looks like a :guilabel:`+/-`. To insert decimals press the decimal point button which looks like a :guilabel:`.` when you get to the part which is less than a whole number. To clear input from KCalc before the last operator press the button with a :guilabel:`C` on it. To clear all input from KCalc press the :guilabel:`AC` button. To group operations so they happen together use the parenthesis to make things grouped together for example 2*(2+3) would give the result of 10 because it would add 2 and 3 and then multiply by two. You can also press the :guilabel:`(` or :guilabel:`)` buttons to make parenthesis to change the order of operations.

To undo an operation press :kbd:`Control+Z` or :menuselection:`Edit --> Undo`. To redo an operation press :kbd:`Control+Shift+Z` or :menuselection:`Edit --> Redo`. 

To copy and answer out of KCalc press :kbd:`control + c` or :menuselection:`Edit --> Copy` from the menu. To paste a number into KCalc you can press :kbd:`control + v` or :menuselection:`Edit --> Paste` from the menu. To cut the text from KCalc press :kbd:`control +x` or :menuselection:`Edit --> Cut` from the menu.

To view your history what you have calculated in KCalc press :kbd:`Control+h` or :menuselection:`Settings --> Show History`. To hide your history do the same thing again. You can select text with the mouse in KCalc and then right click select :menuselection:`Copy` or press :kbd:`Control+C` to copy what you have previously calculated. To select all of the history press :kbd:`Control+A` or right click :menuselection:`Select All`.

.. image:: kcalc-history.png

To get a main toolbar right click on the main menus and select :menuselection:`Main Toolbar`.

To quit KCalc press :kbd:`Control+Q`.

Scientific calculator mode advanced functionality
-------------------------------------------------

If you want even more functionality of KCalc there is also scientific mode which is accessed from :menuselection:`Settings --> Science Mode` radio button. The button :guilabel:`1/x` takes takes 1 and divides it by the number currently on the calculator also known as taking the reciprocal. The :guilabel:`x!` button read x factorial will take the number X you entered and multiple each number going down to 1 for example 5! would multiply 5*4*3*2*1.

The x :superscript:`2` button will multiply x by itself or square x. The button with x :superscript:`y` will take x the number you have in will exponentiate x to the power of y. The x :superscript:`3` button will cube the result or raise it to the third power. The x 10 :superscript:`y` will end up multiplying x by 10 to the power of y so for example to multiply 5 by 10 to the power of 3 entering in will give the answer of 5,000.

To change the unit that angles are measured in for trigonometric units in KCalc. Degrees take 360 to form a full circle while, 2Π radians form a full circle and 400 gradians form a full circle. The radio button :guilabel:`Deg` is to select Degrees as the unit for angles, :guilabel:`Rad` selects radian as the unit of measurement of angles and :guilabel:`Grad` selects Gradians as the unit of measurement for angles. The :guilabel:`Sin` button takes what you have as the input and takes the trigonometric sine function of that value measured in the unit for angles you have selected. The :guilabel:`Cos` button takes the cosine of the value in the unit of angle you have selected. The :guilabel:`Tan` button takes the tangent of the angle in the current units.

.. image:: kcalc-scientific.png

If you make a mistake entering a long input into KCalc press the button that looks like a leftward pointing arrow button to correct your mistake just like pressing :kbd:`Backspace`.

To have a log with the base of 10 type the number you want to take the log of then press the :guilabel:`Log` button. To take a log based off e, the natural logarithm, type the number you want to take the logarithm of then press the :guilabel:`Ln` button.

The Scientific mode also brings in a menu for many different predetermined constants under the :menuselection:`Constants`. If you want a button for  constants check the :menuselection:`Settings --> Constants Buttons` checkbox. To input the first constant press the :guilabel:`C1` button for the first constant and so on for the other constants.
 
To store a value in memory press the :guilabel:`M+` Button. To retrieve a value from memory press the :guilabel:`MR` button. To clear a value from memory press the :guilabel:`MC` button.

Numerical System mode
---------------------
To switch the calculator into number system mode :menuselection:`Settings --> Numeral System Mode`. The numerical system mode lets you change your numerical base instead of say the default base 10. To switch to a binary calculations click the :guilabel:`Bin` radio button. To switch the Octal or base 8 format click the :guilabel:`Oct` radio button. To switch to a hexadecimal format or base 16 format click the :guilabel:`Hexadecimal` radio button. For numbers greater than 10 for hexadecimal press the :guilabel:`A`-:guilabel:`F` buttons standing in for numbers 10-15 in base 10. When you are in number that are not part of a numerical base the button will get grayed out. To switch back to decimal or base 10 press the :guilabel:`Dec` radio button.   

.. image:: kcalcnummode.png

If you type a number into in your numerical base you will see the underneath the buttons will show what that number is in that numerical base. To be able to change each the bits use for each operation select :menuselection:`Settings --> Show bit edit`. Then to see which bits are shown will be below what you enter into the calculator and above the numerical bases. Each number you enter will in binary have a black square if it has a 1 in binary representation for that digit and a white square if it is zero. To flip a bit simply left click on it.

To perform a bitwise and on the binary numbers which takes both the 1s for both numbers enter one number press the :guilabel:`AND` button and then enter your second number. To get which number either number has in each bit, a bitwsie or, enter your first number press the :guilabel:`OR` button and then enter your second number. To choose the bits that are exclusively different, a bitwise exclusive or, enter one number press the :guilabel:`XOR` button and then enter your second number. To shift the bits of a number to the left on a number press the :guilabel:`Lsh` button and then the number of bits you want to shift over. To shift a number of bits to the right press the :guilabel:`Rsh` button and then the number of bits you wish to shift over. To flip all the bits of a number press the :guilabel:`Cmp` to take a ones' complement.


Statistic Mode
----------------
To enter Statistic mode :menuselection:`Settings --> Statistic Mode`. To enter multiple entries of data press the :guilabel:`Dat` button to enter data. To show how many pieces of data you have entered press the :guilabel:`N`. To view the mean or average of all the data press the :guilabel:`Mea` button. To view the standard deviation of the data press the :guilabel:`σ` with a subscript n button. To view the median of the data press the :guilabel:`Med` button. To clear the statistical memory press the :guilabel:`CSt` button. 

.. image:: kcalcstatistic.png

Customizing
-----------
To open configuration for KCalc press :kbd:`Control+Shift+ ,` or :menuselection:`Settings --> Configure KCalc`. To view your settings for precision or digit grouping use the :guilabel:`General` tab. To change the maximum number of digits change the :guilabel:`Maximum number of digits` field. To have KCalc set decimal precision to only a certain number of places after the decimal place check the :guilabel:`Set decimal precision` checkbox and select the number of digits after the decimal place. If you ant to show the result in the window title check the :guilabel:`Show result in window title` checkbox. To have KCalc group digits together check the :guilabel:`Group digits` checkbox. To change how many digits to group in different numerical bases change the field for each numerical base.

To cancel and not apply your changes press the :guilabel:`Cancel` button along the bottom. To apply your changes and not exit from this window press the :guilabel:`Apply` button. To restore the settings to your defaults press the :guilabel:`Restore Defaults` button. To apply your changes if any and close this window press the :guilabel:`OK` button.

.. image:: kcalcpref.png

The :guilabel:`Font` tab has settings to change settings with your fonts. To choose the font for your buttons on your calculator :guilabel:`Button font` and press the :guilabel:`Pencil` button to the font for the buttons on your calculator. To change the font for the display of the calculator. :guilabel:`Display font` will change how the and the :guilabel:`Pencil` button. To change what font will be used for displaying KCalc history change the :guilabel:`History font` field.

.. image:: kcalc-font-screenshot.png

The :guilabel:`Colors` tab has the colors of your user interface. To change your foreground color will change how the display or the number in the interface is the color next to :guilabel:`Foreground` color area to select. To change the background color of your display choose a different color on the :guilabel:`Background` button. To change the background color of the function buttons press the button next to :guilabel:`Functions`. To a change the color of the function button press button next to :guilabel:`Statistical functions`. To change the background color for hexadecimal functions :guilabel:`Hexadecimals`. To change the backgrounds of the numbers buttons press the button next to  :guilabel:`Numbers`. To change the background of the memory keys press the button next to :guilabel:`Memory`. To change the background of operations press the button next to :guilabel:`Operations`.

.. image:: kcalc-colors.png

To change your settings for :guilabel:`Constants` use the constants tab. To input a constant you have in the field to the left is the name of the constant on the field to the left. The filed in the center is where you put the value of the constant. To select from predefined constants press on the :guilabel:`Predefined` to bring up a menu of predefined constants.

.. image:: kcalc-constants.png

To customize your shortcuts for KCalc :menuselection:`Settings --> Keyboard Shortcuts` or press :kbd:`Control + Alt + ,`. To see what your shortcut does read the :guilabel:`Action` column. To see what keys to press the shortcut is in the :guilabel:`Shortcut` column. To see or set a second shortcut to see what activates this is in the :guilabel:`Alternate` column. To change your shortcuts press the :guilabel:`Custom` button and then left click on it and input the shortcut you want. To reset your shortcuts to default press the :guilabel:`Restore Defaults` button. To not make your changes to the shortcuts you made press the :guilabel:`Cancel` button. To use your new shortcuts as a calculator press the :guilabel:`OK` button.

.. image:: kcalc-shortcuts.png

Version
-------
Lubuntu ships with version 24.08.0 of KCalc.

How to Launch
-------------
To launch KCalc go to :menuselection:`Accessories --> KCalc` or run

.. code::

   kcalc
 
from the command line. The icon for KCalc looks like a box with a + sign a - sign a multiplication sign and an equals sign. If your computer has a calculator key you can press :kbd:`Calculator`.
