207 lines
9.4 KiB
Markdown
207 lines
9.4 KiB
Markdown
# Shortcuts and gestures
|
||
|
||
`Super` is usually the Windows key. These are the built-in defaults. Open
|
||
**Settings → Shortcuts** to change bindings and gestures or disable the login
|
||
guide. Your saved bindings can override these defaults.
|
||
The [example config](../packaging/config.kdl) adds the app, media and arrow-key
|
||
shortcuts listed below.
|
||
|
||
## Edit bindings in Settings
|
||
|
||
Choose **Add shortcut**, record the combination, then search for an action. Recording temporarily inhibits Ferese shortcuts after the compositor confirms the inhibition; Escape, focus loss, leaving the page or the 15-second timeout releases it. A key menu with modifier buttons is also available for combinations reserved by a host desktop. Mouse buttons, wheel directions and three-, four- or five-finger swipes use the same editor.
|
||
|
||
The editor provides action-specific arguments and an application command field. Commands are parsed into an argument vector; no shell is invoked. Adding an existing custom combination updates that binding; editing another binding into a duplicate reports a conflict. Changes apply globally. A physical-key binding retains its matching mode when only its action changes; recording or choosing a new key switches to key-label matching.
|
||
|
||
## Launcher
|
||
|
||
**Super + Space** opens the launcher. Type to search, press **Tab** to accept
|
||
completion, or **Enter** to open the selected match. **Down** shows alternatives.
|
||
The **Apps**, **Files** and **Windows** tiles browse each source separately.
|
||
|
||
**Escape** clears the query, returns from a browse view, then closes the launcher,
|
||
one step per press. In Windows, **Alt + Enter** moves the selected window to the
|
||
current workspace. Power off, restart and logout also require **Alt + Enter**.
|
||
|
||
Run `feresectl launcher toggle` to open or close it from a script.
|
||
|
||
## Move and resize with the mouse
|
||
|
||
| Action | Result |
|
||
| --- | --- |
|
||
| Super + left-button drag | Move a floating or tiled window |
|
||
| Super + right-button drag | Resize the edge or corner selected by the starting 3×3 region |
|
||
| Right-click while moving | Switch the drop between floating and tiled |
|
||
| Escape during a drag | Cancel the move or resize |
|
||
| Hold Shift during a move or resize | Bypass edge snapping |
|
||
| Super + Shift + Space | Switch the focused window between tiled and floating |
|
||
|
||
You can drag from inside the window; a title bar or resize border is not required.
|
||
Drop a tiled window beside another window to reorder it, or in its center to
|
||
join a tab group. Drag across monitors to move to the workspace shown there.
|
||
Scroll or hold at a horizontal screen edge to reach more scrolling columns.
|
||
The central resize region selects the nearest corner. Floating windows snap to
|
||
nearby edges; continuing to drag beyond 20 logical pixels releases the snap.
|
||
|
||
## Focus, move, and resize
|
||
|
||
`H`, `J`, `K`, and `L` mean left, down, up, and right.
|
||
|
||
| Shortcut | Action |
|
||
| --- | --- |
|
||
| Super + H / J / K / L | Focus in that direction |
|
||
| Super + Backspace | Return to the last focused window, including on another workspace or monitor |
|
||
| Alt + Tab | Preview recent windows in focus order |
|
||
| Alt + Shift + Tab | Preview recent windows in reverse focus order |
|
||
| Super + Shift + H / J / K / L | Move the focused window in that direction |
|
||
| Super + Ctrl + H / J / K / L | Resize in that direction |
|
||
| Super + Q | Close the focused window |
|
||
| Super + F | Maximize or restore the window |
|
||
| Super + Shift + F | Enter or leave fullscreen |
|
||
|
||
Maximize fills the available workspace. Fullscreen also hides the bar and window
|
||
decorations.
|
||
|
||
Keep Alt held to cycle through recent windows. Release Alt to select the previewed
|
||
window, or press Escape to cancel. Repeating Super + Backspace toggles between the
|
||
two most recently focused windows.
|
||
|
||
## Columns and layouts
|
||
|
||
| Shortcut | Action |
|
||
| --- | --- |
|
||
| Super + R | Cycle column width |
|
||
| Super + C | Center the focused column |
|
||
| Super + [ | Join a neighbouring column or tree tab group |
|
||
| Super + ] | Leave the column or tree tab group |
|
||
| Super + Ctrl + [ / ] | Previous / next tab in a group |
|
||
| Super + Shift + T | Toggle a scrolling column between stacked rows and tabs |
|
||
| Super + M | Switch scrolling / tree layout |
|
||
| Super + Tab | Open or close overview |
|
||
|
||
In scrolling mode, **Super + [** uses the left neighbour when available, otherwise
|
||
the right. Try it with two terminals to place them vertically in one column.
|
||
**Super + ]** separates the focused window again. **Super + Shift + T** changes
|
||
the column to tabs or restores its stacked rows. In tabbed columns, **Super + J/K**
|
||
switches tabs; the usual left/right focus keys still switch columns.
|
||
|
||
In tree mode, **Super + [** joins the focused window to a neighbouring window
|
||
as a tab. Click a title in the tab bar or use **Super + Ctrl + [ / ]** to switch
|
||
tabs. **Super + ]** splits the focused tab out beside the group. For a specific
|
||
neighbour, bind `join-tab` with a direction; see [Tabbed windows](tabbed-windows.md).
|
||
|
||
In overview, select a workspace to see its windows, then click the window you
|
||
want. Directional focus keys move selection; Enter activates it and Escape closes
|
||
overview.
|
||
|
||
## Workspaces
|
||
|
||
| Shortcut | Action |
|
||
| --- | --- |
|
||
| Super + 1–9 | Switch to that workspace |
|
||
| Super + Shift + 1–9 | Move the window to that workspace |
|
||
| Super + Escape | Toggle between the last two visited workspaces on this monitor |
|
||
|
||
Workspaces are created as needed and numbered separately on each monitor.
|
||
Workspace shortcuts select a workspace on the focused monitor.
|
||
|
||
To make pressing the current workspace's shortcut toggle back too, enable
|
||
**Settings → Windows → Toggle back with the same workspace shortcut**. It is off
|
||
by default. The action can also be bound as `workspace-back-and-forth` or run with
|
||
`feresectl workspace-back-and-forth`.
|
||
|
||
## Desktop actions
|
||
|
||
| Shortcut | Action |
|
||
| --- | --- |
|
||
| Super + Enter | Open the configured terminal (`foot` by default) |
|
||
| Print Screen | Capture the active monitor and open Satty |
|
||
| Super + Shift + S | Select a screenshot area and open Satty |
|
||
| Super + Shift + E | Ask to log out |
|
||
| Super + F1 | Open or close the shortcut hint |
|
||
| Display Fn key (`XF86Display`) | Open or close the display-mode chooser |
|
||
|
||
Super + F1 works even when the guide at login is disabled. It opens on the
|
||
focused monitor. Bind `toggle-keybinding-guide` to change the shortcut, or run
|
||
`feresectl toggle-keybinding-guide`.
|
||
|
||
The display icon appears in the bar when an external monitor is connected,
|
||
including when that monitor is disabled or mirrored. Click it to choose Internal
|
||
only, External only, Extend or Mirror. Arrow keys or 1–4 select a mode; Enter
|
||
applies it. Tab moves between controls and Escape cancels. After applying, choose
|
||
Keep before the confirmation timeout or Revert to restore the last confirmed
|
||
configuration. Bind `toggle-display-mode` if your keyboard uses another key.
|
||
|
||
In Satty, Enter saves the edited screenshot and copies it to the clipboard;
|
||
Escape discards it. See [Configuration](configuration/bindings.md#commands-and-bindings)
|
||
for dependencies and custom screenshot commands.
|
||
|
||
## Touchpad gestures
|
||
|
||
| Three-finger swipe | Action on release |
|
||
| --- | --- |
|
||
| Up / down | Drag to the next / previous workspace on this monitor; release to settle |
|
||
| Left / right | Drag the window row; release to focus the window to the right / left |
|
||
|
||
Short or cancelled navigation swipes slide back. Diagonal swipes do not navigate.
|
||
Gestures can use the same actions
|
||
as keyboard bindings, including overview or moving a window. Four- and five-finger
|
||
bindings are supported too.
|
||
|
||
## Reserved and context controls
|
||
|
||
These controls are handled by the compositor rather than configurable bindings.
|
||
|
||
| Control | Action |
|
||
| --- | --- |
|
||
| Enter in overview | Activate the selected window |
|
||
| Escape in overview | Close overview |
|
||
| Escape during Alt + Tab | Cancel the preview without changing focus |
|
||
| Release Alt during Alt + Tab | Focus the previewed window |
|
||
| Ctrl + Alt + Escape | Release an active shortcut inhibitor or input-capture session |
|
||
| Ctrl + Alt + F1–F12 | Switch virtual terminals in a direct session |
|
||
|
||
Virtual-terminal switching is unavailable in nested previews.
|
||
|
||
## Example-config shortcuts
|
||
|
||
The [example config](../packaging/config.kdl) adds these to the built-in defaults.
|
||
App and hardware controls require their configured programs to be installed.
|
||
|
||
| Shortcut | Action |
|
||
| --- | --- |
|
||
| Super + B | Open Firefox |
|
||
| Super + Z | Open Zed |
|
||
| Super + Alt + L | Lock with `ferese-lock` |
|
||
| Super + Left / Down / Up / Right | Focus in that direction |
|
||
| Super + Ctrl + Left / Down / Up / Right | Move the focused window in that direction |
|
||
| Super + Alt + Left / Down / Up / Right | Resize in that direction |
|
||
| Brightness up / down | Adjust brightness with `brightnessctl` |
|
||
| Volume up / down | Adjust volume with `wpctl` |
|
||
| Audio mute | Toggle output mute with `wpctl` |
|
||
| Microphone mute | Toggle microphone mute with `wpctl` |
|
||
|
||
## Add a shortcut
|
||
|
||
For example, bind a lock command and use a swipe to open overview:
|
||
|
||
```kdl
|
||
commands {
|
||
lock "ferese-lock"
|
||
}
|
||
binding "Super+Alt+L" "spawn" "lock"
|
||
binding "Swipe3Up" "toggle-overview"
|
||
```
|
||
|
||
These are examples, not defaults. To disable a built-in binding:
|
||
|
||
```kdl
|
||
binding "Super+Q" disabled=#true
|
||
```
|
||
|
||
See [Commands and bindings](configuration/bindings.md#commands-and-bindings) for action
|
||
names, arguments, and physical-key matching.
|
||
|
||
In scrolling columns, hover over the left-edge tab indicator for window titles.
|
||
Click a segment or title to switch tabs. Keyboard tab switching briefly shows the
|
||
selected tab number and title without opening the list.
|