opt: ov_tab_mode not conflict ov_jump_mode

This commit is contained in:
DreamMaoMao 2026-06-19 11:04:44 +08:00
parent fb5360f053
commit adc1239075
3 changed files with 9 additions and 6 deletions

View file

@ -1730,7 +1730,8 @@ int32_t toggleoverview(const Arg *arg) {
Client *sel = arg->tc ? arg->tc : selmon->sel;
if (selmon->isoverview && config.ov_tab_mode && arg->i != 1 && sel) {
if (selmon->isoverview && config.ov_tab_mode && !selmon->is_jump_mode &&
arg->i != 1 && sel) {
focusstack(&(Arg){.i = 1});
return 0;
}

View file

@ -164,7 +164,8 @@ static cJSON *build_client_json(Client *c) {
cJSON_AddNumberToObject(obj, "y", c->geom.y);
cJSON_AddNumberToObject(obj, "width", c->geom.width);
cJSON_AddNumberToObject(obj, "height", c->geom.height);
cJSON_AddNumberToObject(obj, "scroller_proportion", (double)c->scroller_proportion);
cJSON_AddNumberToObject(obj, "scroller_proportion",
(double)c->scroller_proportion);
return obj;
}

View file

@ -1728,10 +1728,11 @@ void applyrules(Client *c) {
// the hit size
if (!c->iscustompos &&
(!client_is_x11(c) || (c->geom.x == 0 && c->geom.y == 0))) {
struct wlr_box pending_center_geom = c->iscustomsize ? c->float_geom : c->geom;
struct wlr_box pending_center_geom =
c->iscustomsize ? c->float_geom : c->geom;
c->float_geom = c->geom =
setclient_coordinate_center(c, mon, pending_center_geom, 0, 0);
} else if(!c->iscustomsize) {
} else if (!c->iscustomsize) {
c->float_geom = c->geom;
}
@ -4251,8 +4252,8 @@ void keypress(struct wl_listener *listener, void *data) {
wlr_idle_notifier_v1_notify_activity(idle_notifier, seat);
// ov tab mode detect moe key release
if (config.ov_tab_mode && !locked && group == kb_group &&
event->state == WL_KEYBOARD_KEY_STATE_RELEASED &&
if (config.ov_tab_mode && !selmon->is_jump_mode && !locked &&
group == kb_group && event->state == WL_KEYBOARD_KEY_STATE_RELEASED &&
(keycode == 133 || keycode == 37 || keycode == 64 || keycode == 50 ||
keycode == 134 || keycode == 105 || keycode == 108 || keycode == 62) &&
selmon && selmon->sel) {