dnkl/foot
41
2.0k
Fork
You've already forked foot
243

zsh occasionally starts with a spurious % (percent) sign #2244

Closed
opened 2025年12月21日 11:41:54 +01:00 by itscool900 · 3 comments

Foot Version

foot version: 1.25.0 -pgo +ime +graphemes -assertions

TERM environment variable

foot

Compositor Name and Version

river version 0.3.7

Distribution

Void Linux

Terminal multiplexer

No response

Shell, TUI, application

zsh

Server/standalone mode

  • Standalone
  • Server

Foot config

font=Droid Sans Mono:size=17.5
selection-target=both
[key-bindings]
scrollback-up-line=Page_Up
scrollback-down-line=Page_Down
show-urls-copy=Control+Shift+k

Description of Bug and Steps to Reproduce

Running foot with zsh as your default shell will occasionally start zsh with an inverted % on the first line, followed by the prompt on another. If you start foot as foot zsh -f it will always do this. Apparently, using powerlevel10k with instant prompt is one solution, but I would prefer a hardcoded one.

Relevant logs, stacktraces, etc.

No response

### Foot Version foot version: 1.25.0 -pgo +ime +graphemes -assertions ### TERM environment variable foot ### Compositor Name and Version river version 0.3.7 ### Distribution Void Linux ### Terminal multiplexer _No response_ ### Shell, TUI, application zsh ### Server/standalone mode - [x] Standalone - [x] Server ### Foot config ```ini font=Droid Sans Mono:size=17.5 selection-target=both [key-bindings] scrollback-up-line=Page_Up scrollback-down-line=Page_Down show-urls-copy=Control+Shift+k ``` ### Description of Bug and Steps to Reproduce Running foot with zsh as your default shell will occasionally start zsh with an inverted % on the first line, followed by the prompt on another. If you start foot as `foot zsh -f` it will always do this. Apparently, using powerlevel10k with instant prompt is one solution, but I would prefer a hardcoded one. ### Relevant logs, stacktraces, etc. _No response_
itscool900 changed title from (削除) zsh occasionally starts with a spurious % sign (削除ここまで) to zsh occasionally starts with a spurious % (percent) sign 2025年12月21日 11:42:27 +01:00

confirmed; reduces to

foot -e bash -c 'printf "\e[7m%%\e[0m%'$COLUMNS's\r\r\r\e[Je15%%"; read x'

confirmed; reduces to `foot -e bash -c 'printf "\e[7m%%\e[0m%'$COLUMNS's\r\r\r\e[Je15%%"; read x'`

sorry? what's the thing that reduces to that?

sorry? what's the thing that reduces to that?
Owner
Copy link

This pops up every now and then, so there are tons of duplicates... But in short, zsh (along with many other shells) don't handle multiple, rapid size changes at startup correctly. The % is just zsh way of saying there's no newline character, and it's just an artifact of the incorrect resize handling.

There's nothing to fix in foot (foot just reacts to, and passes on, resize events from the compositor), but it would be possible to implement a workaround for this, see #453.

This pops up every now and then, so there are tons of duplicates... But in short, zsh (along with many other shells) don't handle multiple, rapid size changes at startup correctly. The % is just zsh way of saying there's no newline character, and it's just an artifact of the incorrect resize handling. There's nothing to fix in foot (foot just reacts to, and passes on, resize events from the compositor), but it would be possible to implement a workaround for this, see https://codeberg.org/dnkl/foot/issues/453.
dnkl 2025年12月21日 15:10:52 +01:00
Sign in to join this conversation.
No Branch/Tag specified
master
osc-5522
sixel-heap-buffer-overflow
releases/1.27
releases/1.26
releases/1.25
releases/1.24
multi-cursor
releases/1.23
pixman-16f-2
releases/1.22
releases/1.21
releases/1.20
releases/1.19
releases/1.18
releases/1.17
releases/1.16
releases/1.15
releases/1.14
releases/1.13
releases/1.12
releases/1.11
releases/1.10
releases/1.9
releases/1.8
releases/1.7
releases/1.6
releases/1.5
releases/1.4
releases/1.3
releases/1.2
releases/1.1
releases/1.0
1.27.0
1.26.1
1.26.0
1.25.0
1.24.0
1.23.1
1.23.0
1.22.3
1.22.2
1.22.1
1.22.0
1.21.0
1.20.2
1.20.1
1.20.0
1.19.0
1.18.1
1.18.0
1.17.2
1.17.1
1.17.0
1.16.2
1.16.1
1.16.0
1.15.3
1.15.2
1.15.1
1.15.0
1.14.0
1.13.1
1.13.0
1.12.1
1.12.0
1.11.0
1.10.3
1.10.2
1.10.1
1.10.0
1.9.2
1.9.1
1.9.0
1.8.2
1.8.1
1.8.0
1.7.2
1.7.1
1.7.0
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.0
1.2.3
1.2.2
1.2.1
1.2.0
1.1.0
1.0.0
0.9.0
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dnkl/foot#2244
Reference in a new issue
dnkl/foot
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?