bent_fingers has quit [Quit: Connection closed for inactivity]
wofA has quit [Ping timeout: 260 seconds]
wofA has joined #foot
bent_fingers has joined #foot
emcconville has quit [Ping timeout: 252 seconds]
emcconville has joined #foot
<krobelus>
ok so the workaround of clearing leaked entries in the progressive-enhancement flag stack doesn't really help much because it also tramples on interactive commands like "printf '\x1b[>5u'"
<krobelus>
so the advantage of using the stack in the first place kind of goes away. AFAICT that advantage is to allow two sets of processes that access the terminal in an interleaving way to toggle between two sets of flags.
<krobelus>
wouldn't it be simpler if every process set its requisite flags whenever it gains control of the terminal? Then we won't have inconsistent stack state after crashes in some cases.
<krobelus>
to make an interactive "printf '\x1b[=5u'" do the right thing, the shell can query progressive enhancement flags after every command. Unless the command failed perhaps; in that case reset to 0 (for crashes / connection drops)
<dnkl>
yeah, might be easier if applications, instead of pushing on startup, and popping on exit, just reset the flags to 0 on exit, requiring e.g the shell to re-enable them when it regains control
<dnkl>
krobelus: unrelated question: if I'm not mistaken, fish uses OSC-0 to set the window title. Why doesn't it use OSC-2 instead?
<dnkl>
osc-0 also sets the icon, which gets weird when the string is e.g CWD...
<dnkl>
hmm, alright... so iTerm stole an escape that's been defined by xterm since forever...
<dnkl>
great
<dnkl>
thanks for digging though!
<krobelus>
where does the icon title usually show up?
<dnkl>
if I'm reading xterm correctly, it sets the _NET_WM_ICON_NAME property on the X window. Window managers should use it to lookup which icon to display
<dnkl>
assuming I read all the specs correctly
<dnkl>
i.e it does what you'd expect - change the icon associated with the running instance
<dnkl>
I'm planning on implementing it with the new xdg-toplevel-icon protocol
<krobelus>
we can set the icon title only for terminals that need it (iterm and possibly tmux)
<dnkl>
if I remember correctly, Konsole also supports setting the tab title, but they use OSC-30...
<krobelus>
looks like OSC 30 sets window and terminal title in Konsole.
<krobelus>
iTerm and Terminal.app use OSC 1 for tab title.
<krobelus>
I'll change it to only set the icon title for those two terminals
<dnkl>
krobelus: thanks!
<krobelus>
BTW do you think that LC_TERMINAL (and LC_TERMINAL_VERSION) make sense? The idea is that due to the LC_* prefix, those variables are passed through by SSH, so the remote program can apply workarounds for the local terminal. I think so far it's only iTerm that defines LC_TERMINAL. I guess most terminals don't need too many workarounds..
<bookworm>
applications should really just check for features and not user agents....
<krobelus>
true
<dnkl>
yeah, I'm not too fond of setting environment variables...
<dnkl>
we explicitly clear some set by other terminals just to avoid being confused with them (if foot is started from one of them)
<dnkl>
if you have to know the terminal, it's better to query it with e.g XTVERSION
chiselfuse has quit [Ping timeout: 260 seconds]
chiselfuse has joined #foot
<krobelus>
yeah that's better, and should work over ssh
bent_fingers has quit [Quit: Connection closed for inactivity]
alexherbo2 has joined #foot
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #foot
alexherbo2 has quit [Remote host closed the connection]
<dnkl>
krobelus: that sounds right. I was reading a different description of it before, that wasn't as clear as the specification itself.
<krobelus>
so _NET_WM_ICON would be the path to the image
<krobelus>
so it seems like an okay default to set _NET_WM_ICON_NAME to the same as the window name. But as that Xorg page says
<krobelus>
> For obvious geometric reasons, fewer characters will normally be visible in WM_ICON_NAME than WM_NAME.
<dnkl>
_NET_WM_ICON is an array of pimapd, if I'm not mistaken
<dnkl>
I can't seem to find a way to pass an icon string under X...
<dnkl>
and no escape sequence in XTerm to specify one either
<krobelus>
if there is no concrete need to not set the icon name in fish I'll leave things as they are (of course setting it to the same thing as the window name is ugly)
<krobelus>
I assume the icon needs to go through the terminal? The application cannot just talk to the compositor right
<dnkl>
you can leave it as it is. I'll obviously have to revise my plans for xdg-toplevel-icon
<dnkl>
a terminal application _can_ talk to the compositor
<dnkl>
but most applications stick to the terminal interface
<dnkl>
and it won't work over ssh etc
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #foot
mtm has quit [Ping timeout: 246 seconds]
mtm has joined #foot
emias has joined #foot
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #foot
cbb has joined #foot
alexherbo2 has quit [Remote host closed the connection]
alexherbo2 has joined #foot
alexherbo2 has quit [Remote host closed the connection]
Tinky-Winky has joined #foot
boomboxnation has quit [Remote host closed the connection]
boomboxnation has joined #foot
jmjl has quit [Remote host closed the connection]
jmjl has joined #foot
Tinky-Winky has quit [Quit: Tinky-Winky]
bent_fingers has joined #foot
bananicorn has quit [Remote host closed the connection]
bananicorn has joined #foot
an3223 has quit [Remote host closed the connection]
an3223 has joined #foot
alexherbo2 has joined #foot
Biolunar has quit [Quit: brb]
urosm has joined #foot
urosm has quit [Ping timeout: 244 seconds]
urosm has joined #foot
urosm has quit [Ping timeout: 265 seconds]
urosm has joined #foot
urosm has quit [Ping timeout: 265 seconds]
urosm has joined #foot
urosm has quit [Ping timeout: 264 seconds]
urosm has joined #foot
kunibert has joined #foot
urosm has quit [Read error: Connection reset by peer]
kunibert has quit [Quit: Leaving]
Biolunar has joined #foot
urosm has joined #foot
urosm has quit [Ping timeout: 244 seconds]
urosm has joined #foot
urosm has quit [Ping timeout: 245 seconds]
urosm has joined #foot
urosm has quit [Ping timeout: 244 seconds]
urosm has joined #foot
urosm has quit [Ping timeout: 244 seconds]
cbb has quit [Quit: cbb]
alexherbo2 has quit [Remote host closed the connection]