OSC 777 is rxvt-unicode's (urxvt) generic Perl-extension dispatch: OSC 777 ; module ; args... ST. Its best-known use is 'OSC 777 ; notify ; <title> ; <body> ST' which raises a libnotify desktop notification via the notify-send extension. Other terminals (notably WezTerm) adopted the notify form for compatibility.
OSC 777 ; notify ; <title> ; <body> ST raises a desktop notification with the given title and body (via the urxvt notify extension; also supported by WezTerm).
gotchas
OSC 777 is an EXTENSION DISPATCH: the first sub-parameter is a module name. Only 'notify' is widely portable; other modules are urxvt-specific Perl extensions.
Argument order for notify is title THEN body; swapping them mislabels the popup.
Outside urxvt and WezTerm, support is spotty — prefer OSC 99 (kitty) or OSC 9 (iTerm2) where those terminals are in use, and feature-detect.
Semicolons inside the title/body would be parsed as parameter separators; escape or avoid them.
#summary — https://man.archlinux.org/man/urxvt.7rxvt-unicode: OSC 777 dispatches to a Perl extension by name; the notify extension uses OSC 777 ; notify ; <title> ; <body> ST to show a desktop notification.
#adoption — https://wezterm.org/escape-sequences.htmlWezTerm documents support for the OSC 777 ; notify ; title ; body form for desktop notifications, for urxvt compatibility.