Client: Add ignore_next_client_rules uicb function requested by Armael.
This commit is contained in:
parent
c5da009b7a
commit
06a9c44792
19
src/client.c
19
src/client.c
@ -837,6 +837,12 @@ client_set_wanted_tag(Client *c)
|
||||
XClassHint xch = { 0 };
|
||||
int i, j, k;
|
||||
|
||||
if(conf.ignore_next_client_rules)
|
||||
{
|
||||
conf.ignore_next_client_rules = False;
|
||||
return;
|
||||
}
|
||||
|
||||
XGetClassHint(dpy, c->win, &xch);
|
||||
|
||||
for(i = 0; i < screen_count(); ++i)
|
||||
@ -1130,3 +1136,16 @@ uicb_client_resize(uicb_t cmd)
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/** Ignore next client rules
|
||||
*\param cmd uicb_t type
|
||||
*/
|
||||
void
|
||||
uicb_ignore_next_client_rules(uicb_t cmd)
|
||||
{
|
||||
conf.ignore_next_client_rules = !conf.ignore_next_client_rules;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
83
src/config.c
83
src/config.c
@ -37,48 +37,47 @@ static void conf_section(void (*)(char*), char *, char *);
|
||||
|
||||
func_name_list_t tmp_func_list[] =
|
||||
{
|
||||
{"spawn", uicb_spawn },
|
||||
{"client_kill", uicb_client_kill },
|
||||
{"client_prev", uicb_client_prev },
|
||||
{"client_next", uicb_client_next },
|
||||
{"client_swap_next", uicb_client_swap_next },
|
||||
{"client_swap_prev", uicb_client_swap_prev },
|
||||
{"client_screen_next", uicb_client_screen_next },
|
||||
{"client_screen_prev", uicb_client_screen_prev },
|
||||
{"client_move", uicb_client_move },
|
||||
{"client_resize", uicb_client_resize },
|
||||
{"toggle_max", uicb_togglemax },
|
||||
{"layout_next", uicb_layout_next },
|
||||
{"layout_prev", uicb_layout_prev },
|
||||
{"tag", uicb_tag },
|
||||
{"tag_next", uicb_tag_next },
|
||||
{"tag_prev", uicb_tag_prev },
|
||||
{"tag_prev_sel", uicb_tag_prev_sel },
|
||||
{"tag_transfert", uicb_tagtransfert },
|
||||
{"tag_transfert_next", uicb_tagtransfert_next },
|
||||
{"tag_transfert_prev", uicb_tagtransfert_prev },
|
||||
{"set_mwfact", uicb_set_mwfact },
|
||||
{"set_nmaster", uicb_set_nmaster },
|
||||
{"quit", uicb_quit },
|
||||
{"toggle_infobar_position", uicb_infobar_togglepos },
|
||||
{"toggle_resizehint", uicb_toggle_resizehint },
|
||||
{"mouse_move", uicb_mouse_move },
|
||||
{"mouse_resize", uicb_mouse_resize },
|
||||
{"client_raise", uicb_client_raise },
|
||||
{"toggle_free", uicb_togglefree },
|
||||
{"toggle_abovefc", uicb_toggle_abovefc },
|
||||
{"screen_select", uicb_screen_select },
|
||||
{"screen_next", uicb_screen_next },
|
||||
{"screen_prev", uicb_screen_prev },
|
||||
{"screen_prev_sel", uicb_screen_prev_sel},
|
||||
{"reload", uicb_reload },
|
||||
{"launcher", uicb_launcher },
|
||||
{"set_layout", uicb_set_layout },
|
||||
{"menu", uicb_menu },
|
||||
{"set_client_layer", uicb_set_client_layer },
|
||||
{"set_layer", uicb_set_layer }
|
||||
|
||||
|
||||
{"spawn", uicb_spawn },
|
||||
{"client_kill", uicb_client_kill },
|
||||
{"client_prev", uicb_client_prev },
|
||||
{"client_next", uicb_client_next },
|
||||
{"client_swap_next", uicb_client_swap_next },
|
||||
{"client_swap_prev", uicb_client_swap_prev },
|
||||
{"client_screen_next", uicb_client_screen_next },
|
||||
{"client_screen_prev", uicb_client_screen_prev },
|
||||
{"client_move", uicb_client_move },
|
||||
{"client_resize", uicb_client_resize },
|
||||
{"toggle_max", uicb_togglemax },
|
||||
{"layout_next", uicb_layout_next },
|
||||
{"layout_prev", uicb_layout_prev },
|
||||
{"tag", uicb_tag },
|
||||
{"tag_next", uicb_tag_next },
|
||||
{"tag_prev", uicb_tag_prev },
|
||||
{"tag_prev_sel", uicb_tag_prev_sel },
|
||||
{"tag_transfert", uicb_tagtransfert },
|
||||
{"tag_transfert_next", uicb_tagtransfert_next },
|
||||
{"tag_transfert_prev", uicb_tagtransfert_prev },
|
||||
{"set_mwfact", uicb_set_mwfact },
|
||||
{"set_nmaster", uicb_set_nmaster },
|
||||
{"quit", uicb_quit },
|
||||
{"toggle_infobar_position", uicb_infobar_togglepos },
|
||||
{"toggle_resizehint", uicb_toggle_resizehint },
|
||||
{"mouse_move", uicb_mouse_move },
|
||||
{"mouse_resize", uicb_mouse_resize },
|
||||
{"client_raise", uicb_client_raise },
|
||||
{"toggle_free", uicb_togglefree },
|
||||
{"toggle_abovefc", uicb_toggle_abovefc },
|
||||
{"screen_select", uicb_screen_select },
|
||||
{"screen_next", uicb_screen_next },
|
||||
{"screen_prev", uicb_screen_prev },
|
||||
{"screen_prev_sel", uicb_screen_prev_sel},
|
||||
{"reload", uicb_reload },
|
||||
{"launcher", uicb_launcher },
|
||||
{"set_layout", uicb_set_layout },
|
||||
{"menu", uicb_menu },
|
||||
{"set_client_layer", uicb_set_client_layer },
|
||||
{"set_layer", uicb_set_layer },
|
||||
{"ignore_next_client_rules", uicb_ignore_next_client_rules }
|
||||
};
|
||||
|
||||
key_name_list_t key_list[] =
|
||||
|
||||
@ -323,6 +323,7 @@ typedef struct
|
||||
Bool raisefocus;
|
||||
Bool raiseswitch;
|
||||
Bool focus_fmouse;
|
||||
Bool ignore_next_client_rules;
|
||||
uint pad;
|
||||
int status_timing;
|
||||
char *status_path;
|
||||
|
||||
@ -181,6 +181,8 @@ void uicb_client_screen_next(uicb_t);
|
||||
void uicb_client_screen_prev(uicb_t);
|
||||
void uicb_client_move(uicb_t cmd);
|
||||
void uicb_client_resize(uicb_t cmd);
|
||||
void uicb_ignore_next_client_rules(uicb_t cmd);
|
||||
|
||||
|
||||
/* ewmh.c */
|
||||
void ewmh_init_hints(void);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user