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