This page describes Calíope 1.5, the version we are building right now. 1.4 is finished and in App Review, and the store serves 1.3 on the Mac and 1.2 on iPad. The changelog says which version each feature landed in.

Adds an “Open in Calíope” button to every topic. It only works with the app installed.

Gestures

Touch gestures on iPad

The gestures Calíope declares on iPad, where each one applies, and the ones other apps have that this one does not.

Calíope for iPad declares few gestures, and it declares them in specific places. This is the whole list; at the end is what is not there, which saves you looking for it.

Moving around the workspace
- Swipe in from the left edge — shows the Tools sidebar, which is the launcher. It is not the schema tree: that lives inside the SQL Editor and has its own button.
- Tap a tab — activates it. Tap the × — closes it.

SQL Editor
- Long-press a word — opens the menu with Go to definition and Rename symbol. The rename reaches the whole script, not just the word you touched.
- Text selection —double tap, triple tap, the drag handles— is iPadOS's own; Calíope does not touch it.

Connection manager
- Double-tap a profile — selects it and connects in one go.
- Swipe a profile from left to right — reveals Move to group.
- Swipe a profile from right to left — reveals Delete. It does not delete when you let go: it reveals the button, and tapping it asks first, naming the connection.
- Swipe a group from right to left, inside the Manage groups sheet — reveals Delete, with a question of its own: deleting a group also deletes the connections inside it.

Those three are all the swipes with actions there are in Calíope, and they exist on iPad only.

Pinching with two fingers, and what each one moves
- Over the SQL Editor text — the editor's font size, from 10 to 26 points. It is saved: next time the editor opens where you left it.
- Over the results grid — the font size of the cells, from 11 to 26 points. It is a different preference: moving one does not move the other.
- Over a cell's image, in the advanced editor — zooms the image in and out, from 100 % to 800 %. A double tap toggles between fitted and 200 %, anchored where you tapped.
- Over the ER Diagram canvas or the Visual EXPLAIN tree — the canvas scale; it has its own topic, below.

The first three also have buttons in their toolbar, with the number beside them, so the pinch is a shortcut and not the only way.

What has its own topic
- Result rows and cells → Gestures on result rows and cells.
- ER Diagram and Visual EXPLAIN → Pan and zoom in ER Diagram and Visual EXPLAIN.
- Panel dividers → Resizing workspace panels.

What Calíope does not have

Tabs have no context menu: you cannot duplicate them, pin them or close the others from there. You do not swipe a result row to edit or delete it —that menu opens by long-pressing it— and the results grid does not sort by tapping its header —the order is whatever your ORDER BY says; the Data section of the SQLite Editor does sort that way, because there the query is Calíope's own—. And the horizontal tool strip only appears at compact size: with a wide window, the launcher is the Tools sidebar.

Keywords: gestures, ipad, touch, swipe, long press, pinch, font size, magic keyboard, sidebar, tools, tabs, rename symbol, go to definition, move to group

Mouse and trackpad gestures on macOS

The gestures Calíope declares on the Mac: what each surface pinches, what the wheel does and what can be dragged.

Calíope declares few gestures on the Mac, and almost all of them make something bigger or smaller. This is the whole list.

Pinching with two fingers on the trackpad, and what each one moves
- Over the SQL Editor text — the editor's font size, from 10 to 26 points.
- Over the results grid — the font size of the cells, from 11 to 26 points. It is a different preference: moving one does not move the other.
- Over a cell's image, in the advanced editor — zooms the image in and out, from 100 % to 800 %.
- Over the ER Diagram canvas or the Visual EXPLAIN tree — the canvas scale.

The mouse wheel
Zooms in and out on both canvases and on a cell's image, with the pointer over them. Over the editor text and over the results grid it does not zoom: it scrolls, like anywhere else.

Dragging
- Over the background of a canvas — pans it. Over an ER Diagram node, it moves the table.
- Over a zoomed image — pans it inside the frame, which never comes away from the edge.
- Over the right edge of a column header — changes its width.
- With ⌃ (Control) from an ER Diagram table — creates a foreign key; that has its own topic.

Double click
- On a cell's image — toggles between fitted and 200 %, anchored where you clicked.
- On a result cell — opens Generate UPDATE, which is not a zoom gesture and has its own topic.

None of these is the only way
The four surfaces you can pinch have buttons in their toolbar, with the number or the percentage beside them; the two canvases and the image also answer to ⌘−, ⌘+ and ⌘0. A gesture with no keyboard equivalent leaves out whoever navigates with one.

What has its own topic
- Result rows and cells → Gestures on result rows and cells.
- ER Diagram and Visual EXPLAIN → Pan and zoom in ER Diagram and Visual EXPLAIN.
- Panel dividers → Resizing workspace panels.
- Right-click → Context menus by view (reference).

Keywords: gestures, macos, trackpad, mouse, wheel, pinch, zoom, font size, double click, drag, keyboard shortcuts, canvas, image

Gestures on result rows and cells

What every click, tap and drag does on the results grid. The Mac and the touch devices do not offer the same set.

The grid responds to gestures on a cell, on a column header and on the grid as a whole. The pointer and the finger are similar but they do not match.

macOS

On a cell
- Single click — selects the row, which is what a system table does. To see the whole value, rest the pointer on it: it comes up in the tooltip.
- Right click — menu with Copy, Copy row as INSERT, View full value, Generate UPDATE, Edit value (advanced)…, Export CSV, Profile column and Delete row. The three that work on the value —view, generate UPDATE and edit— only appear over non-NULL cells.
- The same actions are available with VoiceOver on the cell, without using the menu.

On a column header
- Single click — sorts by that column, and another click flips the direction.
- Drag the edge — changes the width, and the width is remembered for that query.
- The header is drawn by the system, so there is no menu of our own there any more: Profile column lives in the cell menu.

On the selected rows
- ⇧ or ⌘ while clicking — picks several.
- ⌘C — copies them as TSV, with the column names on top.
- Dragging them — takes them out of the app.

iPad and iPhone

On a cell
- Single tap — opens the sheet with the full value.
- Double tap — opens Generate UPDATE.
- Long press — menu with View full value, Edit value (advanced)…, Generate UPDATE, Copy and Delete row. Copy row as INSERT is not on iPad or iPhone.

On a column header
- Drag the handle — changes the width. It is 16 points wide, more than the Mac's 6, because a finger aims worse than a pointer; it tints while the drag lasts.
- The header has no context menu on iPad or iPhone: the column profiler is opened from the Mac.

On all three, on the grid as a whole
- Pinch with two fingers —on the trackpad, on macOS— changes the font size of the cells and the header, between 11 and 26 points, and the column widths readjust to the new size. It is the same preference the two size buttons in the results toolbar move, next to the word table, and it is not the editor's text size: two separate numbers, saved separately.

Two things worth knowing

The widths you set by hand are remembered for as long as the session lasts, keyed by tab plus column set: going back to the same query gives you your measurements back, and a query with different columns starts with its own auto-fit. And Delete row deletes nothing when you press it: it opens the delete preview, with the identified row and the statement that will run, for you to confirm.

What the grid does not do

It does not sort by clicking or tapping the header: the order is whatever your ORDER BY says. There are no swipes on rows, no multiple selection by gesture, and no columns that hide or pin to the left.

Keywords: gestures, rows, cells, grid, results, right click, double click, long press, column width, drag, generate update, advanced editor, delete preview, column profiler, copy as insert, sort

Pan and zoom on ER Diagram and Visual EXPLAIN

How to pan and zoom the ER Diagram canvas and the Visual EXPLAIN tree, and which gestures each platform has.

The ER Diagram and Visual EXPLAIN draw their nodes on a virtual canvas that almost always exceeds the window. Zoom is done with the gesture or with the toolbar buttons, which also tell you the current scale.

Panning the canvas
Drag over an empty area of the canvas, on all three and in both views. Over a node, dragging means something else.

Zooming in and out
- macOS — the mouse wheel, a two-finger vertical scroll on the trackpad, or a two-finger pinch, with the pointer over the canvas. Each wheel step multiplies or divides by 1.15.
- iPad — pinch with two fingers.
- On all three — the and + buttons in the tool's toolbar, with the percentage between them, and the ⌘− and ⌘+ shortcuts. A button dims when there is no room left in that direction.
- The limits run from 18 % to 400 % in the ER Diagram, and from 18 % to 350 % in Visual EXPLAIN.

Automatic framing
Both views frame themselves when they open and when the window is resized; the ER Diagram also does it after Auto-layout. And if you get lost, the Fit to window button in the toolbar —or ⌘0— frames everything again without touching the window.

ER Diagram only
- Moving a table — drag it by its body. The position is not kept on its own: it is stored with Save layout, in the toolbar.
- Creating a foreign key, macOS only — hold ⌃ (Control) and drag from one table to the target one. A rubber-band line is drawn while the gesture lasts; on release, the sheet opens with the ALTER TABLE that will run. This gesture does not exist on iPad: the foreign key is created from New foreign key, in the table's context menu.
- Empty-canvas menu, macOS only — right click on the background: Auto-layout, Save layout, and export to PNG or PDF in three sizes.

In Visual EXPLAIN
Nodes do not move and the canvas has no context menu: the view lays the tree out from the plan, and its shape is part of what it is telling you.

The canvas and VoiceOver
The diagram is drawn with a Canvas, which VoiceOver cannot traverse. That is why the ER Diagram exposes the list of tables and the list of relations separately — and there, no gesture is needed.

Keywords: pan, zoom, ER diagram, erd, visual explain, pinch, mouse wheel, trackpad, drag node, foreign key, fk, control, save layout, auto-layout, export, voiceover

Resizing workspace panels

The workspace's draggable dividers: both axes, the double click that resets them, and what happens when the window narrows.

Almost every tool splits its space with a draggable divider 6 points wide, the same component on macOS and on iPad. There are two of them, not just the horizontal one.

Divider between top and bottom
This is the SQL Editor's, between the text and the results, and the one in tools that stack a detail and an auxiliary panel. Drag it up or down: the top panel never goes below 20 % nor above 85 % of the available height.

Divider between left and right
This is the one separating a tool's side panel —the list, the tree or the picker— from its detail. Drag it left or right: the panel never gets less than 140 points, and the detail is always left with 260.

Both behave the same
- Double click or double tap on the divider — restores that tool's default split. It is the quick way out when a panel has shrunk to nothing.
- On macOS, hovering turns the cursor into ↕ or ↔ and the line thickens and takes on the accent colour; it stays tinted while you drag.
- On iPad there is no cursor, but the sensitive band is exactly the same.
- The split is saved, and the side panel's is saved separately for Mac and for iPad: a wide desktop window and an iPad screen do not want the same split.

When the window narrows
There are two behaviours, and what tells them apart is the size of the screen, not the device.

On iPhone, in Slide Over and in any compact-size window there are no two zones: the list is the screen, and picking something pushes the detail with its back arrow, like in any iOS app. There is also a Show detail button in the top bar, which is the path that always exists.

In a narrow window that is still regular size —a small Mac window— the panel collapses into a strip with a button and opens as a drawer over the detail. Widen it and it goes back to being a permanent panel.

Two dividers with their own rules
- In the Query Builder, the generated-SQL panel is dragged by its capsule-shaped grip, between 60 and 500 points tall.
- In the results grid what you drag are the column edges, not a panel divider; that is in Gestures on result rows and cells.

Keywords: resize, divider, splitter, panel, drag, height, width, vertical, horizontal, double click, reset, drawer, slide over, sql editor, side panel, query builder

Context menus by view (reference)

What right-click on macOS —or long-press on iPad— offers in each view that has a menu.

On macOS the context menu opens with a right click; on iPad, by long-pressing the item. Not every view has a menu, and the ones that do not offer the same things.

Connection manager
- On a profile: Connect, Clone, Move to group (submenu with whatever groups exist, plus «No group»), Delete.
- On a group: Rename, New group, Delete group.

Schema tree (inside the SQL Editor)
- On a database: Use as active database, Refresh tables, Refresh databases, Copy name.
- On an object: Copy name, Copy full name, Refresh its database's tables and, from the editor, Import data and WHERE builder.

Catalogs
- Tables: Design table, View DDL, Populate with dummy data, Delete table.
- Views: View DDL, Edit (visual form), Open in the item editor.
- Indexes: Edit (visual form), Delete index.
- Routines: View DDL, Edit, Open in the item editor, Delete.
- Triggers: View DDL, Edit, Open in the item editor.
- Events: View DDL, Edit, Open in the item editor, Delete event.

SQL Editor, over the text
- macOS: Go to definition and Rename symbol on the word under the pointer, plus Expand SELECT \* on the table if the cursor sits inside one. Below that, the standard macOS editing menu.
- iPad: Go to definition and Rename symbol.

Results grid
It has its own topic: Gestures on result rows and cells.

SQL Log
- In the persistent log: View detail, Copy query, Open in editor, Copy result. Double-clicking a row opens the detail directly; on iPad, a single tap.
- In the session history: View detail, Copy query, Open in editor.

Process list
- On a process: Kill the connection and Kill the query. They are two different things: the first throws the client out, the second only cuts what it is running right now.

Snippets
- On a snippet: Copy content, Delete. Everything else is edited in the right-hand panel.

ER Diagram
- On a table: Edit structure, New foreign key.
- On the empty canvas, macOS only: Auto-layout, Save layout, and export to PNG and PDF in three sizes.

These also have a context menu
The AI Assistant and its history, SQL Alerts, the Table Builder, SQL Statements, the Schema Comparator, Server Info, the SQLite Editor, the Error Log, the Run History, Reports, and the connection list in Preferences.

Workspace tabs have no context menu. They close with their ×, and on iPad also with ⌘⇧W. There is no duplicate, no pin, no close-others.

Keywords: context menu, right click, long press, reference, catalogs, schema tree, sql log, processes, snippets, connections, er diagram, sql editor, tabs