---
name: "notion"
section: "1"
platform: "linux"
package: "notion"
version: "1:4.0.5-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/notion"
---

# notion(1)

an X11 window manager

## NAME

Notion - an X11 window manager

## SYNOPSIS

**notion** *\[options\]*

## DESCRIPTION

Notion is a tiling tabbed window manager designed with keyboard users in mind.

## OPTIONS

- **-display host:display.screen**

  X display to manage

- **-conffile configfile**

  Configuration file to use instead of default

- **-searchdir dir**

  Directory to search for configuration files and other scripts

- **-oneroot**

  On X servers with multiple (traditional non-Xinerama) screens, manage only default screen (root window), not all, as given by the -display option or in the DISPLAY environment variable.

- **-session session\_name**

  Set session name. This option affects where workspace and other save files are put (~/.notion/session\_name if option set).

- **-help**

  Show help on command line options

- **-version**

  Show version

- **-about**

  Show about text (version, author, license)

## BASIC CONCEPTS

This section is an overview of the types objects that appear on an X display managed by Notion and their relationships in a standard setup. This information is necessary to understand the operations and availability of the different key bindings explained below. For a more detailed explanation, needed for writing custom bindings configuration files, see the additional documentation available from the Notion Web page.

The top-level objects that matter in the case at hand are **screens**. They correspond to physical screens. Screens contain **workspaces** (which are a kind of **group**), and **client windows** put into full screen mode. These objects are **multiplexed** in the sense that only one can be displayed at a time.

Workspaces themselves may contain **tilings** and detached/floating **frames**. A workspace containing no tilings and only detached/floating windows is also called a **floating workspace**. Tilings themselves contain **frames** tiled to fill the screen, and possibly a statusbar or dock. Akin to screens, frames multiplex other objects, but in this case mostly client window **groups**. Most of the time, frames are the only trace of Notion you see on the screen. Frames may have border decorations, and they have a **tab** for each multiplexed object.

**Queries** are boxes that appear at the bottoms of frames or screens to ask you for textual input to execute an action that depends on it. Most queries support tab-completion.

## BINDINGS

These are the default key and pointer bindings. Below, **Mod4** refers to the modifier used by Notion. **Mod4** is the default, but this can be configured by setting **META** in the configuration. The particular key that is interpreted as **Mod4** depends on your system. On Xorg-based systems it is usually bound to the **windows** key. The *[xmodmap(1x)](/xmodmap/1x.md)* tool can be used to get/set which key codes correspond to which modifiers, and the *[xev(1x)](/xev/1x.md)* tool can be used to see what codes are generated by particular keys.

The string in square brackets after a binding group heading below indicates the module that whose configuration file defines these bindings.

### Globally available bindings

- **Mod4+1**

  Switch to object 0 (workspace, full screen client window) within current screen.

- **Mod4+2**

  Switch to object 1 (workspace, full screen client window) within current screen.

- **Mod4+3**

  Switch to object 2 (workspace, full screen client window) within current screen.

- **Mod4+4**

  Switch to object 3 (workspace, full screen client window) within current screen.

- **Mod4+5**

  Switch to object 4 (workspace, full screen client window) within current screen.

- **Mod4+6**

  Switch to object 5 (workspace, full screen client window) within current screen.

- **Mod4+7**

  Switch to object 6 (workspace, full screen client window) within current screen.

- **Mod4+8**

  Switch to object 7 (workspace, full screen client window) within current screen.

- **Mod4+9**

  Switch to object 8 (workspace, full screen client window) within current screen.

- **Mod4+0**

  Switch to object 9 (workspace, full screen client window) within current screen.

- **Mod4+grave**

  Switch to next object (workspace, full screen client window) within current screen.

- **Mod4+Shift+asciitilde**

  Switch to previous object (workspace, full screen client window) within current screen.

- **Mod4+O O**

  Open first region demanding attention or previously active one.

- **Mod4+Shift+1, Mod4+F1**

  Go to screen 0 on multihead setup.

- **Mod4+Shift+2, Mod4+F2**

  Go to screen 1 on multihead setup.

- **Mod4+Shift+3, Mod4+F3**

  Go to screen 2 on multihead setup.

- **Mod4+Shift+4**

  Go to screen 3 on multihead setup.

- **Mod4+Shift+Escape**

  Go to previous screen on multihead setup.

- **Mod4+Escape**

  Go to next screen on multihead setup.

- **Mod4+F9**

  Create a new workspace of chosen default type.

- **F12, Mod4+F12, Button3 press**

  Display the main menu.

- **Button2 press**

  Display the window list menu.

- **Mod4+Tab**

  Forward-circulate focus.

- **Mod4+Shift+Tab**

  Backward-circulate focus.

- **Mod4+Shift+R**

  Raise focused object, if possible.

### Bindings operating on all frames and screens

- **Mod4+C**

  Close current object.

- **Mod4+Shift+D**

  Detach (float) or reattach an object to its previous location.

### Bindings operating on all frames

- **Mod4+H**

  Maximize the frame horizontally.

- **Mod4+V**

  Maximize the frame vertically.

- **Button3 press**

  Display context menu.

- **Mod4+R**

  Begin move/resize mode.

- **Button1 click at tab, Button2 click at tab**

  Switch the frame to display the object indicated by the tab.

- **Button1 drag at border, Mod4+Button3 drag**

  Resize the frame.

- **Mod4+Button1 drag**

  Move the frame.

- **Button1 drag at tab, Button2 drag at tab**

  Move objects between frames by dragging and dropping the tab.

- **Mod4+Caps\_Lock, Mod4+Button4 click**

  Switch to next object within the frame.

- **Mod4+Shift+Caps\_Lock, Mod4+Button5 click**

  Switch to previous object within the frame.

### Bindings operating on top-level (non-transient) frames and screens

- **Mod4+T**

  Toggle tag of current object.

- **Mod4+Shift+T**

  Clear all tags.

- **Mod4+L**

  Lock screen

- **Mod4+Return, F2**

  Run a terminal emulator.

- **Mod4+J**

  Query for command line to execute.

- **Mod4+Shift+J**

  Query for Lua code to execute.

- **Mod4+F4**

  Query for host to connect to with SSH.

- **Mod4+F5**

  Query for file to edit.

- **Mod4+F6**

  Query for file to view.

- **Mod4+F7**

  Query for keybinding.

- **Mod4+Shift+F9**

  Query for workspace to go to or create a new one.

- **Mod4+G**

  Query for a client window to go to.

- **Mod4+M**

  Display context menu.

- **Mod4+Shift+M**

  Query for context menu.

- **Mod4+slash**

  Show Notion 'live docs'.

- **Mod4+Shift+slash**

  Query for manual page to be displayed.

### Bindings operating on top-level (non-transient) frames

- **Mod4+N**

  Attach tagged objects to this frame.

- **Mod4+Shift+N**

  Query for a client window to attach ('nick').

- **Mod4+A**

  Switch to tab 0 in this frame.

- **Mod4+S**

  Switch to tab 1 in this frame.

- **Mod4+D**

  Switch to tab 2 in this frame.

- **Mod4+F**

  Switch to tab 3 in this frame.

- **Mod4+comma**

  Move current tab to the right within the frame.

- **Mod4+period**

  Move current tab to the left within the frame.

- **Mod4+H, Mod4+V**

  Maximize the frame horizontally/vertically.

### Bindings for floating/detached frames

- **Button1 double click at tab**

  Toggle shade mode

- **Button1 press at tab, Button1 press at border, Mod4+Button1 click**

  Raise the frame.

- **Mod4+Button3 click**

  Lower the frame.

- **Button1 drag at tab**

  Move the frame.

- **Mod4+Shift+B**

  Tile frame, if no tiling exists on the workspace

### Bindings for tilings and tiled frames \[mod\_tiling\]

- **Mod4+I**

  Split current into columns.

- **Mod4+Shift+I**

  Split current into rows.

- **Mod4+X**

  Destroy current frame.

- **Mod4+W**

  Go to frame below current frame.

- **Mod4+Shift+W, Mod4+Shift+Button4 click, Mod4+Shift+Button5 click**

  Go to frame above current frame.

### Bindings for client windows

- **Mod4+Shift+L**

  Nudge the client window. This might help with some programs' resizing problems.

- **Mod4+Shift+C**

  Kill client owning the client window.

- **Mod4+Shift+Q**

  Send next key press to the client window. Some programs may not allow this by default.

- **Mod4+Q**

  Toggle client window group full-screen mode

### Move/resize mode bindings

- **Escape**

  Cancel the resize mode.

- **Return**

  End the resize mode.

- **Left, Right, Up, Down, F, B, P, N**

  Grow in specified direction.

- **Shift+Left, Shift+Right, Shift+Up, Shift+Down, Shift+F, Shift+B, Shift+P, Shift+N**

  Shrink in specified direction.

- **Mod4+Left, Mod4+Right, Mod4+Up, Mod4+Down, Mod4+F, Mod4+B, Mod4+P, Mod4+N**

  Move in specified direction.

### Bindings for message boxes and queries \[mod\_query\]

- **Escape, Control+G, Control+C**

  Close the query/message box, not executing bound actions.

- **Control+U, Control+V, Page\_Up, Page\_Down**

  Scroll the message or completions up/down.

### Bindings for editing in queries \[mod\_query\]

These bindings are similar to those of the *[joe(1)](/joe/1.md)* text editor. Cut, copy and paste works in a more conventional manner, though, but the keys are equivalent.

- **Control+F, Control+B, Right, Left**

  Move one character forward/backward.

- **Control+E, Control+A, End, Home**

  Go to end/beginning.

- **Control+X, Control+Z**

  Skip one word forward/backward.

- **Control+D, Delete**

  Delete next character.

- **BackSpace, Control+H**

  Delete previous character.

- **Control+W, Control+O**

  Delete one word forward/backward.

- **Control+J**

  Delete to end of line.

- **Control+Y**

  Delete the whole line.

- **Control+T**

  Transpose characters.

- **Control+P, Control+N, Up, Down, Control+Up, Control+Down**

  Select next/previous (matching) history entry.

- **Button2 click, Control+K C**

  Paste from the clipboard.

- **Control+K B**

  Set mark/begin selection.

- **Control+K Y**

  Cut selection.

- **Control+K K**

  Copy selection.

- **Control+K G**

  Clear mark/cancel selection.

- **Tab, Shift+Tab, Control+Tab**

  Try to complete the entered text or cycle through completions.

- **Control+R, Control+S**

  Complete from history

- **Control+M, Return, KP\_Enter**

  Close the query and execute bound action.

### Bindings for menus \[mod\_menu\]

- **Escape, Control+G, Control+C, Left**

  Close the menu.

- **Return, KP\_Enter, Control+M, Right**

  Activate current menu entry.

- **Control+N, Control+P, Up, Down**

  Select next/previous menu entry.

- **BackSpace**

  Clear the menu's typeahead find buffer.

## FILES AND DIRECTORIES

- **/etc/notion/cfg\_notion.lua**

  System default main configuration files

- **/etc/notion/cfg\_\*.lua**

  Other configuration files.

- **/etc/notion/look\_\*.lua**

  Colour scheme configuration files

- **~/.notion/**

  User configuration files

- **~/.notion/cfg\_notion.lua**

  User default main configuration file (overrides system default)

## SEE ALSO

The Notion home page, *https://notionwm.net/*

The document "Configuring and extending Notion with Lua" found on the Notion home page.

*/usr/share/doc/notion/*

*[X(7x)](/X/7x.md)*, *[notionflux(1)](/notionflux/1.md)*, *[joe(1)](/joe/1.md)*

## AUTHOR

Notion was written by the Notion team, based on Ion which was written by Tuomo Valkonen \<tuomov at iki.fi\>.
