summaryrefslogtreecommitdiff
path: root/src/core/display.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/display.c')
-rw-r--r--src/core/display.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/display.c b/src/core/display.c
index 8a37e7d3..b37bd73c 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -1224,7 +1224,18 @@ meta_display_screen_for_x_screen (MetaDisplay *display,
return NULL;
}
-/* Grab/ungrab routines taken from fvwm */
+/* Grab/ungrab routines taken from fvwm.
+ * Calling this function will cause X to ignore all other clients until
+ * you ungrab. This may not be quite as bad as it sounds, yet there is
+ * agreement that avoiding server grabs except when they are clearly needed
+ * is a good thing.
+ *
+ * If you do use such grabs, please clearly explain the necessity for their
+ * usage in a comment. Try to keep their scope extremely limited. In
+ * particular, try to avoid emitting any signals or notifications while
+ * a grab is active (if the signal receiver tries to block on an X request
+ * from another client at this point, you will have a deadlock).
+ */
void
meta_display_grab (MetaDisplay *display)
{