user-guide.md

July 17, 2026 · View on GitHub

LineSolv

LineSolv User Guide

A beginner-friendly guide to using LineSolv, the natural-language desktop calculator.

LineSolv — Type math naturally, get instant results. No equals button needed.

Plugin Repository: github.com/rkriad585/linesolv-plugins

Future Features: See Future Roadmap for planned features including AI integration, self-updater, image support, voice input, mobile support, and more.


1. Getting Started

First Open

When you launch LineSolv for the first time, you'll see a splash screen with the LineSolv logo and a progress bar while the app loads. Once ready, a clean, dark-themed window with a single input area appears. There is no sign-up, no telemetry, and no internet connection required. Everything runs locally on your machine.

Typing Your First Expression

Click the input area and start typing. Results appear in real-time as you type — there is no "equals" button. Type anything from simple arithmetic to natural-language phrases:

InputResult
2 + 24
twenty five times 4100
what is pi3.14159

Understanding Results

  • The left column shows your input lines.
  • The right column shows computed results aligned to each line.
  • If a line has no valid expression, no result appears for that line.
  • Lines are evaluated independently; each line can be a completely separate calculation.

2. The Interface

LineSolv uses a frameless window with a custom title bar. The main layout is:

+--[ Window Controls ]--[ LineSolv Logo ]--[ Panel Buttons ]--+
|                                                              |
|  +-- Notes Sidebar --+  +-- Main Area --------------------+ |
|  |                   |  |  Line 1 Input     |  Result 1    | |
|  |  Note A           |  |  Line 2 Input     |  Result 2    | |
|  |  Note B (active)  |  |  Line 3 Input     |  Result 3    | |
|  |  Note C           |  |  Line 4 Input     |  Result 4    | |
|  |                   |  |  Line N Input     |  Result N    | |
|  |  [+ New Note]     |  |                   |              | |
|  +-------------------+  +-----------------------------------+ |
|                                                              |
|  +-- Bottom Panels (toggleable) ---------------------------+ |
|  |  History  |  Variables  |  Steps  |  Graph              | |
|  +---------------------------------------------------------+ |
+--------------------------------------------------------------+

Panels

PanelToggleDescription
Notes SidebarCtrl/Cmd + BManage multiple calculation notebooks
Variables ExplorerCtrl/Cmd + IView and manage assigned variables
HistoryCtrl/Cmd + HSearchable list of past calculations
StepsCtrl/Cmd + SStep-by-step evaluation breakdown
DocumentationCtrl/Cmd + JBuilt-in docs viewer
Plugin Marketplace"..." menu in title barBrowse and install plugins
Settings`Ctrl/Cmd + ``General, Theme, Shortcuts, About
GraphAuto-activates on plot expressionsChart.js function plotting

Note: Opening Docs or Plugins automatically closes the Notes panel, and vice versa (panel cross-closing).


3. Writing Expressions

LineSolv evaluates each line in the input area independently. You can mix numbers, operators, words, functions, units, and variables freely.

Basic Arithmetic

Standard PEMDAS (Parentheses, Exponents, Multiplication/Division, Addition/Subtraction):

OperatorMeaningExampleResult
+Addition5 + 38
-Subtraction10 - 46
*Multiplication7 * 321
/Division20 / 45
^Exponentiation2 ^ 101024
%Modulo (remainder)17 % 52

Use parentheses to override precedence: (2 + 3) * 4 = 20.

Natural Language

Type conversational phrases — they just work:

InputResult
one plus one2
twenty five plus 328
what is 2+24
calculate 15% of 20030
hello how much is 5 + 38

You can use query prefixes (what is, calculate, show me, etc.) and conversational fillers (hello, hey, ok, well, etc.) — they are all ignored.

Percentages

InputResultMeaning
50%0.5Percentage as decimal
10% of 2002010% * 200
100 + 15%115100 + 15% of 100
200 - 10%180200 - 10% of 200
100 with 8% tax108100 + 8% of 100
200 after 10% discount180200 - 10% of 200
10 is what percent of 5020%Percentage question

Unit Conversion

Convert between units using in or to:

InputResult
10 inches in cm25.4 cm
1 kg in lb2.205 lb
100 c to f212.0 °F
1 gal in l3.785 l
2h30m in minutes150 minutes

Currency

LineSolv supports 50+ currencies with live exchange rates:

InputResult
$100 + €20$122.80
$20 in euro - 5% discount€18.26
£20 in usd$26.60

Use currency symbols ($, , £) or ISO codes (USD, EUR, GBP).

Variables

Assign variables and reference them in later expressions:

InputResult
x = 42x = 42
x * 284
y = x + 8y = 50

Variable names are case-insensitive. You can use any alphanumeric name (no spaces, must start with a letter).

Context References

After evaluating an expression, reference the previous result:

InputResult
4242
of that * 284
then + 1094
result / 247

Math Functions

All 40+ built-in functions:

CategoryFunctions
Trigonometrysin, cos, tan, asin, acos, atan, atan2
Hyperbolicsinh, cosh, tanh
Logarithmiclog, log2, log10, ln, exp
Roots & Powersqrt, cbrt, pow
Roundinground, ceil, floor, trunc, sign
Absoluteabs
Statisticsavg, median, mode, stdev, variance, range
Aggregationsum, min, max
Combinatoricsfact/factorial, gcd, lcm, ncr/choose
Randomrand, random
Geometryhypot/pythag/hypotenuse
Utilityfract, deg, rad
Number Theoryisprime/is_prime

Constants

pi (π), e, speed_of_light, gravity, planck, boltzmann, gas_constant, avogadro, stefan_boltzmann, electron_mass, proton_mass, neutron_mass, electron_charge, bohr_radius, rydberg.

Purchase Math

LineSolv handles shopping calculations with items, discounts, and tax:

InputResult
5 items at \$20 each$100.00
5 items at \$20 each with a 15% discount$85.00
5 items at \$20 each with a 15% discount and 8% sales tax$91.80
I bought 8 items at \$5 each with a 10% discount and 6% sales tax$40.76

Date Math

InputResult
today + 14 daysDate 14 days from now
today - 7 daysDate 7 days ago
March 1 + 30 daysMarch 31
last monthPrevious month
next weekNext week

Age Calculation

InputResult
born in 2007Age since 2007
born 1990Age since 1990
40 years old40

Graphing Functions

Type a graph expression and the Graph panel auto-activates:

InputDescription
plot x^2Plot a parabola
graph sin(x)Plot a sine wave
y = 2*x + 3Plot a linear equation

Specify a range: plot x^2 from -5 to 5


4. Managing Notes

Notes are persistent calculation notebooks stored in a local SQLite database.

Create a New Note

  • Press Ctrl/Cmd + N or click the + button at the bottom of the notes sidebar.
  • A new note with a randomly generated name is created and activated.

Switch Notes

  • Click any note name in the notes sidebar to switch to it.
  • The input area and results update to show that note's content.

Rename a Note

  • Right-click a note in the sidebar and select Rename.
  • Type the new name and press Enter.

Delete a Note

  • Right-click a note and select Delete.
  • A confirmation dialog appears (unless "Don't ask again" is enabled in Settings).
  • Deleted notes cannot be recovered.

Export a Note

Right-click a note and choose an export format. Six formats are available:

FormatExtensionDescription
LineSolv.lvRaw input content only (default)
Text.txtTitle, creation date, and content
Markdown.mdFormatted with heading and metadata
JSON.jsonStructured data with id, name, timestamps, content
TOML.tomlTOML-formatted metadata and content
PDF.pdfA4-formatted PDF with title, dates, content, and footer

Import a Note

  • Click the import button in the notes sidebar.
  • Select a .json file exported from LineSolv.

Drag-and-Drop Reorder

Click and drag any note in the sidebar to reorder them. The new order is persisted to the database.

Search Notes

  • Press Ctrl/Cmd + F to focus the search input in the notes sidebar.
  • Type to filter notes by name in real time.

Folders

Notes can be organized into hierarchical folders using drag-and-drop.

  • Right-click the notes sidebar to create a new folder.
  • Folders use sequential naming: New Folder, New Folder 2, New Folder 3, etc.
  • Drag notes into folders or reorder them within folders.
  • Right-click a folder for options: New Note, New Subfolder, Rename, Change Icon, Move to..., Delete.

Note Icons

Each note can have a custom icon (63 available). Right-click a note and select Change Icon to pick one. A random icon is assigned when a note is created.


5. Keyboard Shortcuts

ShortcutAction
Arrow KeysMove cursor
Ctrl/Cmd + Left/RightJump word left/right
Home / EndStart/end of line
Ctrl/Cmd + Home/EndStart/end of text
Page Up / Page DownScroll page up/down

Text Editing

ShortcutAction
Ctrl/Cmd + ZUndo
Ctrl/Cmd + Shift + Z or Ctrl/Cmd + YRedo
Ctrl/Cmd + XCut
Ctrl/Cmd + CCopy
Ctrl/Cmd + VPaste
Ctrl/Cmd + ASelect all
Ctrl/Cmd + DDuplicate line or selection
Ctrl/Cmd + LSelect current line
Ctrl/Cmd + Shift + KDelete current line
Alt + ShiftToggle case (lower -> UPPER -> Title)
Alt + UpMove current line up
Alt + DownMove current line down
TabInsert 2 spaces

App Actions

ShortcutAction
Shift + EnterForce evaluate now
EscapeClose modal / clear input / close panel
Ctrl/Cmd + BToggle notes sidebar
Ctrl/Cmd + IToggle variables panel
Ctrl/Cmd + HToggle history panel
Ctrl/Cmd + SToggle step-by-step panel
Ctrl/Cmd + JOpen documentation
`Ctrl/Cmd + ``Open settings
Ctrl/Cmd + KClear all (input, history, variables)
Ctrl/Cmd + NCreate new note
? or Cmd + /Show shortcuts reference
Ctrl/Cmd + UpHistory: previous input
Ctrl/Cmd + DownHistory: next input
Ctrl/Cmd + FSearch notes
Ctrl/Cmd + PPrint current note
Double-click title barToggle fullscreen/maximize

All shortcuts are customizable in Settings > Keyboard Shortcuts.


6. Printing

How to Print

  • Press Ctrl/Cmd + P or select Print from the ... dropdown menu in the title bar.
  • The system print dialog opens with the A4-formatted PDF.

A4 Formatting

The print function generates A4-formatted output with:

  • 20mm margins on all sides
  • Auto page breaks with 25mm bottom margin
  • Title in 18pt bold Helvetica
  • Creation date in 9pt gray
  • Body content in 10pt Helvetica with 5.5mm line spacing
  • Footer on every page: "Generated by LineSolv — Page X/Y"

7. Autocomplete

LineSolv includes a real-time autocomplete popup that suggests functions, constants, units, variables, plugins, and keywords as you type.

How It Works

  • The popup appears after typing 2+ characters and filters results in real time.
  • 236+ keywords across 6 categories: function, constant, unit, variable, plugin, keyword.
  • Matching is prefix-based — type sq to see sqrt, square, square root of, etc.
  • Navigate with Arrow Up/Arrow Down, select with Enter, dismiss with Escape.

Toggling

Enable or disable autocomplete in Settings > General > Autocomplete.


8. Troubleshooting

See the FAQ & Troubleshooting Guide for common issues including:

  • App won't start on Linux (missing WebKit2GTK)
  • Gatekeeper warning on macOS
  • Currency rates not updating
  • Graph not appearing
  • Plugins not loading
  • Notes not saving

For bug reports, visit the GitHub Issues page.


All Documentation

DocumentDescription
User GuideBeginner-friendly guide to using LineSolv
Expression ReferenceComplete expression syntax reference
Interface DetailsDocumentation viewer, plugin marketplace, settings, design tokens
ScreenshotsAll screenshots of the LineSolv interface
Getting StartedQuick start for new users
ConfigurationSettings, config file options, and data storage
FAQ & TroubleshootingFrequently asked questions and common issues
ArchitectureHigh-level architecture and component overview
FrontendFrontend component structure and styling guide
Plugin DevelopmentHow to create and install plugins
ThemesTheme customization guide
DevelopmentDevelopment setup, build, and code standards
API ReferenceWails-bound Go method reference
Calculator EngineHow the natural-language calculation engine works
From Words to NumbersEnd-to-end pipeline walkthrough
AccessibilityWCAG 2.1 AA compliance and assistive technology support
Future FeaturesPlanned features: AI, self-updater, image/voice, mobile
ExamplesInput examples
ChangelogVersion history
ContributingContribution guidelines
Security PolicySecurity policy and vulnerability reporting
Code of ConductCommunity standards
LicenseMIT License