3 spft - simple proportional-font terminal
12 .RB [ working-directory:
19 Keyword-style arguments can also be given with the traditional double-dash syntax
20 (eg. "--title" instead of "title:").
24 is a simple terminal emulator that supports proportional (that is, non-monospace) fonts.
28 .B Shift-PageUp, Shift-PageDown
29 Scroll up and down in the history.
32 Re-read the settings file and immediately use the new settings.
34 .B Alt-Plus, Alt-Minus
38 spft can be configured using the \(lq$XDG_CONFIG_HOME/spft/settings\(rq file
39 (\(lq~/.config/spft/settings\(rq by default). In this file, \(lq#\(rq
40 introduces a comment that runs to the end of the line. Everything else is a
41 series of settings, in the form
45 These settings can optionally be separated by commas or semicolons, but this is not necessary.
46 For settings that use a string value, the string must be enclosed in double or single quotes.
47 For settings that use a boolean value, the setting must be either "true" or "false" (without quotes).
50 A string representing the font to use, in the FontConfig format. See
51 <https://www.freedesktop.org/software/fontconfig/fontconfig-user.html#AEN36>.
54 If this is set (not empty), it's a string representing the font to use for the
55 DEC Line Drawing characters. You can set this if your main font doesn't
56 include the Unicode box-drawing characters.
58 .B default_foreground_color, default_background_color
59 Numbers representing these colors. Small numbers are ANSI colors, so if you
60 want to change to a dark theme, you can use \(lqdefault_foreground_color = 15,
61 default_background_color = 0\(rq. Numbers with the high bit set are RGB colors
62 in the form 0x80rrggbb.
65 A string that becomes the $TERM. Defaults to \(lqxterm\(rq.
67 .B average_character_width
68 A floating-point number representing an estimate of the width of the average
69 character used in the font, as a fraction of the width of the capital
70 \(lqM\(rq. So it should usually be between 0.0 and 1.0.
71 This affects how many columns programs think they have available. If this is
72 too large, you'll have a lot of unused space on the right side of the window.
73 If it's too small, you can have characters (and even the cursor) running off
74 the right edge of the screen where you can't see them.
77 The maximum time, in milliseconds, for two clicks to be considered a double- or
80 .B word_separator_characters, additional_word_separator_characters
81 When double-clicking to select word-by-word, these are the characters that
82 considered not to be part of a word. You can entirely replace the defaults by
83 setting \(lqword_separator_characters\(rq, or add to them by setting
84 \(lqadditional_word_separator_characters\(rq.
87 The title of the window.
90 The tab width for tab-stop (that is, non-elastic) tabs, in pixels.
93 The space between columns when using elastic tabs, in pixels.
95 .B synthetic_tab_spaces
96 Imagine you're editing a file in Vim. Even if the lines in your file are
97 indented using tabs, Vim will use some number of spaces (based on its 'tabstop'
98 setting) to show them on the screen, because it thinks of the screen as a grid
99 of characters. If \(lqsynthetic_tab_spaces\(rq is greater than zero, spft will
100 treat that number of spaces at the beginning of a line as a \(lqsynthetic
101 tab\(rq, and display them as being \(lqtab_width\(rq pixels wide (by widening
102 the last space). Set \(lqsynthetic_tab_spaces\(rq to the same value as
103 Vim's 'tabstop' and 'shiftwidth' settings to have indentation show up the way
104 you like it based on how you set \(lqtab_width\(rq. Defaults to zero, meaning
105 \(lqsynthetic tabs\(rq are disabled.
108 The window geometry, as per
109 .BR XParseGeometry (3).
110 Note that the width and height units are (approximate) columns and lines, like
111 other terminal programs, not pixels.
114 The window border (if any), in pixels.
117 A boolean indicating whether "auto-wrap" defaults to being on or off. If not
118 specified, this defaults to being on, because readline (and hence bash) assumes
119 that auto-wrap is on without explicitly sending the code to turn it on.
121 .B font_size_increment
122 A floating-point number indicating how much to increment or decrement the font
123 size (in pixels) when using the Alt-Plus or Alt-Minus keys.
127 spft supports elastic tabs, enabled by a pair of non-standard "DEC Private
128 Mode" escape sequences. "\\x1B[?5001h" signals that the current cursor line
129 starts group of lines with elastic tabs. "\\x1B[?5001l" ends that group of
130 lines; the current cursor line will not be part of it. There are also expanded
131 versions of these: "\\x1B[?5002;Nh", where N is the number of columns that will
132 be right-justified; and "\\x1B?5002;1l" which ends the group, but includes the
133 line with the cursor (useful if you're right-justifying columns in a single