Ejemplo n.º 1
0
static BOOL xf_event_UnmapNotify(xfContext* xfc, XEvent* event, BOOL app)
{
	rdpWindow* window;
	rdpUpdate* update = xfc->instance->update;
	rdpRail* rail = ((rdpContext*) xfc)->rail;

	xf_keyboard_release_all_keypress(xfc);

	if (!app)
	{
		update->SuppressOutput((rdpContext*) xfc, 0, NULL);
	}
	else
	{
		window = window_list_get_by_extra_id(rail->list, (void*) event->xany.window);

		if (window != NULL)
		{
			xfWindow* xfw = (xfWindow*) window->extra;
			xfw->is_mapped = FALSE;
		}
	}

	return TRUE;
}
Ejemplo n.º 2
0
static BOOL xf_event_FocusOut(xfContext* xfc, XEvent* event, BOOL app)
{
	if (event->xfocus.mode == NotifyUngrab)
		return TRUE;

	xfc->focused = FALSE;

	if (event->xfocus.mode == NotifyWhileGrabbed)
		XUngrabKeyboard(xfc->display, CurrentTime);

	xf_keyboard_release_all_keypress(xfc);
	xf_keyboard_clear(xfc);

	if (app)
		xf_rail_send_activate(xfc, event->xany.window, FALSE);

	return TRUE;
}
Ejemplo n.º 3
0
static BOOL xf_event_UnmapNotify(xfContext* xfc, XEvent* event, BOOL app)
{
	xfAppWindow* appWindow;
	xf_keyboard_release_all_keypress(xfc);

	if (!app)
		gdi_send_suppress_output(xfc->context.gdi, TRUE);
	else
	{
		appWindow = xf_AppWindowFromX11Window(xfc, event->xany.window);

		if (appWindow)
		{
			appWindow->is_mapped = FALSE;
		}
	}

	return TRUE;
}
Ejemplo n.º 4
0
static BOOL xf_event_UnmapNotify(xfContext* xfc, XEvent* event, BOOL app)
{
	xfAppWindow* appWindow;
	rdpUpdate* update = xfc->context.update;
	xf_keyboard_release_all_keypress(xfc);

	if (!app)
	{
		update->SuppressOutput((rdpContext*) xfc, 0, NULL);
	}
	else
	{
		appWindow = xf_AppWindowFromX11Window(xfc, event->xany.window);

		if (appWindow)
		{
			appWindow->is_mapped = FALSE;
		}
	}

	return TRUE;
}