/*
* ion/ioncore/focus.c
*
- * Copyright (c) Tuomo Valkonen 1999-2007.
+ * Copyright (c) Tuomo Valkonen 1999-2009.
*
* See the included file LICENSE for details.
*/
/*EXTL_DOC
* Iterate over focus history until \var{iterfn} returns \code{false}.
- * The function itself returns \code{true} if it reaches the end of list
+ * The function is called in protected mode.
+ * This routine returns \code{true} if it reaches the end of list
* without this happening.
*/
EXTL_EXPORT
*/
EXTL_SAFE
EXTL_EXPORT_MEMBER
-bool region_is_active(WRegion *reg)
+bool region_is_active(WRegion *reg, bool pseudoact_ok)
{
- return REGION_IS_ACTIVE(reg);
+ return (REGION_IS_ACTIVE(reg) ||
+ (pseudoact_ok && REGION_IS_PSEUDOACTIVE(reg)));
}
-static bool region_manager_is_focusnext(WRegion *reg)
+bool region_manager_is_focusnext(WRegion *reg)
{
if(reg==NULL || ioncore_g.focus_next==NULL)
return FALSE;
/*Time ioncore_focus_time=CurrentTime;*/
-void region_finalise_focusing(WRegion* reg, Window win, bool warp)
+void region_finalise_focusing(WRegion* reg, Window win, bool warp, Time time)
{
if(warp)
region_do_warp(reg);
return;
region_set_await_focus(reg);
- /*xwindow_do_set_focus(win);*/
- XSetInputFocus(ioncore_g.dpy, win, RevertToParent,
- CurrentTime/*ioncore_focus_time*/);
- /*ioncore_focus_time=CurrentTime;*/
+ XSetInputFocus(ioncore_g.dpy, win, RevertToParent, time);
}