aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dminiwm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/dminiwm.c b/dminiwm.c
index 7ba543a..d9ba47e 100644
--- a/dminiwm.c
+++ b/dminiwm.c
@@ -559,15 +559,19 @@ void maprequest(XEvent *e) {
/* window is normal and has a rule set */
XClassHint ch = {0, 0};
- int cd = current_desktop;
if(XGetClassHint(dis, ev->window, &ch))
for(unsigned int i=0; i<nrules; i++)
if(strcmp(ch.res_class, rules[i].class) == 0) {
+ int cd = current_desktop;
save_desktop(cd);
select_desktop(rules[i].desktop);
add_window(ev->window);
select_desktop(cd);
- if(rules[i].follow)
+ if(cd == rules[i].desktop) {
+ XMapWindow(dis, ev->window);
+ tile();
+ update_current();
+ } else if(rules[i].follow)
change_desktop((Arg){.i = rules[i].desktop});
if(ch.res_class)
XFree(ch.res_class);