this is probably a long shot but I've been pondering it for a while.

I realize that the actual use-cases of this sort of interaction are quite sparse. The main uses I can think of would be

  • moving multiple windows around at the same time
  • manipulating multiple media applications in a live performance setting

neither of which are exactly universally beneficial; but I still think it is interesting enough to think about.

from my understanding, a single window is given focus at any given time and all the key/mouse events are passed to that window. But it is also possible to create multiple cursors that are independent of each other, and furthermore touchscreen inputs typically allow up to 10 points contact; yet these input methods still appear to be restricted to a single window.

I don't think it would be prohibitively difficult to develop such an interaction that allows multiple windows to be manipulated at the same time, since similar behavior can already by achieved via X11 forwarding. I'm not familiar enough with the graphics/input stack to say exactly what would need to be changed or if something could just be swapped out like that.

One problem I can foresee is determining where to direct single-input events like keystrokes and stuff. possible workarounds include defining a 'primary' window as the first selected window or just disabling key events altogether when multiple windows are selected.

Another issue would be deciding when it is appropriate to shift between single-window and multiple-window focus. Perhaps if primary/secondary windows are asserted then this would be a non-issue?

so, questions:

  • am I wrong and it's already possible to manipulate multiple windows simultaneously (in X11 or maybe wayland or something i don't know)? if not,

  • what part of the existing input/windowing infrastructure would need to be modified to make this work?

  • are there more elegant ways to solve the problems I mentioned?

  • what other problems are inherent in this kind of design?

  • No answer, but I put in an informal feature request for something like this on a KDE list a long time ago (with no responses). I sometimes run multiple torrents using Transmission and it allows you to open a window following each one. I wanted to be able to minimize/move/close the whole lot of them at once with a window group. The main deal was that I wanted to be able to do things to them while keeping who was on top of who the same. – Joe Jun 13 '15 at 4:11
  • It seem like SDL is able to handle background joystick input using SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS=1 which would allow manipulation of multiple windows simultaneously. also see en.wikipedia.org/wiki/Multi-Pointer_X – freeforall tousez Jan 26 '17 at 16:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.