Hello, The original arch spec [1] described the copy/paste operations as only needing a single key combination to copy and a single key combination to paste between VMs (e.g. only Ctrl+Shift+C, Ctrl+Shift+V, instead of Ctrl+C, Ctrl+Shift+C, Ctrl+Shift+V, Ctrl+V). Relevant paragraphs (from section 5.5, page 27) reproduced below.
Is the reason that these actions (copy inside vm & save to global clipboard / send global to vm & paste in vm) are not combined into single key combinations today an intentional design decision? (Possibly some QSB-13-like [2] consideration?) Or just something that was never gotten around to? I was reminded of this curiosity by Zrubi's recent blog post [3][4]. My (admittedly non-exhaustive) search of the list archives did not shed light on this question. ----- # Clipboard algorithm for the “copy” operation 1. The copy operation is initialized by the magic key combination for the copy operation (e.g. Shift-Ctrl-C) entered in Dom0 into the focused AppViewer 2. The AppViewer does not pass the keystrokes to the AppVM. Instead it builds and sends the get_clipboard command over the GUI communication channel to the GUI agent running in the AppVM. 3. The Agent in the AppVM receives the get_clipboard command and, in response creates a response command (clipboard) where it copies whatever is currently “marked” in the AppVM, limited to the max allowed buffer size. 4. AppViewer receives the clipboard message and copies the content into the defined storage space in Dom0. This storage space could be e.g. a dedicated file in the Dom0ʼs /tmp or /dev/shm directory. Particularly this should not be placed into the Dom0ʼs Window Managerʼs clipboard buffer, to make sure that the user doesnʼt mistakenly paste the buffer into any of the Dom0ʼs applications. The user should only be allowed to paste the contents of the clipboard buffer into another AppViewer window. # Clipboard protocol for the “paste” operation 1. The paste operation is initialized by the magic key combination for the paste operation (e.g. Shift-Ctrl-V) entered in Dom0 into the focused AppViewer 2. The AppViewer does not pass the keystrokes to the AppVM, instead the AppViewer sends the clipboard message to the agent in the AppVM. 3. The agent copies the contents from the clipboard packet to the VMʼs Window Manager clipboard buffer and simulates and initializes the paste operation into the focused application (as if the user pressed Ctrl-V locally in the AppVM). ----- [1]: https://www.qubes-os.org/attachment/wiki/QubesArchitecture/arch-spec-0.3.pdf [2]: https://github.com/QubesOS/qubes-secpack/blob/master/QSBs/qsb-013-2015.txt [3]: https://groups.google.com/d/topic/qubes-users/4km22rTlufc/discussion [4]: http://zrubi.hu/en/2017/use-more-buttons/ -- You received this message because you are subscribed to the Google Groups "qubes-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-devel+unsubscr...@googlegroups.com. To post to this group, send email to qubes-devel@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-devel/CABQWM_B-eC%2B%2BDqmw3tZi8NnXSQELMA5RoamyDx_e%2BkFso6avbA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.