aboutsummaryrefslogtreecommitdiff
path: root/dminiwm.c
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2011-12-11 15:29:11 +0200
committerIvan Kanakarakis <ivan.kanak@gmail.com>2011-12-11 15:29:11 +0200
commit93bd8b8b4f7c7c69aa5e8abd2f1a0988db326e6c (patch)
tree0f8a1f83b3232e96cae2505e662885072db22ef3 /dminiwm.c
parent8780b82cc9cd5243084b973ddb55c5e8cd40b7d3 (diff)
fix mapping of windows with rules set
Diffstat (limited to 'dminiwm.c')
-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);