Home
Daniel Eklöf edited this page 2025-12-28 12:19:14 +01:00

Page revisions

108 Commits

Author SHA1 Message Date
Daniel Eklöf
2475351ace
emacs-29.1 automatically recognizes foot as an xterm compatible terminal 2025-12-28 12:19:14 +01:00
Daniel Eklöf
1c1ccbc1d9
typo: XXTerm -> XTerm 2025-12-28 12:12:05 +01:00
Daniel Eklöf
e9055a3566
emacs: clipboard integration 2025-12-28 12:10:32 +01:00
Daniel Eklöf
5f204754b2
typo: 25-bit -> 24-bit 2025-11-12 11:44:19 +01:00
codyfree
6c73717e1e
Dynamic color changes: add an example of auto-switching 2025-09-13 10:25:33 +02:00
codyfree
f38147edbb
Dynamic color changes: document how to toggle themes using signals 2025-09-13 09:25:19 +02:00
Daniel Eklöf
4127353378
how do I reload the configuration?
You don't
2025-09-06 10:33:18 +02:00
Daniel Eklöf
d32aab79ed
dynamic color changes: mention builtin support for theme switching 2025-09-06 10:32:54 +02:00
sewn
877aba3ba2
fix posix sh spaces and use local
fixes spaces in folders, and still allows characters like 1 to be
interpreted as %31.

most interactive shells have local. if not, then a change to use
unset is necessary, which won't be likely.
2025-03-23 17:01:45 +01:00
Johannes Altmanninger
6a8d00d49a
home: ctrl-l in fish 4.1 already scrolls content
The next version of fish will scroll instead of clearing the screen on ctrl-l,
see "fish -ic 'bind ctrl-l" output.
2025-03-21 13:55:45 +01:00
Daniel Eklöf
fd5c21e8ed
cwd: fish: only emit OSC-7 if shell is interactive
Closes #https://codeberg.org/dnkl/foot/issues/1906
2025-01-09 08:22:58 +01:00
Daniel Eklöf
170fb1cdbe
home: fish: update instructions for OSC-7
Patch by Johannes Altmanninger
2024-12-22 07:14:54 +01:00
Daniel Eklöf
adca52249d
home: terminfo capabilities: add Setulc+Su to ncurses diff 2024-12-22 07:14:02 +01:00
Daniel Eklöf
b57489e298
home: OSC-7: bash: handle trailing ';'
See https://codeberg.org/dnkl/foot/issues/1824
2024-09-05 08:34:03 +02:00
Daniel Eklöf
507a995f01
troubleshooting: pixelsize in fonts.conf: forgot to add "append" 2024-08-14 12:55:14 +02:00
Daniel Eklöf
b032a1d9d5
troubleshooting: pixelsize in fonts.conf 2024-08-14 12:54:20 +02:00
choc
9ecddac3d2
home: fix unset,encoder in posix sh osc7_cd func
This fixes a typo in unset unsetting the wrong variable.
The `encoded` variable is used throughout but was not unset at the end,
instead an unused `decoded` variable was being unset.

This also fixes an issue in the encoder where it would parse characters
as number values (char "1" -> ascii 0x1). special characters would fail
and be interpreted as 0x0, so paths containing special characters would
be encoded incorrectly and prevent the osc7 functionality from working.
Prepend a single quote to the character for printf to interpret the raw
character value instead.
2024-06-12 20:23:50 +02:00
Daniel Eklöf
52d8c97bc6
home: add link to OSC-133::POSIX sh from index 2024-02-23 17:44:28 +01:00
sewn
69a59fe6b6
add POSIX sh for OSC7 2024-02-23 17:43:03 +01:00
Daniel Eklöf
3038853b42
Don't use fancy Unicode quotes, stick to ASCII 2024-02-06 12:37:17 +01:00
Daniel Eklöf
290cc8d2d0
shell integration: piping last command's output 2024-02-06 12:24:53 +01:00
Daniel Eklöf
629ed2db5c
home: bugs: run ‘foot -d info’, for log output 2023-07-14 16:05:16 +02:00
Daniel Eklöf
d571d53433
home: faq: how do I modify the wiki? 2023-07-14 16:04:23 +02:00
Daniel Eklöf
2a36d76ba2
home: troubleshooting: ctrl+shift+u isn’t working 2023-07-14 16:00:15 +02:00
Daniel Eklöf
d27598dd18
clear-screen: zsh: add alternative implementation
As it turns out, the listed scroll-top widget is unfortunately not
sufficient in all cases — specifically with lines in the prebuffer
context that are long enough to wrap in the terminal.

I've tried really hard to make it correct in all cases, but I'm just
not sure at this point. There is a penalty for overscrolling using the
escape sequence, in that overscrolled lines are duplicated in the
scrollback and that the prompt is not reset atomically.

So I'd like to offer two potential implementations, similar to the
bash snippet. The first uses the same strategy as bash's second
suggestion, by printing a string of newlines. This fortunately works
perfectly in the common case with a single (possibly multiline)
buffer, but fails to preserve the prebuffer context when present.

The second suggestion is the same as before, using the scroll and
cursor-up escapes, and it tries to calculate the necessary scroll. In
the case of wrapped lines in the prebuffer I cannot think of an easy
way to calculate the necessary scroll exactly (if you can, please let
me know). As a compromise, the calculated OFFSET is always an
underestimate since it does not account for any line wrapping, and as
a result we can arrive at the correct state with one additional zle
redisplay to restore the prompt. In this case we suffer the penalty
for overscrolling already mentioned, but c'est la vie.

A combination of these could even be used to get the best behavior in
all cases (but still imperfect in case of wrapper prebuffer lines) by
conditioning on the presence of PREBUFFER, but that is an exercise
left to the reader.

If anyone has suggestions to improve this my inbox is open. Even if we
need to patch zsh I think we can make it happen.

(patch by @brocellous)
2023-07-09 09:54:24 +02:00
Daniel Eklöf
028d2e1ca8
osc7: zsh: performance optimizations
Closes #1395
2023-07-03 10:19:03 +02:00
Daniel Eklöf
26388edf1b
VTE-style scrolling: improved zsh implementation
* Improved zsh implementation of ‘clear-screen’, that does not
  overscroll.
* Move alternative for-loop under the ‘bash’ section, since it no
  longer applies to zsh

Closes #1394
2023-07-03 10:01:33 +02:00
Daniel Eklöf
11dbc2ade5
Hyperlink jumping-between-prompts/gnu-readline from TOC 2023-01-22 15:29:10 +01:00
Arsen Arsenović
c2d38d7bd9
Jumping between prompts: document GNU readline-based approach 2023-01-22 15:27:40 +01:00
Daniel Eklöf
73a8556ab2
dircolors: *should* work out of the box starting with coreutils-9.1 2022-12-13 13:16:49 +01:00
Daniel Eklöf
5d48b2770e
home: faq: vim: ‘ensures’ -> ‘ensure’ 2022-10-15 15:13:20 +02:00
Daniel Eklöf
ce990cbd6c
home: faq: vim: literal ESC character got lost 2022-10-15 15:11:47 +02:00
Daniel Eklöf
7c9ba97eb4
home: faq: add section with recommended settings for vim 2022-10-15 15:07:30 +02:00
Daniel Eklöf
368acfeb01
osc7: zsh: export LC_ALL=C
This ensures non-ASCII characters are encoded correctly. Without this,
their Unicode codepoint gets %-encoded, but we need their UTF-8
representation to be %-encoded.

For example, before this patch, /tmp/åäö would get encoded as:

  /tmp/%E5%E4%F6

and now

  /tmp/%C3%A5%C3%A4%C3%B6

Closes #1130
2022-07-30 09:35:53 +02:00
Daniel Eklöf
9a027fbd3b
Fix URL markup 2022-06-16 18:59:31 +02:00
Daniel Eklöf
7f74a68923
faq: add new section ‘shell integration’
* Describe how to spawn a new terminal instance in the current working
  directory. This replaces the old _”How to configure my shell to emit
  the OSC 7 escape sequence”_ section.

* Add new sub-section _”Jumping between prompts”_, documenting the new
  (as of foot-1.13.0) OSC-133 sequence.
2022-06-16 18:53:33 +02:00
Daniel Eklöf
14b9b670e1
Ctrl+L: add slower, but more correct, alternative to \E[%dS 2022-06-02 17:45:30 +02:00
Daniel Eklöf
767361c896
IME: don’t use non-standard ‘\e’ escape in IME DECSET/DECRST 2022-05-09 18:51:04 +02:00
Daniel Eklöf
34adc168f0
TOC: fix links to ctrl+l scrolls contents, bash/zsh 2022-04-26 20:52:44 +02:00
Daniel Eklöf
6f3393311f
ctrl+l scrolls content: bash vs. zsh use same order as in TOC 2022-04-26 20:52:21 +02:00
Daniel Eklöf
fa940be57e
Add bash variant of “ctrl+l scrolls content”
Also optimize the zsh version to use “CSI Ps S” to scroll the content,
instead of repeatedly printing newlines.

Closes #1033
2022-04-26 20:49:36 +02:00
Daniel Eklöf
3b667cf6b9
s/erasing/scrolling 2022-04-13 12:01:55 +02:00
Daniel Eklöf
7b9bd40b31
Upper case ‘F’ in ‘fish’ 2022-04-13 11:57:42 +02:00
Daniel Eklöf
aa8cdb79d9
faq: update bash+zsh OSC-7 scripts 2022-04-13 11:55:49 +02:00
Daniel Eklöf
32a8ecde52
faq: fix link to “foot’s terminfo vs. ncurses’” 2022-04-13 10:08:02 +02:00
Daniel Eklöf
b2c84c4b24
faq: add section on our terminfo vs. ncurses’ 2022-04-13 10:06:56 +02:00
Merlin Büge
5271b15d7c
Add wrapper script for generically setting the window title. 2022-04-06 19:34:26 +02:00
Daniel Eklöf
2b23c1352b
spelling fixes 2022-04-05 19:39:04 +02:00
Daniel Eklöf
9ef22f9424
faq: how do I make Ctrl+L scroll instead of erasing? 2022-02-09 19:58:08 +01:00
Daniel Eklöf
3d5e6017ca
troubleshooting: vim: CSI > 4;1m -> CSI > 4;2m 2021-12-17 15:15:32 +01:00