X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ion3.git;a=blobdiff_plain;f=ioncore%2Ffocus.h;h=683d8aebba704b75ab14f74f0d46aa691e506227;hp=e995d6d087fb3f4421ab58a3d040dac3e7460b7c;hb=20070203;hpb=8366314611bf30a0f31d25bf5f5023186fa87692 diff --git a/ioncore/focus.h b/ioncore/focus.h index e995d6d..683d8ae 100644 --- a/ioncore/focus.h +++ b/ioncore/focus.h @@ -1,7 +1,7 @@ /* * ion/ioncore/focus.h * - * Copyright (c) Tuomo Valkonen 1999-2006. + * Copyright (c) Tuomo Valkonen 1999-2007. * * Ion is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by @@ -17,22 +17,24 @@ #include "window.h" #include "region.h" -DYNFUN void region_do_set_focus(WRegion *reg, bool warp); /* Delayed (until return to main loop) warp/focus */ -extern void region_warp(WRegion *reg); -extern void region_set_focus(WRegion *reg); extern void region_maybewarp(WRegion *reg, bool warp); +/* warp/focus now; do not skip enter window events etc. in mainloop */ +extern void region_maybewarp_now(WRegion *reg, bool warp); -/* Immediate warp/focus */ -extern void region_do_warp(WRegion *reg); -extern bool region_do_warp_default(WRegion *reg); +extern void region_warp(WRegion *reg); /* maybewarp TRUE */ +extern void region_set_focus(WRegion *reg); /* maybewarp FALSE */ extern void region_finalise_focusing(WRegion* reg, Window win, bool warp); +DYNFUN void region_do_set_focus(WRegion *reg, bool warp); +extern void region_do_warp(WRegion *reg); +extern bool region_do_warp_default(WRegion *reg); + /* Awaiting focus state */ extern void region_set_await_focus(WRegion *reg); -extern bool ioncore_await_focus(); +extern WRegion *ioncore_await_focus(); /* Event handling */ extern void region_got_focus(WRegion *reg); @@ -45,20 +47,20 @@ extern bool region_may_control_focus(WRegion *reg); extern bool region_is_active(WRegion *reg); /* Focus history */ -extern void region_focuslist_remove(WRegion *reg); +extern void region_focuslist_remove_with_mgrs(WRegion *reg); extern void region_focuslist_push(WRegion *reg); extern void region_focuslist_move_after(WRegion *reg, WRegion *after); extern void region_focuslist_deinit(WRegion *reg); extern WRegion *ioncore_goto_previous(); -/* Handlers to these shook should take WRegion* as parameter. */ +/* Handlers to this hook should take WRegion* as parameter. */ extern WHook *region_do_warp_alt; -extern WHook *region_activated_hook; -extern WHook *region_inactivated_hook; /* Misc. */ extern bool region_skip_focus(WRegion *reg); WRegion *ioncore_current(); +extern void region_pointer_focus_hack(WRegion *reg); + #endif /* ION_IONCORE_FOCUS_H */