dnkl changed the topic of #foot to: Foot - fast, lightweight and minimalistic Wayland terminal emulator || 1.20.2 || https://codeberg.org/dnkl/foot || channel logs: https://libera.irclog.whitequark.org/foot
mtm has quit [Ping timeout: 246 seconds]
mtm has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
<dnkl> rockorager: I haven't measured. I suspect explicit width to be more expensive though.
<dnkl> without it (i.e. with 2027), foot has to do grapheme clustering (and thus backwards lookup in the grid), which _is_ slow. But OSC-66 means processing an large escape sequence in the VT state machine, converting strings to numbers etc. I suspect that has a higher cost
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
<rockorager> hmm ok. I think I’ll switch the precedence then
<rockorager> I am blindly using it for any grapheme that is > 1 wide
<rockorager> “blindly” meaning blind to if I need to be explicit or not…not blind to support
aktina has joined #foot
sewn has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
cpli has quit [Ping timeout: 248 seconds]
cpli has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
cbb has joined #foot
boomboxnation has joined #foot
qyliss has quit [Ping timeout: 248 seconds]
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
qyliss has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
sugarbee1 has quit [Ping timeout: 272 seconds]
sugarbeet has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
mtm has quit [Ping timeout: 252 seconds]
boomboxnation has joined #foot
chilledfrogs has quit [Quit: connection reset by purr]
mtm has joined #foot
chilledfrogs has joined #foot
cbb has quit [Quit: cbb]
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
chimo_ has joined #foot
chimo has quit [Ping timeout: 246 seconds]
xoip has quit [Quit: WeeChat 4.5.1]
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
<ovf> interesting, so continuing with the flag theme, foot's behaviour seems to be the opposite of firefox address bar (the only other gui program i've got to hand). my methodology: having put foot in raw mode, for every utf8 codepoint i read, i print it and then send a dsr request to get current cursor position. i then record both the codepoints and the positions -- that's my mapping.
<ovf> 🇬🇧: ((0xf09f87ac;0xf09f87a7);2 3) -- i.e. two codepoints, each advances the cursor one cell. firefox deletes wholesale
<ovf> 🏴‍☠️: ((0xf09f8fb4;0xe2808d;0xe298a0;0xefb88f);3 3 3 3) -- i.e. four codepoints, the first one advances the cursor two cells, the rest don't contribute. firefox deletes in two steps, first one (from the right) resulting in the black flag
<ovf> for readline i think i don't care either way, but it's amusing that it's precisely backwards
<rockorager> ovf: what are you trying to do?
<rockorager> firefox behaves the same for me, as does libreoffice and I'm shocked
<rockorager> They should delete the entire grapheme, IMO
<ovf> rockorager: trying to write a readline replacement that maintains its idea of character widths by querying the terminal
<rockorager> What language?
<ovf> i'm writing in k. does it matter?
<rockorager> only if you wanted me to recommend a library to use for unicode
<rockorager> ovf: https://0x0.st/8KtA.mp4
<rockorager> This one doesn't query the terminal except at startup
<rockorager> The idea is: terminals will either support mode 2027 and/or explicit width (this is new as of this week)
<rockorager> You query at startup for support for both. If they have it, you need to do grapheme segmentation + measurement per latest unicode
<rockorager> (or in the case of explicit width, whichever unicode you have)
<rockorager> Explicit width you emit a sequence like `\x1b]66;w=%d;%s\x1b\\`
<rockorager> Where %d is the width, %s is the grapheme
<rockorager> I only do this for graphemes with width > 1
boomboxnation has quit [Read error: Connection reset by peer]
andyrtr has quit [Quit: ZNC 1.9.1 - https://znc.in]
boomboxnation has joined #foot
andyrtr has joined #foot
<ovf> rockorager: very impressive!
<dnkl> rockorager: nice!
test53 has quit [Ping timeout: 260 seconds]
<rockorager> dnkl: this is pretty cool https://0x0.st/8KvF.png
<dnkl> hehe
<dnkl> probably not enough that I can claim ligature support in foot 🤣
<rockorager> foot is the first terminal with client side ligature support
<rockorager> it's a feature ;)
<rockorager> I'm becoming a huge fan of this explicit width extension
boomboxnation has quit [Read error: Connection reset by peer]
<rockorager> It enables things like rendering tabs at any size but it acts (even to the terminal) as a single glyph
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
jmjl has quit [Remote host closed the connection]
jmjl has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
bitblt has quit [Remote host closed the connection]
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Read error: Connection reset by peer]
boomboxnation has joined #foot
boomboxnation has quit [Ping timeout: 252 seconds]
boomboxnation has joined #foot
ollysmith has quit [Ping timeout: 245 seconds]
ollysmith has joined #foot
ollysmith has quit [Ping timeout: 252 seconds]
ollysmith has joined #foot
bitblt has joined #foot