X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ion3.git;a=blobdiff_plain;f=mod_tiling%2Ftiling.c;h=48bbb86f506a3976f57258831660bb12a4710544;hp=877a8a861a9d11c1c03f328a0d1c82c2dcd0e8c5;hb=e3aec18706513a87eaa7839dfdaf7e0fcd0d8d2a;hpb=1cd244db6df1337d594b9e2456c735cbc28aea6c diff --git a/mod_tiling/tiling.c b/mod_tiling/tiling.c index 877a8a8..48bbb86 100644 --- a/mod_tiling/tiling.c +++ b/mod_tiling/tiling.c @@ -1,7 +1,7 @@ /* * ion/mod_tiling/tiling.c * - * Copyright (c) Tuomo Valkonen 1999-2007. + * Copyright (c) Tuomo Valkonen 1999-2009. * * See the included file LICENSE for details. */ @@ -432,6 +432,8 @@ void tiling_manage_stdisp(WTiling *ws, WRegion *stdisp, tiling_unmanage_stdisp(ws, TRUE, TRUE); return; } + + stdisp->flags|=REGION_SKIP_FOCUS; dg=((WSplit*)(ws->stdispnode))->geom; @@ -476,8 +478,7 @@ bool tiling_managed_add_default(WTiling *ws, WRegion *reg) frame=OBJ_CAST(reg, WFrame); if(frame!=NULL){ - WFrameMode mode=frame_mode(frame); - if(mode!=FRAME_MODE_TILED && mode!=FRAME_MODE_TILED_ALT) + if(framemode_unalt(frame_mode(frame))!=FRAME_MODE_TILED) frame_set_mode(frame, FRAME_MODE_TILED); } @@ -991,10 +992,6 @@ static WFrame *tiling_do_split(WTiling *ws, WSplit *node, destroy_obj((Obj*)newframe); return NULL; } - - /* Restack */ - if(ws->split_tree!=NULL) - split_restack(ws->split_tree, ws->dummywin, Above); return newframe; } @@ -1084,7 +1081,7 @@ void tiling_unsplit_at(WTiling *ws, WRegion *reg) ph=region_get_rescue_pholder_for((WRegion*)ws, reg); if(ph!=NULL){ - region_rescue(reg, ph); + region_rescue(reg, ph, REGION_RESCUE_NODEEP|REGION_RESCUE_PHFLAGS_OK); destroy_obj((Obj*)ph); } @@ -1112,7 +1109,8 @@ WRegion *tiling_current(WTiling *ws) /*EXTL_DOC * Iterate over managed regions of \var{ws} 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_SAFE