Keybindings Reference
Complete keyboard reference for Railroad OS. All operations are accessible via keybindings with zero mouse required.
Mod = Super/Windows key | Mod1 = Alt key
Quick Reference Card
Most frequently used commands for daily workflow
Terminal Focus
Session Management
Quick Actions
Emergency
Terminal Focus (Function Keys)
Direct access to Claude Code terminals and utility windows. Terminals display title bars with <project>[<branch>] #N showing the project name, git branch, and terminal number.
| Key | Action | Description |
|---|---|---|
| Mod+F1 | Focus Claude #1 | First Claude terminal |
| Mod+F2 | Focus Claude #2 | Second Claude terminal |
| Mod+F3 | Focus Claude #3 | Third Claude terminal |
| Mod+F4 | Focus Claude #4 | Fourth Claude terminal |
| Mod+F5 | Focus Claude #5 | Fifth Claude terminal |
| Mod+F6 | Focus Claude #6 | Reserved (manual use only) |
| Mod+F7 | Focus Ranger | File manager utility |
| Mod+F8 | Focus Docker | Docker container monitor |
| Mod+F9 | Focus Metrics | System metrics display |
| Mod+F10 | Focus Terminal | Command terminal utility |
Navigation & Focus
| Key | Action | Description |
|---|---|---|
| Mod+Tab | Next Claude Terminal | Cycle forward through Claude-marked windows |
| Mod+Shift+Tab | Previous Claude Terminal | Cycle backward through Claude-marked windows |
| Mod+` | Toggle Last Window | Switch to previously focused window (backtick key) |
| Mod+j/k/l/; | Focus Direction | Focus left/down/up/right |
| Mod+Arrow | Focus Direction | Focus using arrow keys |
Window Movement
| Key | Action | Description |
|---|---|---|
| Mod+Shift+Ctrl+Alt+h | Move Left | Swap window with left neighbor |
| Mod+Shift+Ctrl+Alt+j | Move Down | Swap window with bottom neighbor |
| Mod+Shift+Ctrl+Alt+k | Move Up | Swap window with top neighbor |
| Mod+Shift+Ctrl+Alt+l | Move Right | Swap window with right neighbor |
| Mod+Shift+j/k/l/; | Standard Move | Move using standard i3 bindings |
| Mod+Shift+Arrow | Standard Move | Move using arrow keys |
Window Resizing
Quick 4K Resize (100px increments)
| Key | Action | Description |
|---|---|---|
| Mod+Ctrl+Alt+h | Shrink Width | Make window narrower |
| Mod+Ctrl+Alt+l | Grow Width | Make window wider |
| Mod+Ctrl+Alt+j | Grow Height | Make window taller |
| Mod+Ctrl+Alt+k | Shrink Height | Make window shorter |
| Mod+Ctrl+Alt+Arrow | Resize | Arrow key alternatives |
Standard Resize Mode (10px increments)
Press Mod+r to enter resize mode, then use the following keys. Exit with Esc, Enter, or Mod+r.
| Key | Action |
|---|---|
| j / Left | Shrink width |
| ; / Right | Grow width |
| k / Down | Grow height |
| l / Up | Shrink height |
Layout Control
| Key | Action | Description |
|---|---|---|
| Mod+Shift+h | Split Horizontal | Next window opens to the right |
| Mod+v | Split Vertical | Next window opens below |
| Mod+s | Stacking Layout | Windows stack vertically |
| Mod+w | Tabbed Layout | Windows appear as tabs |
| Mod+e | Toggle Split | Toggle between horizontal/vertical split |
| Mod+f | Fullscreen | Toggle fullscreen mode |
Window State
| Key | Action | Description |
|---|---|---|
| Mod+Shift+t | Float Toggle | Switch between tiling/floating |
| Mod+Ctrl+s | Sticky Toggle | Pin window to all workspaces |
| Mod+Shift+q | Kill Window | Close focused window |
| Mod+space | Focus Mode Toggle | Switch focus between tiling/floating |
Workspace Management
| Key | Action | Description |
|---|---|---|
| Mod+1 to Mod+0 | Switch Workspace | Go to workspace 1-10 |
| Mod+Ctrl+w | Railroad Workspace | Go to dedicated Railroad command center |
| Mod+Shift+1 to Mod+Shift+0 | Move to Workspace | Move window to workspace 1-10 |
| Mod+Shift+Ctrl+0 | Move to Railroad | Move window to Railroad workspace |
Default Workspaces
- 1: term - Terminal workspace
- 2: code - Code editors (Cursor, VS Code)
- 3: web - Web browsers
- 4: slack - Slack messaging
- 5: chat - Communication apps
- 6: media - Media applications
- 7: misc - Miscellaneous
- W: railroad - Railroad command center
Application Launchers
| Key | Action | Description |
|---|---|---|
| Mod+Return | Terminal | Launch Alacritty terminal |
| Mod+Shift+Return | Terminal | Launch Alacritty terminal (alternate) |
| Mod+d | Application Launcher | Launch dmenu |
| Mod+c | Code Editor | Launch Cursor/VSCode |
| Mod+Shift+w | Web Browser | Launch Chrome/Firefox |
| Mod+Shift+f | File Manager | Launch Nautilus |
| Mod+Ctrl+c | Claude Terminal | Launch single Claude Code terminal |
| Mod+Ctrl+a | Add Terminals | Add Claude terminals to existing session |
| Mod+Shift+s | Railroad Session | Launch multi-project development session |
Scratchpad
| Key | Action | Description |
|---|---|---|
| Mod+Shift+minus | Move to Scratchpad | Send focused window to scratchpad |
| Mod+minus | Show Scratchpad | Toggle scratchpad visibility |
Quick Focus
| Key | Action | Description |
|---|---|---|
| Mod+b | Focus Browser | Jump to Chrome/Firefox/Brave window |
Help
| Key | Action | Description |
|---|---|---|
| Mod+h | Search Hotkeys | Open searchable keybinding reference (type to filter, arrows to scroll) |
System Control
| Key | Action | Description |
|---|---|---|
| Mod+Shift+c | Reload Config | Reload i3 configuration |
| Mod+Shift+r | Restart i3 | Restart i3 in-place |
| Mod+Shift+e | Exit i3 | Show exit confirmation |
Media Keys
| Key | Action |
|---|---|
| XF86AudioRaiseVolume | Volume up (+10%) |
| XF86AudioLowerVolume | Volume down (-10%) |
| XF86AudioMute | Toggle mute |
| XF86AudioMicMute | Toggle microphone mute |
Tips & Best Practices
Keyboard-Only Workflow
- Start session: Mod+Shift+s to launch the multi-project picker
- Select projects: Choose one or more repos and assign terminal counts (up to 5 total)
- Navigate: Use Mod+F1 through Mod+F5 for direct access by number
- Cycle terminals: Mod+Tab / Mod+Shift+Tab
- Identify context: Each terminal title bar shows
<project>[<branch>] #N - Discover bindings: Press Mod+h to search all hotkeys by name
Terminal Numbering
Terminals are numbered sequentially (1-5) across all selected projects. For example, selecting pinpoint with 3 terminals and railroad with 2 yields:
- F1: pinpoint[main] #1
- F2: pinpoint[main] #2
- F3: pinpoint[main] #3
- F4: railroad[feature/xyz] #4
- F5: railroad[feature/xyz] #5
Dynamic Layout
Terminals resize proportionally when added or removed:
- 5 terminals: each gets approximately 20% width
- 3 terminals: each gets approximately 33% width
- 2 terminals: each gets approximately 50% width
The utility row (ranger, docker, metrics) remains fixed at 30% height.
4K Display Optimization
- Standard resize mode (Mod+r) uses 10px increments - too small for 4K
- Quick resize (Mod+Ctrl+Alt+hjkl) uses 100px increments - better for 4K
- Use arrow key alternatives if Vim hjkl feels awkward
Focus Management
- Mod+` (backtick) toggles between current and last window - fastest way to compare
- Mod+Tab cycles only through Claude-marked terminals, ignoring utilities
- Standard Mod+space toggles between tiling/floating layer
Conflict Resolutions
The following bindings were modified to avoid conflicts with standard i3 configuration:
Original conflict: Mod+Shift+f launches Nautilus file manager
Original conflict: Mod+Shift+s is stacking layout mode
Avoids potential conflicts and provides clear separation from standard resize mode
Maximum modifier combination to avoid any standard i3 binding conflicts
Mod+h reassigned to searchable hotkey reference for discoverability
Configuration Files
Main config: ~/.config/i3/config
Source of truth: code/installer/i3/install.sh (heredoc)
To apply changes: Mod+Shift+c (reload) or Mod+Shift+r (restart)