{"action":"created","issue":{"url":"https://api.github.com/repos/QubesOS/qubes-issues/issues/881","repository_url":"https://api.github.com/repos/QubesOS/qubes-issues","labels_url":"https://api.github.com/repos/QubesOS/qubes-issues/issues/881/labels{/name}","comments_url":"https://api.github.com/repos/QubesOS/qubes-issues/issues/881/comments","events_url":"https://api.github.com/repos/QubesOS/qubes-issues/issues/881/events","html_url":"https://github.com/QubesOS/qubes-issues/issues/881","id":60266259,"number":881,"title":"Implement protection from GUI \"DoS\" attacks","user":{"login":"marmarek","id":726704,"avatar_url":"https://avatars.githubusercontent.com/u/726704?v=3","gravatar_id":"","url":"https://api.github.com/users/marmarek","html_url":"https://github.com/marmarek","followers_url":"https://api.github.com/users/marmarek/followers","following_url":"https://api.github.com/users/marmarek/following{/other_user}","gists_url":"https://api.github.com/users/marmarek/gists{/gist_id}","starred_url":"https://api.github.com/users/marmarek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marmarek/subscriptions","organizations_url":"https://api.github.com/users/marmarek/orgs","repos_url":"https://api.github.com/users/marmarek/repos","events_url":"https://api.github.com/users/marmarek/events{/privacy}","received_events_url":"https://api.github.com/users/marmarek/received_events","type":"User","site_admin":false},"labels":[{"id":184545375,"url":"https://api.github.com/repos/QubesOS/qubes-issues/labels/C:%20gui-virtualization","name":"C: gui-virtualization","color":"cccccc","default":false},{"id":183969433,"url":"https://api.github.com/repos/QubesOS/qubes-issues/labels/enhancement","name":"enhancement","color":"84b6eb","default":true},{"id":183969434,"url":"https://api.github.com/repos/QubesOS/qubes-issues/labels/help%20wanted","name":"help wanted","color":"fad8c7","default":true},{"id":184545393,"url":"https://api.github.com/repos/QubesOS/qubes-issues/labels/P:%20major","name":"P: major","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/QubesOS/qubes-issues/milestones/17","html_url":"https://github.com/QubesOS/qubes-issues/milestones/Release%204.0","labels_url":"https://api.github.com/repos/QubesOS/qubes-issues/milestones/17/labels","id":1083579,"number":17,"title":"Release 4.0","description":"* core-admin rewrite AKA core3","creator":{"login":"marmarek","id":726704,"avatar_url":"https://avatars.githubusercontent.com/u/726704?v=3","gravatar_id":"","url":"https://api.github.com/users/marmarek","html_url":"https://github.com/marmarek","followers_url":"https://api.github.com/users/marmarek/followers","following_url":"https://api.github.com/users/marmarek/following{/other_user}","gists_url":"https://api.github.com/users/marmarek/gists{/gist_id}","starred_url":"https://api.github.com/users/marmarek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marmarek/subscriptions","organizations_url":"https://api.github.com/users/marmarek/orgs","repos_url":"https://api.github.com/users/marmarek/repos","events_url":"https://api.github.com/users/marmarek/events{/privacy}","received_events_url":"https://api.github.com/users/marmarek/received_events","type":"User","site_admin":false},"open_issues":130,"closed_issues":58,"state":"open","created_at":"2015-04-25T20:32:26Z","updated_at":"2016-11-04T09:52:00Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2015-03-08T17:18:16Z","updated_at":"2016-11-11T08:08:25Z","closed_at":null,"body":"**Reported by omeg on 5 Jul 2014 11:00 UTC**\nVMs can make life in dom0 hard by displaying override-redirect windows or just making a lot of them. This can be prevented by implementing a method to temporarily hide all VM windows and disable any GUI output. This may be a configurable hotkey (guid.conf).\n\nMigrated-From: https://wiki.qubes-os.org/ticket/881\n\n---\n\n**Note to any contributors who wish to work on this issue:** Please either ask for details or propose a design before starting serious work on this.\n"},"comment":{"url":"https://api.github.com/repos/QubesOS/qubes-issues/issues/comments/259903338","html_url":"https://github.com/QubesOS/qubes-issues/issues/881#issuecomment-259903338","issue_url":"https://api.github.com/repos/QubesOS/qubes-issues/issues/881","id":259903338,"user":{"login":"rustybird","id":6682340,"avatar_url":"https://avatars.githubusercontent.com/u/6682340?v=3","gravatar_id":"","url":"https://api.github.com/users/rustybird","html_url":"https://github.com/rustybird","followers_url":"https://api.github.com/users/rustybird/followers","following_url":"https://api.github.com/users/rustybird/following{/other_user}","gists_url":"https://api.github.com/users/rustybird/gists{/gist_id}","starred_url":"https://api.github.com/users/rustybird/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rustybird/subscriptions","organizations_url":"https://api.github.com/users/rustybird/orgs","repos_url":"https://api.github.com/users/rustybird/repos","events_url":"https://api.github.com/users/rustybird/events{/privacy}","received_events_url":"https://api.github.com/users/rustybird/received_events","type":"User","site_admin":false},"created_at":"2016-11-11T08:08:25Z","updated_at":"2016-11-11T08:08:25Z","body":"@jpouellet: And if all VMs are paused, the responsible GUI daemon can be killed race free by replacing Xfwm's current xkill keyboard shortcut with this (which works with both regular and override_redirect windows):\r\n\r\n    #!/bin/sh\r\n    set -e\r\n    \r\n    ID=$(xdotool selectwindow)\r\n    xprop -id \"$ID\" _QUBES_VMNAME | grep -q ' = '  # safety check: don't kill dom0 windows\r\n    xdotool windowkill \"$ID\""}}
{"actor":{"display_login":"rustybird"}}