<dnkl>
Consolatis: thanks, I somehow missed setal when I looked for the upstream names. I'll add that too, to our terminfo
<dnkl>
and once styled underlines is in a foot release, I'll send a patch to ncurses
kaathewise has quit [Server closed connection]
kaathewise has joined #foot
novenary has quit [Server closed connection]
novenary has joined #foot
ifreund has quit [Server closed connection]
ifreund has joined #foot
novakane has quit [Server closed connection]
novakane has joined #foot
cpli has quit [Server closed connection]
cpli has joined #foot
rselim has quit [Server closed connection]
rselim has joined #foot
dekedro has quit [Server closed connection]
dekedro has joined #foot
primalmotion has joined #foot
dooba has quit [Server closed connection]
dooba has joined #foot
dnkl has quit [Server closed connection]
dnkl has joined #foot
hovsater has quit [Server closed connection]
hovsater has joined #foot
switchy has quit [Server closed connection]
switchy has joined #foot
qyliss has quit [Server closed connection]
qyliss has joined #foot
Consolatis_ has joined #foot
Consolatis has quit [Killed (tantalum.libera.chat (Nickname regained by services))]
Consolatis_ is now known as Consolatis
vyryls has joined #foot
<lanodan>
brocellous: One way I've used it recently is via -serial pty which then prints something like /dev/pts/$number which you can pass to foot, and another option you might want to also pass is something like -display none so serial0 / ttyS0 is what -serial pty allocates rather than serial1 / ttyS1.
<j`ey>
why is it different to when you just start qemu with -display none and -serial stdio?
<dnkl>
j`ey: stdio prints to the current terminal instance, possibly mixed with other output
<dnkl>
pty allocates a new pty, allowing you to see the serial output isolated on a separate foot instance
<j`ey>
I guess the 'mixed with other output', is a case I havent run into with qemu!
tkna has quit [Server closed connection]
tkna has joined #foot
Arsen has quit [Server closed connection]
Arsen has joined #foot
sevz has quit [Server closed connection]
sevz has joined #foot
sefidel has quit [Server closed connection]
sefidel has joined #foot
d4ve has quit [Server closed connection]
d4ve has joined #foot
onjen has quit [Server closed connection]
onjen has joined #foot
<delthas>
> <rockorager> dnkl: What do you think about an explicit control sequence to set window urgency (as opposed to hoping that the terminal sets urgency on BEL)?
<delthas>
i'm actually interested
cbb has joined #foot
<delthas>
i'd like to set urgency when being highlighted in a buffer, but i don't really want to send BEL by default because that makes a sound on most terminals?
<j`ey>
dont most terminals actually have a setting for that now?
dustinm` has quit [Server closed connection]
lanodan has quit [Server closed connection]
dustinm` has joined #foot
lanodan has joined #foot
bcheng has quit [Server closed connection]
bcheng has joined #foot
jmjl has quit [Server closed connection]
jmjl has joined #foot
lack has quit [Server closed connection]
lack has joined #foot
Guest8642 has quit [Server closed connection]
<qyliss>
brocellous: I use it with Cloud Hypervisor, but I think for QEMU you'd use -chardev pty
tachi has joined #foot
pvsr has quit [Server closed connection]
pvsr has joined #foot
primalmotion has quit [Quit: Bye]
primalmotion has joined #foot
<dnkl>
delthas: I'm kind of interested in something other than BEL as well.
<dnkl>
too much is using it for things I definitely don't want urgency and/or notifications
<dnkl>
rockorager: thanks. btw,I agree with Kovid that the terminal should be required to send the current size when enabled, even if already enabled
<dnkl>
I'll update my PR to do that
<rockorager>
I updated with that already
<rockorager>
Cool
<delthas>
dnkl: so would that be some implemented by some escape sequence to set/clear urgency? probably automtiacally cleared by the terminal on window focus
<dnkl>
delthas: on wayland (which is all I really know), there's no way to clear urgency.
<delthas>
like, it's automatically cleared by the compositor on windows focus and you can't manually clear it?
<dnkl>
technically, there's actually no way to set it either... it's just that some compositors interpret a window activation request as a request for urgency
<delthas>
oh...
<dnkl>
yes, it's done compositor side, and compositor clears it when the window is focused
<delthas>
window activation request means requesting the focus?
<dnkl>
my understanding is that this was the only way to get _a_, any, protocol merged. GNOME people, at least, were against a proper urgency protocol
<dnkl>
yes
<delthas>
that might a bit too strong of a request if the intent was just to flash the task bar
<dnkl>
"xdg activation"
<dnkl>
I think the discussion was about policy vs. procedure; i.e. "set urgency" is too low-level for an application...
<dnkl>
compositor decides what to do given an applications intent
<dnkl>
or something like that
<dnkl>
in any case, what we _can_ do, in foot, is implement an escape that requests urgency. Whether or not urgency is actually set is up to the compositor, and not something we can guarantee
<delthas>
yeah, but i'm wondering if urgency makes sense in the end. like, activation request means "requesting the focus", and i don't want senpai to steal the focus when the user is highlighted; this would be too strong
<delthas>
i'd just like the window to be highlighted in the task bar or something
<dnkl>
delthas: foot uses an intentional quirk in the protocol, where not everything is set in the request to the compositor. My understanding all compositors therefor denies actual activation
<dnkl>
everything about this protocol is quirky and weird, and feels like a strange compromise. But it's currently all we have
<delthas>
:(
<dnkl>
rockorager: PR updated
<delthas>
do you know what these activation requests do on the common compositors? like gnome or sway
<Consolatis>
at least in its current completely undocumented state, it would be a different situation if the protocol specifies that a compositor *may* treat a token without seat and surface as a urgency hint but there is not even that
wael has joined #foot
baltazar has quit [Server closed connection]
baltazar has joined #foot
<dnkl>
delthas: sway marks them (foot's requests) with urgency
<dnkl>
no idea what gnome does, but I haven't received any bug reports about foot windows stealing focus at least
<dnkl>
Consolatis: fully agree
beerman has quit [Server closed connection]
beerman has joined #foot
<delthas>
hmm... not sure how to move forward with this. perhaps we need to have a proper wayland protocol/normative clarification for that before we make a new terminal escape sequence?
<delthas>
though i guess the two can be developed independently
<Consolatis>
there are also other display servers and other operating systems out there so I think just because wayland-protocols is lacking in this case I don't think it should slow down the terminal side of things
<rockorager>
gnome displays a notification that focuses the window when clicked
<rockorager>
"Foot is ready"
<delthas>
oh...yeah.. i remember now. just a few weeks after installing gnome i installed some plugin to mute those because they were so annoying
<dnkl>
I just don't use gnome 😅
<dnkl>
wonder who thought it was a good idea to use a notification...
<rockorager>
I don't think there is a portable concept of "urgency"
<rockorager>
not that it matters to foot specifically, but for broader terminal use i mean
<dnkl>
one reason BEL is overused... it's just to signal completion of long-running jobs, or that something happened in your chat application, or that you pressed an invalid key, or ... the list goes on
<dnkl>
there simply isn't a single response that fits all of those use cases
<rockorager>
Notifications are the answer, I think
<rockorager>
a better VT sequence with a priority / urgency level of the notification would likely solve this I think, right?
<delthas>
yeah
<delthas>
in senpai i gave up and am sending notifications directly to dbus (best effort)
<dnkl>
which breaks on ssh...
<dnkl>
perhaps the solution is a new escape that replaces the current notification escapes
<rockorager>
the current ones leave a lot to be desired
<dnkl>
maybe kitty already has an improved one...
<rockorager>
kovid has one
<rockorager>
yeah
<dnkl>
cause there's a lot of use cases where I absolutely don't want a notifaction, and where the compositor rendered urgency (which also affects taskbar) is better
<delthas>
i used native notifications in order to get a nice icon (but no need for that now if the terminal supports OSC AppId),
<delthas>
and for knowing when the user clicked on the notification, in order to switch to the appropriate buffer
<delthas>
that last part is really useful and i think will be a challenge to implement in notifications going through the terminal
<delthas>
also i'm dismissing notifications of a buffer that is read/switched to
<delthas>
that i couldnt do with the terminal based spec
<delthas>
oh... kitty's osc 99 seems to support detecting when the user clicked on a particular noification
<delthas>
so i'd just be missing a way to dismiss notifications from the app
<rockorager>
I think once the window is focused the app can still handle it's own visual indication though
<delthas>
yeah, but like you can have a notification on buffers A and B, then you click notification for B -> i have to know if it's A or B in order to switch to the right one.
<delthas>
same for dismissing, if you're focusing the window on B, i'm dismissing B but keeping A open
<rockorager>
The kitty sequence solves this
<rockorager>
On click, you can have it send escape sequences to the terminal with the ID of the notification that was clicked
<delthas>
yes, so that part is OK, but apart from that i'd also like to dismiss some notifications (by identifier)
<rockorager>
I think this could be extended to add a dismiss-by-id feature
<delthas>
yeah, looks like that could be easily added to the spec
<Consolatis>
some way to trigger a notification which allows to set a) app_id b) icon name c) urgency d) timeout would be useful indeed
<Consolatis>
maybe even some way to receive back a xdg activation token and another escape to ask the terminal to use an activation token to activate itself
<Consolatis>
i am not sure if this is necessary / a good fit for a BEL replacement though