.\" Generated by scdoc 1.11.1 .\" Complete documentation for this program is not available as a GNU info page .ie \n(.g .ds Aq \(aq .el .ds Aq ' .nh .ad l .\" Begin generated content: .TH "foot" "1" "2021-02-13" .P .SH NAME foot - Wayland terminal emulator .P .SH SYNOPSIS \fBfoot\fR [\fIOPTIONS\fR] .br \fBfoot\fR [\fIOPTIONS\fR] <\fIcommand\fR> [\fICOMMAND OPTIONS\fR] .P All trailing (non-option) arguments are treated as a command, and its arguments, to execute (instead of the default shell).\& .P .SH DESCRIPTION .P \fBfoot\fR is a Wayland terminal emulator.\& Running it without arguments will start a new terminal window with your default shell.\& .P You can override the default shell by appending a custom command to the foot command line .P .RS 4 \fBfoot sh -c "echo hello world && sleep 5"\fR .P .RE .SH OPTIONS .P \fB-c\fR,\fB--config\fR=\fIPATH\fR .RS 4 Path to configuration file.\& Default: \fB$XDG_CONFIG_HOME/foot/foot.\&ini\fR.\& .P .RE \fB-C\fR,\fB--check-config\fR .RS 4 Verify configuration and then exit with 0 if ok, otherwise exit with 1.\& .P .RE \fB-f\fR,\fB--font\fR=\fIFONT\fR .RS 4 Comma separated list of fonts to use, in fontconfig format (see \fBFONT FORMAT\fR).\& .P The first font is the primary font.\& The remaining fonts are fallback fonts that will be used whenever a glyph cannot be found in the primary font.\& .P The fallback fonts are searched in the order they appear.\& If a glyph cannot be found in any of the fallback fonts, the dynamic fallback list from fontconfig (for the primary font) is searched.\& .P Default: \fImonospace\fR.\& .P .RE \fB-w\fR,\fB--window-size-pixels\fR=\fIWIDTHxHEIGHT\fR .RS 4 Set initial window width and height, in pixels.\& Default: \fI700x500\fR.\& .P .RE \fB-W\fR,\fB--window-size-chars\fR=\fIWIDTHxHEIGHT\fR .RS 4 Set initial window width and height, in characters.\& Default: \fInot set\fR.\& .P .RE \fB-g\fR,\fB--geometry\fR=\fIWIDTHxHEIGHT\fR .RS 4 Deprecated.\& Alias for \fB-w\fR,\fB--window-size-pixels\fR.\& .P .RE \fB-t\fR,\fB--term\fR=\fITERM\fR .RS 4 Value to set the environment variable \fBTERM\fR to.\& Default: \fIfoot\fR.\& .P .RE \fB-T\fR,\fB--title\fR=\fITITLE\fR .RS 4 Initial window title.\& Default: \fIfoot\fR.\& .P .RE \fB-a\fR,\fB--app-id\fR=\fIID\fR .RS 4 Value to set the \fBapp-id\fR property on the Wayland window to.\& Default: \fIfoot\fR.\& .P .RE \fB-m\fR,\fB--maximized\fR .RS 4 Start in maximized mode.\& If both \fB--maximized\fR and \fB--fullscreen\fR are specified, the \fIlast\fR one takes precedence.\& .P .RE \fB-F\fR,\fB--fullscreen\fR .RS 4 Start in fullscreen mode.\& If both \fB--maximized\fR and \fB--fullscreen\fR are specified, the \fIlast\fR one takes precedence.\& .P .RE \fB--login-shell\fR .RS 4 Start a login shell, by prepending a '-' to argv[0].\& .P .RE \fB-s\fR,\fB--server\fR[=\fIPATH\fR] .RS 4 Run as a server.\& In this mode, a single foot instance hosts multiple terminals (windows).\& Use \fBfootclient\fR(1) to launch new terminals.\& .P This saves some memory since for example fonts and glyph caches can be shared between the terminals.\& .P It also saves upstart time since the config has already been loaded and parsed, and most importantly, fonts have already been loaded (and their glyph caches are likely to already have been populated).\& .P Each terminal will have its own rendering threads, but all Wayland communication, as well as input/output to the shell, is multiplexed in the main thread.\& Thus, this mode might result in slightly worse performance when multiple terminals are under heavy load.\& .P Also be aware that should one terminal crash, it will take all the others with it.\& .P The default path is \fB$XDG_RUNTIME_DIR/foot-$WAYLAND_DISPLAY.\&sock\fR.\& .P If \fB$XDG_RUNTIME_DIR\fR is not set, the default path is instead \fB/tmp/foot.\&sock\fR.\& .P If \fB$XDG_RUNTIME_DIR\fR is set, but \fB$WAYLAND_DISPLAY\fR is not, the default path is \fB$XDG_RUNTIME_DIR/foot.\&sock\fR.\& .P Note that if you change the default, you will also need to use the \fB--server-socket\fR option in \fBfootclient\fR(1) and point it to your custom socket path.\& .P .RE \fB-H\fR,\fB--hold\fR .RS 4 Remain open after child process exits.\& .P .RE \fB-p\fR,\fB--print-pid\fR=\fIFILE\fR|\fIFD\fR .RS 4 Print PID to this file, or FD, when successfully started.\& The file (or FD) is closed immediately after writing the PID.\& When a \fIFILE\fR as been specified, the file is unlinked at exit.\& .P This option can only be used in combination with \fB-s\fR,\fB--server\fR.\& .P .RE \fB-l\fR,\fB--log-colorize\fR=[{\fBnever\fR,\fBalways\fR,\fBauto\fR}] .RS 4 Enables or disables colorization of log output on stderr.\& Default: \fIauto\fR.\& .P .RE \fB-S\fR,\fB--log-no-syslog\fR .RS 4 Disables syslog logging.\& Logging is only done on stderr.\& This option can only be used in combination with \fB-s\fR,\fB--server\fR.\& .P .RE \fB-v\fR,\fB--version\fR .RS 4 Show the version number and quit.\& .P .RE .SH KEYBOARD SHORTCUTS .P The following keyboard shortcuts are available.\& .P .SS NORMAL MODE .P Note that these are just the defaults; they can be changed in \fBfoot.\&ini(5)\fR.\& .P \fBshift\fR+\fBpage up\fR/\fBpage down\fR .RS 4 Scroll up/down in history .P .RE \fBctrl\fR+\fBshift\fR+\fBc\fR .RS 4 Copy selected text to the \fIclipboard\fR .P .RE \fBctrl\fR+\fBshift\fR+\fBv\fR .RS 4 Paste from \fIclipboard\fR .P .RE \fBshift\fR+\fBinsert\fR .RS 4 Paste from the \fIprimary selection\fR.\& .P .RE \fBctrl\fR+\fBshift\fR+\fBr\fR .RS 4 Start a scrollback search .P .RE \fBctrl\fR+\fB+\fR, \fBctrl\fR+\fB=\fR .RS 4 Increase font size by 1pt .P .RE \fBctrl\fR+\fB-\fR .RS 4 Decrease font size by 1pt .P .RE \fBctrl\fR+\fB0\fR .RS 4 Reset font size .P .RE \fBctrl\fR+\fBshift\fR+\fBn\fR .RS 4 Spawn a new terminal.\& If the shell has been configured to emit the \fIOSC 7\fR escape sequence, the new terminal will start in the current working directory.\& .P .RE .SS SCROLLBACK SEARCH .P \fBctrl\fR+\fBr\fR .RS 4 Search \fIbackward\fR for the next match .P .RE \fBctrl\fR+\fBs\fR .RS 4 Search \fIforward\fR for the next match .P .RE \fBctrl\fR+\fBw\fR .RS 4 Extend current selection (and thus the search criteria) to the end of the word, or the next word if currently at a word separating character.\& .P .RE \fBctrl\fR+\fBshift\fR+\fBw\fR .RS 4 Same as \fBctrl\fR+\fBw\fR, except that the only word separating characters are whitespace characters.\& .P .RE \fBctrl\fR+\fBv\fR, \fBctrl\fR+\fBy\fR .RS 4 Paste from clipboard into the searh buffer.\& .P .RE \fBshift\fR+\fBinsert\fR .RS 4 Paste from primary selection into the search buffer.\& .P .RE \fBescape\fR, \fBctrl\fR+\fBg\fR .RS 4 Cancel the search .P .RE \fBreturn\fR .RS 4 Finish the search and copy the current match to the primary selection.\& The terminal selection is kept, allowing you to press \fBctrl\fR+\fBshift\fR+\fBc\fR to copy it to the clipboard.\& .P .RE .SH MOUSE SHORTCUTS .P \fBleft\fR, single-click .RS 4 Drag to select; when released, the selected text is copied to the \fIprimary\fR selection.\& This feature is normally \fBdisabled\fR whenever the client has enabled \fImouse tracking\fR, but can be forced by holding \fBshift\fR.\& .P Holding \fBctrl\fR will create a block selection.\& .P .RE \fBleft\fR, double-click .RS 4 Selects the \fIword\fR (separated by spaces, period, comma, parenthesis etc) under the pointer.\& Hold \fBctrl\fR to select everything under the pointer up to, and until, the next space characters.\& .P .RE \fBleft\fR, triple-click .RS 4 Selects the entire row .P .RE \fBmiddle\fR .RS 4 Paste from the \fIprimary\fR selection .P .RE \fBright\fR .RS 4 Extend current selection.\& Clicking immediately extends the selection, while hold-and-drag allows you to interactively resize the selection.\& .P .RE \fBwheel\fR .RS 4 Scroll up/down in history .P .RE .SH FONT FORMAT .P The font is specified in FontConfig syntax.\& That is, a colon-separated list of font name and font options.\& .P \fIExamples\fR: .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Dina:weight=bold:slant=italic .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Courier New:size=12 .RE .P .SH ALT/META CHARACTERS .P By default, foot prefixes meta characters with \fBESC\fR.\& This corresponds to XTerm's \fBmetaSendsEscape\fR option set to \fBtrue\fR.\& .P This can be disabled programmatically with \fBE[?\&1036l\fR (and enabled again with \fBE[?\&1036h\fR).\& .P When disabled, foot will instead set the 8:th bit of meta character and then UTF-8 encode it.\& This corresponds to XTerm's \fBeightBitMeta\fR option set to \fBtrue\fR.\& .P This can also be disabled programmatically with \fBrmm\fR (Reset Meta Mode, \fBE[?\&1034l\fR), and enabled again with \fBsmm\fR (Set Meta Mode, \fBE[?\&1034h\fR).\& .P .SH BACKSPACE .P Foot transmits DEL (\fB^?\&\fR) on backspace.\& This corresponds to XTerm's \fBbackarrowKey\fR option set to \fBfalse\fR, and to DECBKM being \fIreset\fR.\& .P To instead transmit BS (\fB^H\fR), press \fBctrl\fR+\fBbackspace\fR.\& .P Note that foot does \fBnot\fR implement DECBKM, and that the behavior described above \fBcannot\fR be changed.\& .P Finally, pressing \fBalt\fR will prefix the transmitted byte with ESC.\& .P .SH KEYPAD .P By default, \fBNum Lock\fR overrides the run-time configuration keypad mode; when active, the keypad is always considered to be in \fInumerical\fR mode.\& This corresponds to XTerm's \fBnumLock\fR option set to \fBtrue\fR.\& .P In this mode, the keypad keys always sends either numbers (Num Lock is active) or cursor movement keys (up, down, left, right, page up, page down etc).\& .P This can be disabled programmatically with \fBE[?\&1035l\fR (and enabled again with \fBE[?\&1035h\fR).\& .P When disabled, the keypad sends custom escape sequences instead of numbers, when in \fIapplication\fR mode.\& .P .SH CONFIGURATION .P See \fBfoot.\&ini\fR(5) .P .SH BUGS .P Please report bugs to https://codeberg.\&org/dnkl/foot/issues .P The report should contain the following: .P .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Which Wayland compositor (and version) you are running .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Foot version (\fBfoot --version\fR) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Log output from foot (start foot from another terminal) .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} If reporting a crash, please try to provide a \fBbt full\fR backtrace with symbols .RE .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .IP \(bu 4 .\} Steps to reproduce.\& The more details the better .RE .P .SH IRC .P #foot-terminal on chat.\&freenode.\&net .P .SH SEE ALSO .P \fBfoot.\&ini\fR(5), \fBfootclient\fR(1)