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