Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Graphics protocol: response suppression with multi-chunk transmission requires repeating of q key in each chunk #3375

hzeller opened this issue Mar 10, 2021 · 1 comment


Copy link

hzeller commented Mar 10, 2021

Describe the bug

The graphics protocol allows for a response suppression by setting the q key: q=1

In a multi-chunk transmission, this seems to require to set the q key for every chunk, while the documentation on chunk continuation escape sequences says that only the m key has to be set in subsequent chunks.

To Reproduce
Steps to reproduce the behavior:

# sending a two-pixel image in two chunks and suppressing the response using q=1
echo -e "\e_Ga=T,i=42,q=1,s=2,v=1,f=24,m=1;////\e\\\\\e_Gm=0;////\e\\"


What we see is the response of setting the image id even though we requested to have it suppressed with q=1

It works, if we repeat the q=1 key in the second chunk:

echo -e "\e_Ga=T,i=42,q=0,s=2,v=1,f=24,m=1;////\e\\\\\e_Gm=0,q=1;////\e\\"

Expected behavior

Expected is that the q key does not have to be repeated in subsequent chunks like all the other key=value pairs.

Environment details
Running on Linux, X11, compiled from head ( 958ccad )

@hzeller hzeller added the bug label Mar 10, 2021
Copy link
Contributor Author

hzeller commented Mar 10, 2021

Refinement: it seems that only the last chunk decides what is happening. Here, we don't have the q=1 set in the first chunk, and only in the last chunk, which suppresses the OK-response:

echo -e "\e_Ga=T,i=42,s=2,v=1,f=24,m=1;////\e\\\\\e_Gm=0,q=1;////\e\\"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet

No branches or pull requests

1 participant