+static bool try_fullscreen(WClientWin *cwin, WScreen *dflt,
+ const WManageParams *param)
+{
+ WScreen *fs_scr=NULL;
+ bool fs=FALSE, tmp;
+
+ /* Check fullscreen mode. (This is intentionally not done
+ * for transients and windows with target winprops.)
+ */
+ if(extl_table_gets_b(cwin->proptab, "fullscreen", &tmp)){
+ if(!tmp)
+ return FALSE;
+ fs_scr=dflt;
+ }
+
+ if(fs_scr==NULL)
+ fs_scr=netwm_check_initial_fullscreen(cwin);
+
+ if(fs_scr==NULL)
+ fs_scr=clientwin_fullscreen_chkrq(cwin, param->geom.w, param->geom.h);
+
+ if(fs_scr!=NULL){
+ WPHolder *fs_ph=region_prepare_manage((WRegion*)fs_scr, cwin, param,
+ MANAGE_PRIORITY_NOREDIR);
+
+ if(fs_ph!=NULL){
+ int swf=(param->switchto ? PHOLDER_ATTACH_SWITCHTO : 0);
+
+ cwin->flags|=CLIENTWIN_FS_RQ;
+
+ fs=pholder_attach(fs_ph, swf, (WRegion*)cwin);
+
+ if(!fs)
+ cwin->flags&=~CLIENTWIN_FS_RQ;
+
+ destroy_obj((Obj*)fs_ph);
+ }
+ }
+
+ return fs;
+}
+
+