{"action":"created","issue":{"url":"https://api.github.com/repos/i3/i3/issues/1946","repository_url":"https://api.github.com/repos/i3/i3","labels_url":"https://api.github.com/repos/i3/i3/issues/1946/labels{/name}","comments_url":"https://api.github.com/repos/i3/i3/issues/1946/comments","events_url":"https://api.github.com/repos/i3/i3/issues/1946/events","html_url":"https://github.com/i3/i3/issues/1946","id":107642163,"number":1946,"title":"virtualbox seamless mode support","user":{"login":"vikstrous","id":482425,"avatar_url":"https://avatars.githubusercontent.com/u/482425?v=3","gravatar_id":"","url":"https://api.github.com/users/vikstrous","html_url":"https://github.com/vikstrous","followers_url":"https://api.github.com/users/vikstrous/followers","following_url":"https://api.github.com/users/vikstrous/following{/other_user}","gists_url":"https://api.github.com/users/vikstrous/gists{/gist_id}","starred_url":"https://api.github.com/users/vikstrous/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vikstrous/subscriptions","organizations_url":"https://api.github.com/users/vikstrous/orgs","repos_url":"https://api.github.com/users/vikstrous/repos","events_url":"https://api.github.com/users/vikstrous/events{/privacy}","received_events_url":"https://api.github.com/users/vikstrous/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/i3/i3/labels/4.10","name":"4.10","color":"ededed"},{"url":"https://api.github.com/repos/i3/i3/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/i3/i3/labels/missing-log","name":"missing-log","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-09-22T04:06:27Z","updated_at":"2016-02-16T19:30:47Z","closed_at":null,"body":"What I am about to describe is mad science, so I understand if it's not a priority.\r\n\r\nI just watched https://www.youtube.com/watch?v=MA8wwIGgCGs and I found out about virtualbox's seamless mode. I don't full understand how it works yet. I tried it on i3 with mixed results: https://imgur.com/3jJQ4Sc\r\n\r\nI was wondering what it would take to make it work well with i3.\r\n\r\nBefore I continue I want to mention that I'm using xcompmgr in combination with i3.\r\n\r\nBased on my understanding so far it seems that virtualbox creates a window and sets a transparent background instead of the desktop and draws only the applications. All of the Windows applications, along with the dock, seem to appear as one window to i3.\r\n\r\nThe only way I could kind of make it is by making the virtualbox window floating and making sure that it's the perfect size.\r\n\r\nIssues:\r\n* If the window is not the size that Windows/virtualbox expects it to be, the drawing gets screwed up and the windows get glitchy shadows. This can happen either by resizing the floating window or by tiling it. This might be considered a virtualbox bug and not an i3 bug.\r\n* When the window is displayed it seems to capture mouse events from most or all of the screen. I often get a top-left-corner resize arrow when I try to drag outside the Windows window and clicks don't work. Clicking was sometimes normal near the top half of the screen, but I'm not sure what was causing this.\r\n* When I set a window title on the virtualbox/Windows window the compositing seems to break and instead of transparency I see garbage within the borders of the \"window\".\r\n\r\nI don't know how much of this behavior is i3's fault and how much is virtualbox's fault, but it would be great to see them work together.\r\n\r\nEdit: the last one is a more general issue with transparency and window titles. I can also reproduce it with terminal windows in certain circumstances. I'll file a separate issue for it. It might be related to xcompmgr in particular."},"comment":{"url":"https://api.github.com/repos/i3/i3/issues/comments/184844260","html_url":"https://github.com/i3/i3/issues/1946#issuecomment-184844260","issue_url":"https://api.github.com/repos/i3/i3/issues/1946","id":184844260,"user":{"login":"Airblader","id":2392216,"avatar_url":"https://avatars.githubusercontent.com/u/2392216?v=3","gravatar_id":"","url":"https://api.github.com/users/Airblader","html_url":"https://github.com/Airblader","followers_url":"https://api.github.com/users/Airblader/followers","following_url":"https://api.github.com/users/Airblader/following{/other_user}","gists_url":"https://api.github.com/users/Airblader/gists{/gist_id}","starred_url":"https://api.github.com/users/Airblader/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Airblader/subscriptions","organizations_url":"https://api.github.com/users/Airblader/orgs","repos_url":"https://api.github.com/users/Airblader/repos","events_url":"https://api.github.com/users/Airblader/events{/privacy}","received_events_url":"https://api.github.com/users/Airblader/received_events","type":"User","site_admin":false},"created_at":"2016-02-16T19:30:47Z","updated_at":"2016-02-16T19:30:47Z","body":"So I've thought about it. Frankly I don't think we should route the clicks to windows underneath because I don't understand what we base this decision on. Doing that on transparent areas might make sense for VirtualBox, but be an issue for other applications. It also doesn't sound like the best idea to me to get involved into the window's pixmap to decide what to do with a click.\r\n\r\nI suspect what VirtualBox actually does / wants us to do is use the Shape extension. That way, X would take care of routing the click properly all on its own.\r\n\r\n@stapelberg Assuming this is correct, is support for Shape something we want?"}}