- commit
- d35009637fe3f02ffcd9c40a9337664d3a03fc15
- parent
- aa67219b86e71a4745d3e6de5f865941d95680cd
- Author
- Tobias Bengfort <tobias.bengfort@posteo.de>
- Date
- 2019-10-13 08:55
refactor setdesktop
Diffstat
| M | xiwm.c | 45 | +++++++++++++++++---------------------------- |
1 files changed, 17 insertions, 28 deletions
diff --git a/xiwm.c b/xiwm.c
@@ -278,13 +278,6 @@ xsetclientdesktop(Client *c) 278 278 } 279 279 280 280 void281 -1 xsetdesktop(void)282 -1 {283 -1 XChangeProperty(dpy, root, netatom[NetCurrentDesktop], XA_CARDINAL, 32,284 -1 PropModeReplace, (unsigned char *) &desktop, 1);285 -1 }286 -1287 -1 void288 281 resize(Client *c, int x, int y, int w, int h, int bw) 289 282 { 290 283 XWindowChanges wc; @@ -379,6 +372,17 @@ setfullscreen(Client *c, Bool fullscreen) 379 372 } 380 373 } 381 374 -1 375 void -1 376 setdesktop(unsigned int i) -1 377 { -1 378 if (i == desktop || i > desktops) -1 379 return; -1 380 desktop = i; -1 381 XChangeProperty(dpy, root, netatom[NetCurrentDesktop], XA_CARDINAL, 32, -1 382 PropModeReplace, (unsigned char *) &desktop, 1); -1 383 layout(); -1 384 } -1 385 382 386 Atom 383 387 getatomprop(Client *c, Atom prop) 384 388 { @@ -594,12 +598,8 @@ clientmessage(XEvent *e) 594 598 setfullscreen(c, (cme->data.l[0] == 1 || (cme->data.l[0] == 2 && !c->isfullscreen))); 595 599 } else if (cme->message_type == netatom[NetActiveWindow]) { 596 600 if (c != sel) {597 -1 if (c->desktop != desktop) {598 -1 desktop = c->desktop;599 -1 xsetdesktop();600 -1 }-1 601 setdesktop(c->desktop); 601 602 focus(c);602 -1 layout();603 603 } 604 604 } 605 605 } @@ -658,12 +658,8 @@ tag(const Arg *arg) 658 658 return; 659 659 sel->desktop = arg->ui; 660 660 xsetclientdesktop(sel);661 -1 if (desktop != arg->ui) {662 -1 desktop = arg->ui;663 -1 xsetdesktop();664 -1 }-1 661 setdesktop(arg->ui); 665 662 focus(NULL);666 -1 layout();667 663 } 668 664 669 665 void @@ -676,21 +672,15 @@ tagrel(const Arg *arg) 676 672 void 677 673 view(const Arg *arg) 678 674 {679 -1 if (arg->ui == desktop)680 -1 return;681 -1 if (arg->ui >= desktops)682 -1 return;683 -1 desktop = arg->ui;684 -1 xsetdesktop();-1 675 setdesktop(arg->ui); 685 676 focus(NULL);686 -1 layout();687 677 } 688 678 689 679 void 690 680 viewrel(const Arg *arg) 691 681 {692 -1 Arg a = {.ui = desktop + arg->i};693 -1 view(&a);-1 682 setdesktop(desktop + arg->i); -1 683 focus(NULL); 694 684 } 695 685 696 686 void @@ -873,7 +863,6 @@ setup(void) 873 863 sh = DisplayHeight(dpy, screen); 874 864 root = RootWindow(dpy, screen); 875 865 bh = 0;876 -1 desktop = inidesktop;877 866 878 867 /* init atoms */ 879 868 utf8string = XInternAtom(dpy, "UTF8_STRING", False); @@ -910,7 +899,7 @@ setup(void) 910 899 /* select events */ 911 900 XSelectInput(dpy, root, ROOTMASK); 912 901 grabkeys();913 -1 xsetdesktop();-1 902 setdesktop(inidesktop); 914 903 focus(NULL); 915 904 } 916 905