# Menus

Every item in the menu bar, what it does and its keyboard shortcut.

_Shortcuts are written for Windows and Linux. On a Mac, use ⌘ Cmd where they say Ctrl, and ⌥ Option for Alt._

The menu bar runs along the top of the editor. Every item is also in the command palette
(`Ctrl+K`), and every shortcut below can be changed in
Settings > Keyboard Shortcuts.... Items that are checked or unchecked turn a setting on or off.

Right-clicking a layer, a frame, a cel or a slice opens a menu of the same commands for the thing
you clicked.

## Project

| Item | Shortcut | What it does |
| - | - | - |
| _Your projects: choose one to switch to it._ | | |
| **New Project...** | | Opens a dialog to name a new project, then creates it and switches to it. |
| **Rename Project...** | | Opens a dialog to rename the current project; sprite names stay unchanged. |
| **Manage Projects...** | | Opens your account page, where you can see and manage all your projects. |
| **Shared with You...** | | Opens your account page's list of work other people invited you to view, to open it or leave it. |

## File

| Item | Shortcut | What it does |
| - | - | - |
| _The sprites in this project: choose one to show it._ | | |
| **New Sprite...** | `Ctrl+Alt+N` | Opens a dialog to create a sprite: pick a size preset, color mode, background and palette. |
| **Rename Sprite...** | | Opens a dialog to rename the sprite, convert its color mode, and set its pixel ratio, transparent index and user data. |
| **Open...** | `Ctrl+O` | Opens a sprite or image file from your computer, such as .pxstudio, .aseprite, PNG, GIF or JPEG. |
| Import > **Import image as pixel art...** | | Converts an image to pixel art at your chosen size and palette, as a new sprite or layer. |
| Import > **Image sequence...** | | Combines several images into one new sprite, one frame per file in file-name order. |
| Import > **Sprite sheet...** | | Cuts a sprite sheet into frames by grid or Aseprite JSON, as a new sprite or replacing this one. |
| **Save** | `Ctrl+S` | Saves the current sprite right away and, with Sync, syncs it to your account. |
| **Save As...** | `Ctrl+Shift+S` | Downloads the current sprite to your computer as a .pxstudio file. |
| **Export...** | `Ctrl+Alt+Shift+S` | Opens a dialog to export as PNG, GIF, sprite sheet, video, Aseprite and other formats, with a preview. |
| **Export Timelapse...** | | Makes a shareable GIF or MP4 timelapse showing how the sprite was drawn. |
| **Share View Link...** | | With Sync: makes an invite link to this sprite or its whole project. Anyone signed in who opens it within 72 hours can view it, but not change it, until you remove them. |
| **Close** | `Ctrl+Alt+W` | Closes the current sprite's tab and keeps it in the project, asking first if changes couldn't be saved. |
| **Close All** | | Closes every open sprite tab and keeps them in the project, asking first if changes couldn't be saved. |
| **Delete Current Sprite...** | | Permanently deletes the current sprite from the project after you confirm; this can't be undone. |

## Edit

| Item | Shortcut | What it does |
| - | - | - |
| **Undo** | `Ctrl+Z` | Undoes your last change, and goes to the frame and layer it changed. |
| **Redo** | `Ctrl+Shift+Z` or `Ctrl+Y` | Redoes the last change you undid, and goes to the frame and layer it changed. |
| **Undo History** | | Shows or hides the undo history as a tree beside the toolbar; clicking a step takes the sprite back to that point. |
| **Cut** | `Ctrl+X` | Copies the selected pixels on the active cel to the clipboard, then erases them and drops the selection. |
| **Copy** | `Ctrl+C` | Copies the selected pixels on the active cel to the clipboard. |
| **Copy Merged** | | Copies all visible layers in the current frame as one image, within the selection or the whole canvas. |
| **Paste** | `Ctrl+V` | Pastes the clipboard image onto the active layer as a floating image you can move before placing. |
| **Paste as New Layer** | | Pastes the clipboard image onto a new layer above the active one. |
| **Paste as New Sprite** | | Opens the clipboard image as a new sprite sized to fit it. |
| **Delete** | `Del` or `Backspace` | Erases the selected pixels on the active cel and drops the selection (the whole cel if nothing is selected; the Background layer clears to the background color), or deletes the selected slices when the Slice tool is active. |
| **Fill** | `F` | Fills the selection, or the whole active cel if nothing is selected, with the foreground color. |
| **Stroke Selection...** | | Opens a dialog that paints a line of a given width and color along the selection's edge, inside, centered on it or outside, on the active cel. |
| **Flip Horizontal** | `Shift+H` | Flips the selection, or the whole active cel if nothing is selected, left to right. |
| **Flip Vertical** | `Shift+V` | Flips the selection, or the whole active cel if nothing is selected, upside down. |
| Transform > **Free Transform (Move Tool)** | | Switches to the Move tool so you can scale, rotate, skew and distort (perspective) the selection with its handles. |
| Transform > **Rotate 90° Clockwise** | | Rotates the selection, or the whole active cel if nothing is selected, 90° clockwise. |
| Transform > **Rotate 90° Counterclockwise** | | Rotates the selection, or the whole active cel if nothing is selected, 90° counterclockwise. |
| Transform > **Rotate 180°** | | Rotates the selection, or the whole active cel if nothing is selected, 180°. |
| Transform > Align > **Align Left** | | Moves the selection, or the content of the active cel (of each selected cel in the timeline), against the canvas's left edge. |
| Transform > Align > **Align Center** | | Moves the selection, or the content of the active cel (of each selected cel in the timeline), against the canvas's horizontal center. |
| Transform > Align > **Align Right** | | Moves the selection, or the content of the active cel (of each selected cel in the timeline), against the canvas's right edge. |
| Transform > Align > **Align Top** | | Moves the selection, or the content of the active cel (of each selected cel in the timeline), against the canvas's top edge. |
| Transform > Align > **Align Middle** | | Moves the selection, or the content of the active cel (of each selected cel in the timeline), against the canvas's vertical center. |
| Transform > Align > **Align Bottom** | | Moves the selection, or the content of the active cel (of each selected cel in the timeline), against the canvas's bottom edge. |
| Transform > Align > **Distribute Horizontally** | | Spaces the content of three or more selected cels evenly left to right, keeping the outermost two where they are. |
| Transform > Align > **Distribute Vertically** | | Spaces the content of three or more selected cels evenly top to bottom, keeping the outermost two where they are. |
| Transform > **Iso Left** | | Projects the selection, or the whole active cel, onto the left face of an isometric cube. |
| Transform > **Iso Right** | | Projects the selection, or the whole active cel, onto the right face of an isometric cube. |
| Transform > **Iso Floor** | | Turns the selection, or the whole active cel, into an isometric floor diamond. |
| **Command Palette...** | `Ctrl+K` | Opens a search box where you can find and run any command by name. |
| Cel > **Cut Cels** | | Copies the cels selected in the timeline, or the active cel, then clears them. |
| Cel > **Copy Cels** | | Copies the cels selected in the timeline, or the active cel, as whole cels. |
| Cel > **Paste Cels** | | Pastes copied cels into the timeline, starting at the active cel. |
| Cel > **Clear Cels** | | Empties the cels selected in the timeline, or the active cel. |
| Cel > **Link Cels** | | Links the selected cels on each layer so they share the first cel's image. |
| Cel > **Unlink Cels** | | Gives each selected linked cel its own copy of the image. |
| Cel > **Move Cels Up** | | Moves the selected cels up one layer in the timeline. |
| Cel > **Move Cels Down** | | Moves the selected cels down one layer in the timeline. |
| Cel > **Move Cels Left** | | Moves the selected cels one frame earlier in the timeline. |
| Cel > **Move Cels Right** | | Moves the selected cels one frame later in the timeline. |
| Cel > **Select All Cels** | | Selects every cel in the timeline. |
| Cel > **Tween...** | `Shift+T` | Opens the Tween inspector for the active cel's tween, or to tween it to the next keyframe on its layer (or to the last selected one), with a live preview. |
| Cel > **Tween Through Keyframes** | | Tweens from the selected keyframe through every later keyframe on its layer, one tween between each pair of neighbours, each landing on its next keyframe, in one step. |
| Cel > **Set Tween End to Selection** | | Moves the end of the selected tween to the last frame in the cel selection on its layer; in-betweens outside the new range are removed (or kept as plain cels if you edited them). |
| Cel > **Regenerate Tween** | | Redraws the in-between frames of the selected tweens from their start keyframes, keeping cels you edited by hand. |
| Cel > **Revert to Tween** | | Puts the selected in-between cels you edited by hand back to what their tween generates. |
| Cel > **Bake Tween** | | Turns the selected tweens into plain frames: the in-betweens stay as ordinary cels and the tween is removed. |
| Cel > **Remove Tween** | | Removes the selected tweens and their generated in-betweens; cels you edited by hand stay as plain cels. |
| Cel > **Copy Tween Settings** | | Copies the selected tween's settings (easing, motion, path and timing), without its end keyframe. |
| Cel > **Paste Tween Settings** | | Applies copied tween settings to each selected keyframe, tweening it to its next keyframe on the layer. |

## Sprite

| Item | Shortcut | What it does |
| - | - | - |
| **Properties...** | | Opens a dialog to rename the sprite, convert its color mode, and set its pixel ratio, transparent index and user data. |
| **Version History...** | | Name the sprite as it is now to keep it on this device; with Sync, the cloud's versions too. Compare any of them with now, download one, or restore it (Undo brings back what was there). |
| **Sprite Size...** | `Ctrl+Alt+I` | Opens a dialog to set a new width and height, resizing every cel with nearest-neighbor scaling. |
| **Canvas Size...** | `Alt+C` | Opens a dialog to resize the canvas and pick where existing art is anchored, without scaling it. |
| **Rotate 90° CW** | | Rotates the whole canvas 90° clockwise, across every layer and frame. |
| **Rotate 90° CCW** | | Rotates the whole canvas 90° counterclockwise, across every layer and frame. |
| **Flip Canvas Horizontal** | | Mirrors the whole canvas left to right: every layer and frame, plus slices and the selection. |
| **Flip Canvas Vertical** | | Mirrors the whole canvas top to bottom: every layer and frame, plus slices and the selection. |
| **Crop to Selection** | | Crops the canvas to the bounds of the current selection. |
| **Trim** | | Crops the canvas to the smallest box that holds every non-transparent pixel in every layer and frame. |
| **Auto-slice...** | | Opens a dialog that adds a slice around each separate painted region of the frame or the active cel, with an optional gap to merge nearby regions and a minimum size. |
| **Slice Properties...** | | Opens a dialog to edit a slice's name, bounds, 9-slice center and pivot. |
| **Duplicate Sprite** | | Makes a copy of this sprite as a new sprite in the project. |
| **Convert to Indexed Color...** | | Opens a dialog that converts the sprite to indexed color: keep the palette or generate one, with optional dithering. |
| **Convert to Grayscale** | | Converts the sprite to grayscale, replacing every color with its brightness. |
| **Convert to RGB Color** | | Converts the sprite to RGBA color, where each pixel stores its own color. |
| **Color Depth...** | | Pins the sprite to a hardware color profile (Mega Drive 9-bit, RGB565, 2-bit grayscale...): its colors fold into it, and everything drawn later stays on it. |
| Palette > **Palette Audit...** | | Lists the colours in the artwork that aren't in the palette, with how many pixels use each: add them to the palette or remap them to a palette colour. |
| Palette > **Clean Up Palette...** | | Opens a dialog that merges duplicate and similar palette colours and removes colours no pixel uses. |
| Palette > **Palette Lock** | | RGBA sprites: everything you draw snaps to the nearest palette colour, so the artwork stays on-palette. Saved with the file. |

## Layer

| Item | Shortcut | What it does |
| - | - | - |
| **Layer Properties...** | | Opens a dialog to edit the layer's name, opacity, blend mode, visibility, locks and user data. |
| **Layer Effects...** | | Opens the active layer's effects: non-destructive adjustments, outlines and shadows that are shown over its pixels without changing them. |
| **Bake Layer Effects** | | Writes the active layer's effects into its pixels and removes them, so they can no longer be changed. |
| **Visible** | | Shows or hides the selected layers. |
| **New Layer** | `Shift+N` | Adds a new blank layer above the active layer and makes it active. |
| **New Group** | | Adds a new empty group above the active layer to hold and organize layers. |
| **New Adjustment Layer** | | Adds a layer with no pixels of its own: its effects (levels, gradient map, noise, vignette, ...) change everything below it, on every frame. |
| **New Reference Layer...** | | Adds an image from your computer as a reference layer to trace over. |
| **New Tilemap Layer...** | | Opens a dialog to create a tilemap layer, choosing its name, tile size and a new or shared tileset. |
| Tilemap > **Tiles Mode** | | Switches the tilemap layer to placing whole tiles, selecting the Tile Stamp tool. |
| Tilemap > **Pixels Mode (Auto Tiles)** | | Switches to painting pixels where painted cells reuse or create tiles automatically. |
| Tilemap > **Pixels Mode (Edit Tileset)** | | Switches to painting pixels directly into existing tiles, updating every place each tile is used. |
| Tilemap > **Toggle Tiles/Pixels** | `Alt+T` | Switches the tilemap layer between placing tiles and your last-used pixel mode. |
| Tilemap > **Convert to Tilemap...** | | Opens a dialog to turn the active image layer into a tilemap layer, choosing tile size and tile sharing. |
| Tilemap > **Convert to Normal Layer** | | Converts the tilemap layer into a regular image layer, flattening its tiles into pixels on every frame. |
| Tilemap > **Tileset Properties...** | | Opens a dialog to edit the active tilemap's tileset name and base index. |
| Tilemap > **Import Tiles from Image...** | | Opens a dialog to slice an image, the current frame or the selection into tiles, skipping empty or duplicate ones. |
| **Delete Layer** | `Ctrl+Alt+Shift+L` | Deletes the selected layers and everything painted on them; deleting a group removes its contents too. |
| **Duplicate Layer** | | Copies the selected layers with all their cels, placing each copy directly above the original. |
| **Move Layer Up** | | Moves the active layer one step up within its group. |
| **Move Layer Down** | | Moves the active layer one step down within its group, never below the Background. |
| **Flip Layer Horizontal** | | Mirrors the active layer, or every layer in the group, left to right on every frame. |
| **Flip Layer Vertical** | | Mirrors the active layer, or every layer in the group, top to bottom on every frame. |
| **Group Layers** | `Ctrl+G` | Puts the selected layers into a new group at the topmost layer's position, keeping their order. |
| **Ungroup** | `Ctrl+Shift+G` | Removes the active group and moves its layers out, dropping the group's opacity, blend mode and visibility. |
| **Clipping Mask** | `Ctrl+Alt+G` | Clips the selected layers to the nearest unclipped layer below, so they only show where it has pixels; again to release them. |
| **Draft Layer** | | Marks the selected layers as draft layers: you still see them while you work, but export, Flatten and Stamp Visible leave them out; again to make them ordinary layers. |
| **Solo Layer** | | Hides every other layer so only the active layer (with its group) shows; again to bring the others back. Alt-click a layer's eye does the same. |
| **Merge Down** | `Ctrl+E` | Merges the active layer or group into the image layer below it, then deletes the merged layer. |
| **Merge Up** | | Merges the active image layer into the layer above it: the result looks the same and takes the upper layer's name and colour. |
| **Merge Selected Layers** | | Merges the selected layers (all in one group) into one layer at the topmost one's position, exactly as they look together. Hidden ones are left alone. |
| **Stamp Visible** | `Ctrl+Alt+Shift+E` | Adds a new layer holding everything visible, flattened, per frame, and keeps every layer as it is. Draft and reference layers are left out. |
| **Flatten Group** | | Turns the active group into one image layer with the same name, opacity and blend mode, holding everything in it as it looks. Hidden, draft and reference layers inside are deleted. |
| **Flatten Sprite** | | Merges all visible layers into one; hidden, draft and reference layers and groups are deleted. |
| **Background from Layer** | | Turns the active layer into the Background: moves it to the bottom and fills transparency with the background color. |
| **Layer from Background** | | Turns the Background into a regular layer that can have transparency and be moved again. |
| **Reference Transform...** | | Opens a dialog to set the reference image's position and size on the current frame, or clear it. |

## Frame

| Item | Shortcut | What it does |
| - | - | - |
| **Frame Properties...** | | Opens a dialog to set how long the current frame is shown, in milliseconds, plus its colour label and lock. |
| **New Empty Frame** | `Ctrl+Shift+F` | Adds a new empty frame right after the current frame. |
| **New Empty Frame Before** | | Adds a new empty frame right before the current frame, which is how to put one ahead of frame 1. |
| **New Frame** | `Alt+N` | Copies the selected frames and their cels, placing the copy right after them. |
| **New Linked Frame** | | Copies the selected frames right after them, with cels linked so edits show in both. |
| **Delete Frame** | `Ctrl+Alt+Shift+F` | Deletes the selected frames and everything on them; the last remaining frame can't be deleted. |
| **Reverse Frames** | | Reverses the order of the selected frames, or every frame if fewer than two are selected. |
| **Play/Pause** | `Enter` | Starts or stops playing the animation. |
| **First Frame** | `Home` | Jumps to the first frame. |
| **Previous Frame** | | Steps back to the previous frame, from the first frame round to the last. |
| **Next Frame** | | Steps forward to the next frame, from the last frame round to the first. |
| **Last Frame** | `End` | Jumps to the last frame. |
| **Set All Frames to Current Duration...** | | Gives every frame the current frame's duration, after asking you to confirm. |
| **New Tag...** | | Opens a dialog to create an animation tag over the selected frames, with name, color and playback direction. |

## Select

| Item | Shortcut | What it does |
| - | - | - |
| **Select All** | `Ctrl+A` | Selects the whole canvas. |
| **Deselect** | `Ctrl+D` | Clears the current selection. |
| **Reselect** | `Ctrl+Shift+D` | Brings back the selection you last cleared. |
| **Inverse Selection** | `Ctrl+Shift+I` | Flips the selection so everything that was unselected becomes selected, and the reverse. |
| **Quick Mask** | | Turns Quick Mask on or off: while it's on, you paint the selection with the paint tools (the eraser removes), and when you turn it off what you painted becomes the selection. |
| **Select Opaque** | | Selects every painted pixel of the active layer (every layer inside it for a group). Alt+click a layer in the timeline does the same for that layer. |
| **Select Transparent** | | Selects every pixel of the active layer that has no paint. |
| Modify > **Expand...** | | Grows the selection outward by a number of pixels, with round or square corners. |
| Modify > **Contract...** | | Shrinks the selection inward by a number of pixels; parts thinner than that disappear. |
| Modify > **Border...** | | Keeps only a band of the given width along the inside edge of the selection. |

## Filter

| Item | Shortcut | What it does |
| - | - | - |
| **Brightness/Contrast...** | | Opens a dialog that adjusts brightness and contrast, with a live preview. |
| **Hue/Saturation...** | | Opens a dialog that shifts hue, saturation, lightness and alpha, with a live preview. |
| **Color Curve...** | | Opens a dialog where you draw curves to remap the value, each color channel or alpha. |
| **Levels...** | | Opens a dialog that sets the black, white and midtone points of each channel, with a live preview. |
| **Threshold...** | | Opens a dialog that turns every pixel one of two colours by its brightness, with a live preview. |
| **Gradient Map...** | | Opens a dialog that recolours the art by brightness through a gradient, with a live preview. |
| **Color Balance...** | | Opens a dialog that shifts the colour of the shadows, midtones and highlights, with a live preview. |
| **Invert Color...** | `Ctrl+I` | Opens a dialog that inverts the red, green, blue or alpha channels you choose. |
| **Replace Color...** | | Opens a dialog that swaps one color for another or for transparency, within a tolerance. |
| **Posterize...** | | Opens a dialog that reduces each color channel to fewer levels, with a live preview. |
| **Reduce Colors...** | | Opens a dialog that maps the art onto a few generated colours or the palette, optionally dithered, with a live preview. |
| **Outline...** | | Opens a dialog that adds a colored outline inside or outside shapes, with a live preview. |
| **Drop Shadow\...** | | Opens a dialog that adds a drop shadow, glow or inner shadow, with a live preview. |
| **Anti-Alias...** | | Opens a dialog that smooths the stair steps where two colors meet, pixel-art style, with a live preview. |
| **Auto-Shade...** | | Opens a dialog that shades flat colours from a light direction, with highlights on the lit side and shadows on the other, with a live preview. |
| **Despeckle...** | | Opens a dialog that removes stray pixels with a median filter, with a live preview. |
| **Convolution Matrix...** | | Opens a dialog that applies a blur, sharpen or custom kernel filter, with a live preview. |

## View

| Item | Shortcut | What it does |
| - | - | - |
| **Zoom In** | `Ctrl+=` | Zooms the current editor view in one step. |
| **Zoom Out** | `Ctrl+-` | Zooms the current editor view out one step. |
| **Actual Size** | `Ctrl+0` | Sets the current editor view to 100% zoom, one screen pixel per sprite pixel. |
| **Fit to Window** | `Ctrl+Shift+0` | Zooms and centers the current editor view so the whole sprite fits with a small margin. |
| **Rotate View 15° Clockwise** | `Ctrl+Alt+]` | Turns the current editor view 15° clockwise without changing the sprite itself. |
| **Rotate View 15° Counterclockwise** | `Ctrl+Alt+[` | Turns the current editor view 15° counterclockwise without changing the sprite itself. |
| **Reset Rotation** | `Ctrl+Alt+0` | Puts the current editor view back upright, undoing any view rotation. |
| Grid > **Show Grid** | `Ctrl+'` | Shows or hides the sprite's grid in every editor view; the choice is saved on this device. |
| Grid > **Show Pixel Grid** | `Ctrl+Shift+'` | Shows or hides thin lines between pixels in the current editor view when zoomed in. |
| Grid > **Snap to Grid** | `Shift+S` | Turns snapping on or off so tools line up with the grid; the choice is saved on this device. |
| Grid > **Isometric Grid** | | Switches this sprite's grid between square and isometric cells, and shows the grid when turning isometric on. |
| Grid > **Hexagonal Grid** | | Switches this sprite's grid between square and hexagonal cells (pointy-top at first; flip the orientation in Grid Settings), and shows the grid when turning hexagonal on. |
| Grid > **Grid Settings...** | | Opens Grid Settings to set the sprite's grid type, cell size and offset, plus grid color and opacity. |
| Guides > **Show Rulers** | `Ctrl+R` | Shows or hides rulers along the top and left of every editor view; drag out of a ruler to add a guide. |
| Guides > **Show Guides** | `Ctrl+;` | Shows or hides the sprite's guides in every editor view; hidden guides don't snap. |
| Guides > **Snap to Guides** | `Ctrl+Shift+;` | Turns snapping to guides on or off for shapes, lines, selections, slices, gradients and the Move tool. |
| Guides > **Lock Guides** | `Ctrl+Alt+;` | Locks the guides so the Move tool can't drag or remove them; the choice is saved on this device. |
| Guides > **New Guide...** | | Adds a guide at an exact position, across or down the sprite. |
| Guides > **Clear Guides** | | Removes every guide from this sprite, in one undoable step. |
| Perspective Grid > **Perspective Grid** | | Shows or removes a perspective grid on this sprite: rays fanning out of vanishing points, as a drawing aid. Drag the points with the Move tool. |
| Perspective Grid > **Perspective Grid Settings...** | | Opens Perspective Grid Settings to choose a 1-, 2- or 3-point grid or a fisheye grid, and set its points or centre and radius, and the number of lines. |
| **Tile Grid** | | Shows or hides tile boundaries over the canvas while a tilemap layer is active. |
| **Show Brush Preview** | | Shows or hides an outline of the brush's shape and size that follows the pointer. |
| **Show Canvas Info** | | Shows or hides a readout in a corner of the canvas with the pointer position, tool, frame and more. |
| Tiled Mode > **Both Axes** | | Repeats the sprite around itself in both directions in this view, for drawing seamless patterns. |
| Tiled Mode > **Horizontal Only** | | Repeats the sprite to its left and right in this view, for drawing seamless horizontal patterns. |
| Tiled Mode > **Vertical Only** | | Repeats the sprite above and below itself in this view, for drawing seamless vertical patterns. |
| **Show Onion Skin** | | Shows or hides faded neighboring frames around the current one in this view, to help with animation. |
| **New Editor** | | Opens another editor view, with its own zoom, rotation and display options. |
| Panels > **Menu Bar** | | Shows or hides the menu bar panel. |
| Panels > **Tools** | | Shows or hides the Tools panel. |
| Panels > **Tool Options** | | Shows or hides the tool options bar, where you adjust the current tool's settings. |
| Panels > **Timeline** | | Shows or hides the Timeline panel with layers, frames and tags. |
| Panels > **Preview** | | Shows or hides the Preview panel. |
| Panels > **Tileset** | | Shows or hides the Tileset panel. |
| Panels > **Palette** | | Shows or hides the Palette panel. |
| Panels > **Color Picker** | | Shows or hides the Color Picker panel. |
| Panels > **Foreground/Background Colors** | | Shows or hides the panel with the foreground and background colors. |
| Panels > **Scripts** | | Shows or hides the Scripts panel, the editor for the open Lua script. |
| Workspace > _The built-in layouts, then the ones you saved: choose one to switch to it._ | | |
| Workspace > **Save Layout As...** | | Saves the current panel arrangement as a named layout, optionally with settings to bring along. |
| Workspace > **Update Current Layout** | | Overwrites the active saved layout with your current panel arrangement and chosen settings. |
| Workspace > **Reset Layout** | | Puts panels back the way the active layout was saved, undoing moves and resizes. |
| Workspace > **Manage Layouts...** | | Opens the Layouts dialog to rename, delete, export and import your saved layouts. |
| Workspace > **Lock Layout** | | Locks or unlocks the layout so panels can't be dragged or docked by accident. |
| **Show Keystrokes** | | Shows or hides an on-screen display of the keys you press, handy for recording tutorials. |

## Scripts

Scripts can add their own items to this menu, and to others (see
[Scripting](https://pxstud.io/docs/scripting/dialogs.md)).

| Item | Shortcut | What it does |
| - | - | - |
| **New Script...** | | Opens a dialog to name a new script and start writing it. |
| **Open My Script...** | | Opens a list of your scripts to load one into the script panel, or rename or delete it. |
| _Scripts you opened recently._ | | |
| **Browse Script Library...** | | Opens the script library to search, run, fork or heart public and official scripts. |
| **Script Commands...** | | Installs script commands from your scripts so they appear in menus and can have shortcuts. |
| **Scripting Reference** | | Opens the scripting reference in a new browser tab. |

## Settings

| Item | Shortcut | What it does |
| - | - | - |
| Zoom Snapping > **Off (Smooth)** | | Lets the canvas zoom smoothly, to any level between 1/64 and 64x. |
| Zoom Snapping > **Whole Numbers** | | Zooms only to Aseprite's levels (1x, 2x, 3x, 4x, 5x, 6x, 8x, 12x ... 64x, and 1/2, 1/3 ... 1/64 below 100%), so every pixel is the same size on screen. |
| Zoom Snapping > **Powers of Two** | | Zooms only to powers of two: 1/64 ... 1/2, 1x, 2x, 4x, 8x, 16x, 32x and 64x. |
| **Draw with Finger** | | Lets a finger draw on a touch screen; turn it off to draw only with a pen or mouse, and pan with one finger. |
| **Remember Brush per Tool** | | Lets each tool keep its own brush size, shape and ink; turn it off to share one brush between every tool. |
| **Hold Tool Keys to Borrow** | | Tap a tool's key to switch to it; hold it for a moment to borrow the tool, and letting go returns you to the tool you had. |
| **Mouse and Trackpad...** | | Opens the mouse and trackpad settings: what the wheel and the right button do, where zoom is anchored, the brush-size wheel's direction and the cursor size. |
| **Keyboard Shortcuts...** | `?` | Opens the shortcut editor to view, change, reset, import or export keyboard shortcuts. |
| **Onion Skin...** | | Opens onion skin settings: frame counts, opacity, tint, tag-only mode, and whether ghosts draw behind or in front. |
| **Checkerboard...** | | Opens settings for the transparency checkerboard's square size and two colors. |
| **Tool Wheel...** | | Opens the tool wheel's layout: drag tools into the slots of its two rings, or leave slots empty. |
| **Keystrokes...** | | Turns the keystroke display on or off and chooses its corner on the window or canvas. |
| **Canvas Info...** | | Turns the canvas info display on or off, chooses its corner, and picks what it shows. |

## Help

Every item but the last opens a page of these docs in a new browser tab.

| Item | Shortcut | What it does |
| - | - | - |
| **Manual** | | Opens the "Manual" docs page in a new browser tab. |
| **Your First Sprite** | | Opens the "Your First Sprite" docs page in a new browser tab. |
| **How Your Work Is Organized** | | Opens the "How Your Work Is Organized" docs page in a new browser tab. |
| Guides > **The Workspace** | | Opens the "The Workspace" docs page in a new browser tab. |
| Guides > **Layers** | | Opens the "Layers" docs page in a new browser tab. |
| Guides > **Color and Palettes** | | Opens the "Color and Palettes" docs page in a new browser tab. |
| Guides > **Selecting and Transforming** | | Opens the "Selecting and Transforming" docs page in a new browser tab. |
| Guides > **Animation and the Timeline** | | Opens the "Animation and the Timeline" docs page in a new browser tab. |
| Guides > **Tilemaps** | | Opens the "Tilemaps" docs page in a new browser tab. |
| Guides > **Opening, Importing and Exporting** | | Opens the "Opening, Importing and Exporting" docs page in a new browser tab. |
| Guides > **Keyboard, Accessibility and Touch** | | Opens the "Keyboard, Accessibility and Touch" docs page in a new browser tab. |
| Guides > **Slices** | | Opens the "Slices" docs page in a new browser tab. |
| Guides > **Resizing, Cropping and Effects** | | Opens the "Resizing, Cropping and Effects" docs page in a new browser tab. |
| Guides > **The Library** | | Opens the "The Library" docs page in a new browser tab. |
| Reference > **Tools** | | Opens the "Tools" docs page in a new browser tab. |
| Reference > **Menus** | | Opens the "Menus" docs page in a new browser tab. |
| Reference > **Keyboard Shortcuts** | | Opens the "Keyboard Shortcuts" docs page in a new browser tab. |
| Reference > **File Formats** | | Opens the "File Formats" docs page in a new browser tab. |
| Reference > **Tool Options** | | Opens the "Tool Options" docs page in a new browser tab. |
| Reference > **Settings** | | Opens the "Settings" docs page in a new browser tab. |
| Scripting > **Your First Script** | | Opens the "Your First Script" docs page in a new browser tab. |
| Scripting > **Scripting Guide** | | Opens the "Scripting Guide" docs page in a new browser tab. |
| Scripting > **Scripting API** | | Opens the scripting reference in a new browser tab. |
| **Keyboard Quick Reference** | | Opens the "Keyboard Quick Reference" docs page in a new browser tab. |
| **FAQ** | | Opens the "FAQ" docs page in a new browser tab. |
| _In a browser that can install it: Install App..., which installs the editor as an app (on iPhone and iPad, it explains how to add it to the Home Screen)._ | | |
| _In the desktop app: Check for Updates..., which downloads a newer version._ | | |
| **About pxstud.io...** | | Shows what this editor is, and links to its website, documentation and open-source licenses. |
