User Interface
Shortcut notation: Ctrl means Ctrl on Windows/Linux and Cmd on macOS. Platform-specific shortcuts spell out Cmd when they differ from this convention.
Widgets
Apart from the main display, SpeedCrunch offers a number of extra panels, referred to as widgets here. Most of them are dockable panels that can be moved around the main window and enabled or disabled via the menu.
Panels docked on the left or right fill the available height. Panels above or below the display and keypad fit between the side panels.
Use the cross in a dock panel’s title bar to hide the panel, or the square to detach it into a floating window. Hidden panels can be shown again via the menu. Opening another panel leaves floating panels in their own windows.
On Linux with Wayland, drag a floating panel by its title bar to move it. Use its square button or double-click the title bar to attach it to the main window again.
Drag a table’s column headers to change their order. Each window keeps its column order between launches, including for panels that are hidden.
- Formula Book
The formula book provides access to commonly used formulas and calculations. Simply insert a formula into the expression editor by clicking on it.
You can help expanding the formula book by posting your requests to the issue tracker.
- Constants
The constants widget shows a large list of scientific constants (including CODATA-based entries), grouped by category and subcategory.
The columns show each constant’s name, value, and unit. Use the
DomainandSubdomainselectors to narrow the list, or search by name or unit. Press Up and Down in the search field to select a result while continuing to type. Press Enter or double-click an entry to insert its value and unit and return to the editor. The mathematical constants pi and Euler’s number are inserted asπande.
- User Variables
The variables widget lists all user-defined variables. Any of them can be inserted into the editor by double-clicking it. Additionally, it is possible to delete a variable by selecting it and pressing the Delete key on your keyboard.
- Functions and User Functions
Similar to the variables widget, these show built-in and user-defined functions respectively.
- User Units
Similar to the user functions widget, this lists user-defined units. Double-click inserts
[name]in the editor, and the context menu supports edit/delete operations.
- Bit Field
The bit field dock is designed to make working with binary numbers easier. It shows a field of 64 squares, each representing a bit in the current result. Any bit can be toggled by clicking its square; the resulting number is automatically inserted into the editor. Additional buttons allow you to shift, invert and reset all the bits at once. While the mouse cursor is hovering over the bit field, scrolling the mouse wheel will also shift the bits.
- Keypad
The on-screen keypad provides clickable input for common operations and symbols. It supports multiple presets and a custom layout, so you can adapt it to your workflow. You can also adjust the keypad zoom level for better readability or touch area on touchscreens. For fast and full-featured input, SpeedCrunch’s keyboard interface is still recommended.
Available entries in are:
Basic(default)Scientific (wide)Scientific (narrow)Custom...Disable(shown asDisabledwhen selected)
Both scientific layouts include
lnfor the natural logarithm andlog10for the common (base-10) logarithm. These buttons insertln(andlog10(, respectively. Copying a scientific preset into a custom layout uses the same labels and function names.Since version 1.1, both scientific layouts show
ⁿ√for the nth root in place of the cube-root button. It insertsroot(so you can enter a root index and a value, for exampleroot(5; 32). Copying either scientific preset into a custom layout includes this button.The scientific layouts also include
x², which inserts^2, and;to separate function arguments. These replace thexandx=shortcuts in version 1.1. Related buttons sit together:√andx²,xʸandⁿ√,Eandexp,lnandlog10, and each trigonometric function with its inverse.Available entries in are:
50%100%(default)150%200%
The zoom level scales the keypad buttons, including their text. Each window keeps its own zoom level. The Zoom submenu is unavailable while the keypad is disabled. You can also right-click the keypad and choose .
Custom...opens a dialog where you can define the keypad matrix size (rows and columns) and configure each button individually. For each position in the matrix, you can set:The button label shown in the keypad
The button behavior:
Insert text,Backspace,Clear expression, orEvaluate expressionThe text to insert (for
Insert textbehavior)
The dialog also includes a
Copy presetselector with an Apply button, so you can start from theBasic,Scientific (wide), orScientific (narrow)layout and then customize it.Custom keypad settings are saved and restored automatically.
You can also right-click directly on the keypad to open the same menu as .
Added in version 1.0.
Changed in version 0.11: The keypad was removed in SpeedCrunch 0.11; however, it was added back in 0.12.
- History
The history widget lists all previous inputs. Double-click a line to recall it. Note that the main result display also provides this functionality.
- Main Menu
Toggle the main menu bar visibility via . This option is available on Windows and Linux. On macOS, this option is not available because the application menu is managed by the system menu bar (outside the window), so SpeedCrunch cannot hide it like on Windows and Linux. On Windows and Linux, when the top main menu is hidden, a navigable Main Menu (mirroring the top menu structure) is available from the right-click context menu on the result-display.
Added in version 1.0.
Session Tabs and Panes
When a pane contains more than one session, SpeedCrunch shows a tab bar above the result display. Click a tab to switch sessions, drag tabs horizontally to reorder them within the pane, or drag a tab away from the tab bar to move it to another pane. Dropping a dragged tab outside the current window creates a new window for that session; dropping it on a pane in another SpeedCrunch window moves it there. Use to rename the active session. You can also double-click its tab, choose from the tab context menu, or choose from the result display context menu. Choose to copy the active session under a new name, including its unfinished expression. This command is also available as in the tab context menu and in the result display context menu. Use to open a blank session in a new window that copies the current window and dock layout. Choose to close the active tab, or to restore the last ordinary tab you closed. Private tabs cannot be reopened. Both commands are also available from the tab context menu. When a floating dock has focus, session commands apply to its window. Use to add a pane in any direction, and to close the active pane. The tab context menu also provides and .
The tab context menu’s command removes the session’s calculations, unfinished expression, variables, functions, and units after confirmation. Global user definitions are kept. removes the session itself after confirmation. When SpeedCrunch restores multiple windows after a restart, each window keeps its own dock layout, dock visibility, keypad visibility, layout and zoom, and—when window position saving is enabled—its own size and position.
Private Sessions
Use or Ctrl+Shift+N
(Cmd+Shift+N on macOS) to open a session that stays in memory.
Private sessions are named Private-1, Private-2, and so on,
using the first available number. A shield icon marks their tabs. The window
title also identifies the active private session, even after you rename it.
The tab bar is hidden when a private session is the only session in a single
pane, just as it is for an ordinary session.
Private sessions do not save their history, unfinished expressions, variables, functions, or units automatically. They are excluded from the workspace restored at the next launch. Closing a private session discards its contents, and it cannot be reopened with the Restore Closed Tab shortcut. Copying and explicit export remain available. Cloning a private session creates another private session.
Choose to save a private
session, including its current contents. It receives the first available
Untitled-XXX name and behaves like an ordinary session from then on.
Choose to convert an ordinary
session. SpeedCrunch asks for confirmation before deleting its saved JSON file.
Its contents stay open under the first available Private-XXX name until you
close it or exit. If the file cannot be deleted, the session remains ordinary.
If a private session cannot be saved during conversion, it remains private.
These actions are also available from the tab and result display context menus. In the result display, open the Session submenu and choose Keep or Make Private…. Privacy belongs to the session, so renaming it does not change whether it is saved. Ordinary sessions can remain open alongside private ones.
Enable
to open and focus a fresh private tab whenever SpeedCrunch starts. This option
is off by default. Saved ordinary sessions are restored as usual, with one new
private tab in the active window, even when several windows are restored.
An empty active Untitled-XXX session is used for the private tab instead of
opening an extra ordinary tab. Sessions with history, unfinished expressions,
or their own definitions stay open. When there are no sessions to restore,
SpeedCrunch starts with just the private tab. Opening another window while
the app is running still creates an ordinary session.
Added in version 1.1.
Expression Editor Features
Turn off to enter text without automatic text adjustments or character restrictions.
The expression editor provides some advanced features:
- Undo and redo
Choose or . Press Ctrl+Z to undo the last edit. On Windows/Linux, use Ctrl+Shift+Z or Ctrl+Y to redo it. On macOS, use Cmd+Shift+Z. Each key press is a separate undo step. Automatic changes made by that key, such as inserting a closing bracket or converting an exponent to superscript, are undone together. Text committed through an input method is undone as a single edit.
cuts selected input text. Copy also works on selected result text. These actions are disabled when unavailable. wraps the selected input, or the whole expression if nothing is selected.
- Automatic closing parentheses and square brackets
Typing
(or[with no text selected inserts the matching closing character only when the cursor is at the end of the expression or only whitespace follows it. The cursor stays between the pair. If non-whitespace text follows the cursor, only the opening character is inserted.
- Autocompletion
If you start typing a name (e.g. of a variable, function, or unit), a pop-up with matching names will appear below the editor, aligned with the start of the name being completed. It appears above the editor when there is insufficient space below and shifts horizontally to stay on screen. The list becomes shorter and scrollable when needed to avoid covering the editor. On Wayland with Qt 6.6 or later, the compositor chooses below or above according to the available screen space. With older Qt versions on Wayland, the list stays within the application window. Alignment follows the visible text even when the expression wraps or scrolls. Press Tab to insert the current suggestion. Pressing Enter evaluates the expression by default. If you explicitly navigate the popup with arrow/page/home/end keys or click a suggestion with the mouse, then Enter accepts that selected suggestion. Enable to accept the current suggestion with Enter immediately, without first using the arrow keys. Pressing Escape dismisses the autocomplete popup.
- Function signature tooltip
While typing a function call, the live result area can show the function signature (parameter list). The parameter currently being edited is highlighted. This also works for user-defined functions. Pressing Escape will dismiss the tooltip.
- Quick constant insertion
Press Ctrl+Space to search the same constants as the constants widget (see above). Type a name or unit to filter the list. Each result shows its unit beside the name using the theme’s unit color. Press Up and Down to select a result. Press Tab or Enter, or click a result, to insert it and return to the editor. Shift+Tab moves focus backward. With no matches, Tab leaves the popup open. Press Escape to cancel. Search text does not change the expression. The list follows the cursor’s horizontal position and uses the same below-or-above placement rules as autocompletion.
Added in version 1.1: Search in the quick constant popup and select dock search results with Up and Down.
- Context help
Pressing F1 will show the manual page for the function under the cursor, providing quick access to detailed usage information for a function. Pressing Escape will dismiss the manual window again.
- Selection results
If is enabled, selecting a partial expression in the expression editor or in the result display will show you the result of the selected expression. You can dismiss this preview by pressing Escape or by clicking the × button at the top-right corner of the preview.
Import/Export
SpeedCrunch automatically stores your sessions and lets you restore them with . Use to open the folder where SpeedCrunch stores these session files when you want to back them up or clean them up manually. You can also export the current session as JSON () and later import it with . The data is stored in a SpeedCrunch-specific file format. [1] While the session files are human-readable, they are designed for use by SpeedCrunch. If you want to export your calculations to work on them in another program or hand them to a colleague, the other export options are preferable.
Import validates the selected JSON file as a SpeedCrunch session and opens it as a new tab. If the file is not valid SpeedCrunch session JSON, SpeedCrunch shows an error and leaves the current session unchanged.
You can export the session as HTML (). The resulting file will consist of the contents of the result display and can be viewed in any web browser. This feature can also be used to print a SpeedCrunch session by printing the exported HTML document. Since the syntax highlighting and color scheme are maintained in the HTML output, it is recommended to select a color scheme with a white background (e.g. Standard) prior to exporting if you intend to print the document.
The final, most basic option is to export your session as a plain text file (). In contrast to the HTML export option, the syntax highlighting will be lost.
User Definitions
Added in version 1.0.
To define user variables, user functions and user units that are loaded globally, use .
This dialog provides:
A multi-line editor (one definition per line), with syntax highlighting and line numbers.
A clear reminder that these definitions are global, loaded into every session and override same-name session definitions.
Apply to apply definitions immediately.
Validate to validate and preview results without applying.
When applying or testing, SpeedCrunch reports:
Imported variable count
Imported function count
Imported unit count
Line numbers with errors
Invalid definitions are ignored. Variable definitions that evaluate to NaN are also ignored.
Settings
SpeedCrunch’s behavior can be customized to a large degree using the configuration options in the menu. This section explains the settings that are available.
Resetting Settings
Choose to restore the default preferences. SpeedCrunch asks for confirmation before making any changes. The reset applies to all open windows immediately and is saved for the next launch. It includes appearance, editing options, number and result formats, language, and window preferences, including dock visibility and keypad settings.
Your calculation history, open session tabs and panes, and user definitions are kept. Existing calculations keep their recorded result formats. New calculations and live previews use the default settings.
Added in version 1.1.
Result Display Interactions
The result display supports mouse-driven interactions for navigation and editing.
- Right-click context menu
Right-clicking an expression/calculation block in the result display opens a context menu for that specific block. The Copy submenu starts with Selection to copy the selected text. Select All selects all text in the display. Open the Copy submenu and choose Calculation to copy all displayed lines of the calculation at once, including the expression, any simplification, and every result format. The lines are copied as plain text in the order shown, without the blank line between calculations. Expression and Result let you copy either part separately. Remove offers This Calculation, All Calculations Above, and All Calculations Below. This menu includes an entry to toggle the main menu bar visibility. Use its Split submenu to add a pane to the left, right, above, or below the current pane. New Tab and New Private Tab create sessions directly. The Session submenu starts with Open…, Import…, and Export. It also groups actions to duplicate, rename, change privacy, clear, delete, or close the current session.
Added in version 1.0.
The Copy submenu also offers Calculation as Single Line to join all displayed lines of the calculation with spaces, for example
120 / 8 = 15.Added in version 1.1.
- Hover highlighting of calculation blocks
When is enabled, moving the mouse over the result display highlights the calculation block under the cursor. The highlighted block also shows quick-action icons for deleting, editing, and copying.
Added in version 1.0.
- History rewriting from highlighted blocks
From the hovered/highlighted calculation block, you can re-edit an earlier expression and apply it as a history rewrite. SpeedCrunch then recalculates all expressions below that edited entry.
Added in version 1.0.
- Calculation settings from highlighted blocks
The calculation settings action opens a tabular layout with one mandatory
Main Linerow and four optional extra result-line rows. The table shows line enablement, notation, and decimal places together so the stored calculation context can be adjusted before SpeedCrunch recalculates the affected history.
Notation
This section allows selecting the result notation to use (for example in or from the status-bar notation selector). You can select one of the following options. On first launch, the default is .
Use fixed-point decimal form for most results; values with exponent larger than 14 or smaller than -9 are shown in scientific notation. With a finite precision setting, very small values may switch to scientific notation earlier.
Display results in fixed-point decimal form. For excessively large or small numbers, this format may still fall back to scientific notation.
Display results in engineering notation. This is a variant of scientific notation in which the exponent is divisible by three.
Display results in normalized scientific notation.
Try to display real results as fractions (for example,
1/3) using continued-fraction approximation with bounded denominator. If no close match is found, results are displayed in decimal form. For common trigonometric and inverse-trigonometric results, SpeedCrunch prefers symbolic exact forms such aspi/2,7⋅pi/6,1/2,sqrt(2)/2, andsqrt(3)/3. Example:arcsin(1) = pi/2 sin(45) (angle mode = degree) = √(2)/2 arcsin(sqrt(3)/22) = 0.07881114207211010205
Added in version 1.0.
Display results as binary numbers, i.e. in base-2.
Display all results as octal numbers, i.e. in base-8.
Display all results as hexadecimal numbers, i.e. in base-16.
Display dimensionless and time results as sexagesimal values, i.e. with minutes and seconds. All other results are displayed in fixed-point decimal form.
Added in version 1.0.
Angle Mode
Select the angular unit to be used in calculations. For functions that operate on angles, notably the
trigonometric functions like sin() or cos(), this setting
determines the angle format of the arguments.
Use radians for angles. A full circle corresponds to an angle of 2π radians.
Use degrees for angles. A full circle corresponds to an angle of 360°.
Use gradians for angles. A full circle corresponds to an angle of 400 gradians.
Added in version 1.0.
Use turns for angles. A full circle corresponds to an angle of 1 turn.
Use revolutions for angles. A full circle corresponds to an angle of 1 revolution.
Added in version 1.0.
Complex Numbers
Choose a result form via and a symbol via . Complex numbers are always enabled.
Use
ias the imaginary unit symbol.
Use
jas the imaginary unit symbol.
Display complex results in rectangular form.
Display complex results in exponential form.
Display complex results in trigonometric form.
Display complex results in cis form.
Display complex results in phasor form.
When the angle mode is set to radians, simple phase multiples of pi are
shown symbolically in these complex forms. Other angle modes show their numeric
phase values.
Number Format
Choose how decimal numbers are displayed and interpreted via .
This shared setting controls result formatting and, when is enabled, digit grouping in the input field.
Added in version 1.0.
This dialog replaces the older separate Radix Character and Digit Grouping menus with a single combined Number Format selection.
The default option is no digit grouping with dot decimal separator
(1234567.12345).
Additional options let you choose:
no digit grouping with dot or comma decimal separator
SI grouping with space separators (integer and fractional grouped in 3s)
3-digit grouping with comma, dot, space, or underscore
Indian/South Asian 3-2-2 grouping with comma separators
Some options include grouped fractional digits; those are separate explicit choices.
The apostrophe ('), commonly used as a thousands separator in some
locales and contexts (for example Switzerland, Liechtenstein, and some
technical writing in Austria/Germany), is intentionally not offered because
SpeedCrunch reserves it for sexagesimal notation.
For input, SpeedCrunch remains permissive across styles to support copy/paste from other applications. In clear mixed-separator cases, it accepts the number and normalizes it by ignoring non-digit grouping characters as needed.
History Size Limit
This setting controls how calculation history is stored for the active session. It is available from .
Calculation history in ordinary sessions is saved automatically when a session changes and restored on the next launch. Private sessions keep history only while they are open.
The history size limit sets the maximum number of stored history entries for
that session. By default, SpeedCrunch keeps up to 1000 entries per session and
automatically removes the oldest ones when this limit is exceeded. When a
calculation fills the last available history slot, SpeedCrunch warns that future
calculations will remove the oldest calculation from that session. Set the value
to 0 to disable the limit for the active session.
Added in version 1.0.
Window
This section contains settings that control the main window behavior.
Open and focus a fresh private tab after restoring saved sessions. If there are no sessions to restore, or the active session is an empty
Untitled-XXXtab, start without an extra ordinary tab. This option is off by default.
Controls if the window position is saved and restored.
Keep the SpeedCrunch window on top of other windows. This option is hidden on Wayland (non-X11 Linux desktop sessions), because many Wayland compositors do not honor it reliably. It remains available on Windows, macOS, and Linux X11 sessions.
Results
This section contains settings that control result output and post-evaluation behavior.
If set, SpeedCrunch will display partial results as you type your expression as well as results when selecting a partial expression in the editor.
Open a tabular layout with one mandatory
Main Linerow and four optional extra result-line rows. Each row has columns for enabling the line, notation, and decimal places. Extra lines are ignored unless their row is enabled.Applying changes from this dialog updates only the current editor previews immediately (live/selection) without rewriting already displayed calculation history.
Hide trailing fractional zeroes after rounding to the selected decimal places. For example, at three decimal places,
3.140becomes3.14and12.000becomes12. This option is off by default and applies to the main and extra result lines. Changing it refreshes editor previews without rewriting displayed history.Added in version 1.1.
Choose how displayed results are rounded when formatting to a finite number of digits. The default is . Available modes are: , , , , .
Round to nearest; ties increase magnitude. This matches the
round()function. Example at 1 fractional digit:2.250 -> 2.3,-2.250 -> -2.3.
Round to nearest; ties go to the nearest even last kept digit. This is Banker’s rounding and matches the
roundeven()function. Example at 1 fractional digit:2.250 -> 2.2,2.350 -> 2.4,-2.250 -> -2.2.
Discard extra digits without rounding up. This matches the
trunc()function. Example at 1 fractional digit:2.290 -> 2.2,-2.290 -> -2.2.
Always round upward. This matches the
ceil()function. Example at 1 fractional digit:2.210 -> 2.3,-2.210 -> -2.2.
Always round downward. This matches the
floor()function. Example at 1 fractional digit:2.290 -> 2.2,-2.210 -> -2.3.
This setting affects result formatting (including live previews), not the numeric value of expressions. Use the named function in parentheses when a calculation must apply the same rounding strategy explicitly. Like other result-format settings, changes apply to subsequent calculations and previews; already stored history entries keep their original display.
- and
Configure the complex result form and imaginary unit. See Complex Numbers.
Configure whether unit results use exponential notation, such as
m·s⁻¹, or fractional notation, such asm/s.
Automatically copy each newly evaluated result to the clipboard.
When enabled (default), SpeedCrunch adds an extra symbolic line before numeric results, simplifying the interpreted expression for readability (for example, combining repeated factors into powers and folding simple constant terms). This interpreted line also makes implicit-multiplication association explicit. Disable this option to keep only the unsimplified interpreted expression and numeric results.
An extra line appears only when there is a useful reduction. For example,
ans / 9stays as written instead of becoming1 / 9 · ans.Entering the expression
2.1 − 1 cos(pi)^2 cos(pi) 5 cos pi / −cos^2(pi) + 3.4gives the following interpretation and simplification:2.1 − 1 ⋅ cos²(π) ⋅ cos(π) ⋅ 5 ⋅ cos(π) / (−cos²(π)) + 3.4 = 5 ⋅ cos²(π) + 5.5 = 10.5
Added in version 1.0.
Editing
Automatically replace operators, adjust spacing, insert closing brackets, convert powers to superscripts, and restrict input to valid characters. Turn it off to keep typed and pasted characters as entered. Tab still accepts the selected completion. Digit grouping and automatic insertion of
ansfollow their own settings. Pasting several lines evaluates each expression as usual. Invalid expressions can be entered, but still report an error when evaluated.This option is enabled by default. Changes apply immediately to all open editors and are saved between launches. Switching modes leaves existing text unchanged.
Added in version 1.1.
If a new expression starts with
+,-,*, or/, SpeedCrunch insertsansfirst.
Group digits as you type, using the separator and grouping pattern selected in . For example,
1000appears as1 000with a space grouping format or1,000with a comma grouping format. This option is enabled by default. A number format with no grouping adds no separators.Integer digits are grouped in threes for decimal and octal numbers, or in fours for binary and hexadecimal numbers. The Indian format uses 3-2-2 grouping. Fractional digits are grouped only when the selected format includes fractional grouping. Scientific exponents are left unchanged. The separators only affect how the input looks, so copying the expression keeps the original text.
This setting works even when syntax highlighting is disabled.
Added in version 1.1.
Make the cursor blink in the expression editor. This option is enabled by default. Turn it off for a steady cursor. Changes apply immediately to all open session panes and windows, and the choice is saved between launches.
Added in version 1.1.
Press Escape to clear the focused expression editor. If a popup or result preview is open, Escape dismisses it first. Press Escape again to clear the expression. Cancelling a history edit still works as usual. This option is off by default and is saved between launches. Changes apply to all session panes and windows.
Added in version 1.1.
If selected, the entered expression remains in the editor after evaluating it.
Controls how suggestions are accepted and which names appear in editor autocompletion.
Accept with Enterlets Enter insert the current suggestion without first selecting it with the arrow keys. It is off by default. When no autocomplete popup is open, Enter still evaluates the expression. Tab always accepts the current suggestion. The setting is saved between launches and applies to all session panes and windows.Added in version 1.1.
The following suggestion categories are all enabled by default:
Built-in functionsincludes built-in function names.Built-in variablesincludes built-in constant names.Unitsincludes spelled-out unit names (for example,meter).User functionsincludes user-defined function names.User variablesincludes user-defined variable names.
The autocomplete popup also shows category icons for suggestions.
Added in version 1.0.
Controls whether Up and Down in the editor navigate history:
Neveralways moves the cursor inside the editor.Always(default) always navigates history.Only for Single-Line Expressionsnavigates history only when the expression fits in one visual line; otherwise, it moves the cursor.
Added in version 1.0.
User Interface Settings
Open the theme dialog. Themes are listed in Light Themes and Dark Themes groups. Selecting a theme updates the preview immediately. When no saved theme preference exists, as on first launch, SpeedCrunch uses the Duskfox theme.
The Preview area shows representative result-display and editor content so that syntax-highlighting, result, and background colors are visible while editing. The selected
backgroundcolor generates nearby OKLCH surface colors for the expression editor and surrounding application chrome, followed by progressively offset surface colors for dock titles, dock controls and table headers, dock search and content areas, pane splitters, and scrollbars. It also generates the primary/accent color unless the theme specifies aprimarycolor.Text on generated surfaces, including docks and popups, targets a contrast ratio of at least 10:1 against its own background. SpeedCrunch keeps a tint from the theme where possible. If a surface cannot reach that ratio, it uses black or white, whichever gives better contrast.
The Colors area provides per-role color selection buttons showing both the
#RRGGBBvalue and the actual color. Changing any color creates a custom theme based on the current selection.The dialog also includes:
Import… to copy a theme JSON file into SpeedCrunch’s user theme directory and refresh the theme lists;
Export… to save the current theme as JSON in the same user theme directory.
Import and export refuse theme names that collide with built-in themes. Import asks for confirmation before overwriting an existing custom theme.
SpeedCrunch also supports loading additional theme files from the following directory:
Windows:
C:/Users/<USERNAME>/AppData/Roaming/SpeedCrunch/color-schemes/Linux/Unix:
~/.local/share/SpeedCrunch/color-schemes/Linux (Flatpak):
~/.var/app/org.speedcrunch.SpeedCrunch/data/SpeedCrunch/color-schemes/OS X:
~/Library/Application Support/SpeedCrunch/color-schemes/Portable version (any OS):
color-schemessubdirectory in the application directory.
Theme files use JSON and map role names to color values. Supported role names are:
number,parens,list,unit,result,comment,function,operator,variable,separator,background, and optionalprimary. The editor surface and scrollbar colors are generated frombackground. For the full schema, see Theme JSON Schema.Added in version 1.0: The dialog, including live preview and JSON import/export.
Choose how menus look:
System uses the system’s menu colors and styling, including highlighted and disabled items. Menus follow changes to the system theme while SpeedCrunch is running.
SpeedCrunch Theme (the default) uses the selected SpeedCrunch theme for menu backgrounds and text, including highlighted items.
This setting applies to the menu bar shown inside the application window, dropdown menus, context menus, and dropdown lists in attached and floating docks that use the SpeedCrunch theme. Closed dropdown controls follow the setting. The macOS system menu bar keeps its native appearance. Popup menus drawn by Qt can look slightly different from native macOS menus. On GNOME, popup menus use the GTK theme’s popup hover colors when GTK is available. Otherwise they use Qt’s system palette. The choice applies to all SpeedCrunch windows and is saved between launches.
Selections in the expression editor and result display use the SpeedCrunch theme. Dock list selections follow the setting.
Choose how attached and floating docks look, including their title bars:
System uses the system’s colors and widget styles for lists, search fields, dropdown controls, scrollbars, dock title bars, and the tabs used to switch between overlapping docks. Close and float buttons use the system style. Dropdown lists also use the system appearance, regardless of the choice. The Formula Book and bitfield use system colors as well. Formula and navigation links use the system link color directly. On bits use the system selection colors, with a separate hover color for off bits.
SpeedCrunch Theme (the default) uses the selected SpeedCrunch theme for dock content, title bars, and tabs, including list selections and search fields.
The choice applies immediately to all SpeedCrunch windows and is saved between launches. System colors follow changes to the system theme while SpeedCrunch is running.
Added in version 1.1.
Choose how the status bar looks:
System uses the system’s palette and widget styles for the status bar, its labels, and its buttons. Colors follow changes to the system theme while SpeedCrunch is running.
SpeedCrunch Theme (the default) uses the selected SpeedCrunch theme for the status bar background and text.
The choice applies immediately to all SpeedCrunch windows and is saved between launches. Popup menus follow the setting. Show or hide the status bar with .
Added in version 1.1.
Choose the layout of the expression editor and result display:
Modern (the default) uses a rounded input box with compact padding and a small gap around it. History aligns with the left edge of the box.
Classic uses a compact, full-width editor directly below the results and a small history gutter. All editors use the Modern input background color across the whole input area. Text and editor popups share a small inset from the edge, with enough space below the input for rounded window corners. A top line marks the active pane, using the same thickness and accent color as the Modern outline. This line is hidden when there is only one window and one pane, regardless of how many session tabs it contains. Vertical pane dividers remain visible through the input area.
Both styles keep the same editing features, including input that grows as expressions wrap. The choice applies immediately to every window and pane and is saved between launches.
Added in version 1.1.
Select the font to use for the expression editor and result display. On macOS 27 and later, SpeedCrunch uses Qt’s font dialog.
Choose the shape and spacing of the keypad buttons:
Classic uses shallow rectangular buttons with smaller gaps, similar to the keypad in SpeedCrunch 0.12.
Modern (the default) keeps the larger square buttons.
The choice applies immediately to all windows and is saved between launches. It works with every preset and custom keypad. Each window keeps its own layout, selected from , and zoom level, selected from .
Added in version 1.1.
Enable or disable syntax highlighting.
Enable or disable hover highlighting.
Select the user interface language.
Help
Show system information and app settings. Use Copy to Clipboard to share the report when reporting a problem.
Show the SpeedCrunch version, the operating system and its version, and the Qt version. Portable builds display
Portablenext to the SpeedCrunch version.
Trigger an update check and show information when a newer version is available. Update checks are enabled in official SpeedCrunch builds. Other distributors can choose whether to enable them. When enabled, this menu entry is available and SpeedCrunch also checks for updates after the window first paints, at most once every 24 hours. Each network request has a five-second deadline, including redirects. Receiving data does not extend that deadline. Oversized update responses are rejected before their contents are parsed or saved. Closing a window requests that its update worker stop. Cleanup finishes in the background, without making the window wait for network setup. See
BUILDING.mdat the repository root for build options and package provider guidance.Added in version 1.0.
Keyboard Shortcuts
Editing
- Ctrl+O
Open session.
- Ctrl+Q
Quit SpeedCrunch (Cmd+Q on macOS).
- Ctrl+N
Create a new session in the current session pane.
- Ctrl+T (Cmd+T on macOS)
Create a new session tab in the current session pane.
- Ctrl+Shift+N (Cmd+Shift+N on macOS)
Create a new private tab in the current session pane.
- Ctrl+Shift+T (Cmd+Shift+T on macOS)
Reopen the most recently closed session tab.
- Ctrl+W (Cmd+W on macOS)
Close the active session tab.
- Ctrl+C
Copy selected text to clipboard.
- Ctrl+R
Copy last result to clipboard.
- Ctrl+V
Paste from clipboard.
- Ctrl+A
Select entire expression.
- Ctrl+( or Ctrl+)
Wrap the current selection in parentheses. If no text is selected, the entire expression is wrapped.
Session Tabs
- Cmd+Alt+Left and Cmd+Alt+Right (macOS)
Move to the previous or next session tab or pane.
- Ctrl+Page Up and Ctrl+Page Down (Windows/Linux)
Move to the previous or next session tab or pane.
Widgets and Docks
- Ctrl+1
Show/hide formula book.
- Ctrl+2
Show/hide constants widget.
- Ctrl+3
Show/hide functions widgets.
- Ctrl+4
Show/hide variables widget.
- Ctrl+5
Show/hide user functions widget.
- Ctrl+6
Show/hide user units widget.
- Ctrl+7
Show/hide history widget.
- Ctrl+8
Show/hide bit field dock.
- Ctrl+B
Show/hide the status bar. The status bar provides quick selectors for , , and . On narrow windows, selectors that do not fully fit are hidden automatically. Status bar visibility is set separately for each window; the main menu always shows and changes the setting for the active window. Angle mode, notation, and precision selections are also retained separately for each window.
Scrolling
- Page Up and Page Down
Scroll the result window page-wise.
- Shift+Page Up and Shift+Page Down
Scroll the result window line-wise.
- Cmd+Page Up and Cmd+Page Down (macOS)
Scroll to the top or bottom of the result window.
Notation
- F2
Set result notation to automatic decimal.
- F3
Set result notation to fixed-point decimal.
- F4
Set result notation to engineering decimal.
- F5
Set result notation to scientific decimal.
- F7
Set result notation to octal.
- F8
Set result notation to hexadecimal.
- F9
Set result notation to sexagesimal.
- F10
Set result notation to binary.
Added in version 1.0.
Various
- F1
Show context help (dismiss with Escape).
Added in version 0.12.
- F11
Toggle full screen.
- Ctrl + mouse wheel, Shift + mouse wheel, or Shift+Up and Shift+Down
Change the font size.
- Ctrl+Shift + mouse wheel
Change the window opacity.
Added in version 0.12.
Footnotes