float lowering
This commit is contained in:
parent
a6781157b6
commit
23bbe21428
2
config.c
2
config.c
|
@ -147,6 +147,7 @@ parse_config(Display * disp, int scr,const char *confpatharg, awesome_config *aw
|
|||
CFG_BOOL((char *) "resize_hints", cfg_false, CFGF_NONE),
|
||||
CFG_INT((char *) "opacity_unfocused", 100, CFGF_NONE),
|
||||
CFG_BOOL((char *) "focus_move_pointer", cfg_false, CFGF_NONE),
|
||||
CFG_BOOL((char *) "allow_lower_floats", cfg_false, CFGF_NONE),
|
||||
CFG_STR((char *) "font", (char *) "mono-12", CFGF_NONE),
|
||||
CFG_END()
|
||||
};
|
||||
|
@ -276,6 +277,7 @@ parse_config(Display * disp, int scr,const char *confpatharg, awesome_config *aw
|
|||
awesomeconf->resize_hints = cfg_getbool(cfg_general, "resize_hints");
|
||||
awesomeconf->opacity_unfocused = cfg_getint(cfg_general, "opacity_unfocused");
|
||||
awesomeconf->focus_move_pointer = cfg_getbool(cfg_general, "focus_move_pointer");
|
||||
awesomeconf->allow_lower_floats = cfg_getbool(cfg_general, "allow_lower_floats");
|
||||
awesomeconf->font = XftFontOpenName(disp, awesomeconf->phys_screen, cfg_getstr(cfg_general, "font"));
|
||||
if(!awesomeconf->font)
|
||||
eprint("awesome: cannot init font\n");
|
||||
|
|
2
config.h
2
config.h
|
@ -169,6 +169,8 @@ struct awesome_config
|
|||
int opacity_unfocused;
|
||||
/** Focus move pointer */
|
||||
Bool focus_move_pointer;
|
||||
/** Allow floats to be lowered on focus change */
|
||||
Bool allow_lower_floats;
|
||||
/** Respect resize hints */
|
||||
Bool resize_hints;
|
||||
/** Text displayed in bar */
|
||||
|
|
33
layout.c
33
layout.c
|
@ -121,23 +121,28 @@ restack(Display * disp, awesome_config *awesomeconf)
|
|||
drawstatusbar(disp, awesomeconf);
|
||||
if(!*awesomeconf->client_sel)
|
||||
return;
|
||||
if((*awesomeconf->client_sel)->isfloating || IS_ARRANGE(0, layout_floating))
|
||||
if(awesomeconf->allow_lower_floats)
|
||||
XRaiseWindow(disp, (*awesomeconf->client_sel)->win);
|
||||
if(!IS_ARRANGE(0, layout_floating))
|
||||
else
|
||||
{
|
||||
wc.stack_mode = Below;
|
||||
wc.sibling = awesomeconf->statusbar.window;
|
||||
if(!(*awesomeconf->client_sel)->isfloating)
|
||||
if((*awesomeconf->client_sel)->isfloating || IS_ARRANGE(0, layout_floating))
|
||||
XRaiseWindow(disp, (*awesomeconf->client_sel)->win);
|
||||
if(!IS_ARRANGE(0, layout_floating))
|
||||
{
|
||||
XConfigureWindow(disp, (*awesomeconf->client_sel)->win, CWSibling | CWStackMode, &wc);
|
||||
wc.sibling = (*awesomeconf->client_sel)->win;
|
||||
}
|
||||
for(c = *awesomeconf->clients; c; c = c->next)
|
||||
{
|
||||
if(!IS_TILED(c, awesomeconf->screen, awesomeconf->tags, awesomeconf->ntags) || c == *awesomeconf->client_sel)
|
||||
continue;
|
||||
XConfigureWindow(disp, c->win, CWSibling | CWStackMode, &wc);
|
||||
wc.sibling = c->win;
|
||||
wc.stack_mode = Below;
|
||||
wc.sibling = awesomeconf->statusbar.window;
|
||||
if(!(*awesomeconf->client_sel)->isfloating)
|
||||
{
|
||||
XConfigureWindow(disp, (*awesomeconf->client_sel)->win, CWSibling | CWStackMode, &wc);
|
||||
wc.sibling = (*awesomeconf->client_sel)->win;
|
||||
}
|
||||
for(c = *awesomeconf->clients; c; c = c->next)
|
||||
{
|
||||
if(!IS_TILED(c, awesomeconf->screen, awesomeconf->tags, awesomeconf->ntags) || c == *awesomeconf->client_sel)
|
||||
continue;
|
||||
XConfigureWindow(disp, c->win, CWSibling | CWStackMode, &wc);
|
||||
wc.sibling = c->win;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(awesomeconf->focus_move_pointer)
|
||||
|
|
Loading…
Reference in New Issue