예제 #1
0
long desktop(long desk) {
    if (!_check_init()) {
        return -1;
    }
    if(desk > -1) {
        set_current_desktop(desk);
    }
    return get_current_desktop();
}
예제 #2
0
파일: main.c 프로젝트: rofl0r/libxauto
void TEST_set_current_desktop() {
    char *routine = "TEST_set_current_desktop";
    printf(testing, routine);
    long max = desktop_count();
    if(max == 1) {
        return;
    }
    long before = get_current_desktop();
    if(before < max) {
        assert(set_current_desktop(max));
        sleep(1);
        assert(desktop_count() == get_current_desktop());
    } else {
        assert(set_current_desktop(max -1));
        assert(desktop_count() != get_current_desktop());
    }
    set_current_desktop(before);
    printf(done, routine);
}
예제 #3
0
파일: xctrl.c 프로젝트: ld-test/xctrl
XCTRL_API Bool activate_window(Display *disp, Window win, Bool switch_desk) {
  if (switch_desk) {
    long desktop = get_desktop_of_window(disp,win);
    if (desktop>=0) { 
      if (desktop!=get_current_desktop(disp)) {
        set_current_desktop(disp, desktop);
      }
    }
  }
  client_msg(disp, win, "_NET_ACTIVE_WINDOW", 2, 0, 0, 0, 0);
  XSetInputFocus(disp, win, RevertToNone, CurrentTime);
  XMapRaised(disp, win);
  return True;
}