opt: focusid allow cross tag

This commit is contained in:
DreamMaoMao 2026-05-26 22:24:58 +08:00
parent 431b1c1282
commit e29cec64e4
3 changed files with 29 additions and 19 deletions

View file

@ -60,4 +60,30 @@ void client_tile_resize(Client *c, struct wlr_box geo, int32_t interact) {
}
static uint32_t next_client_id = 0;
uint32_t generate_client_id(void) { return ++next_client_id; }
uint32_t generate_client_id(void) { return ++next_client_id; }
void client_active(Client *c) {
uint32_t target;
if (client_is_unmanaged(c)) {
focusclient(c, 1);
return;
}
if (c->swallowing || !c->mon)
return;
if (c->isminimized) {
c->is_in_scratchpad = 0;
c->isnamedscratchpad = 0;
c->is_scratchpad_show = 0;
setborder_color(c);
show_hide_client(c);
arrange(c->mon, true, false);
return;
}
target = get_tags_first_tag(c->tags);
view_in_mon(&(Arg){.ui = target}, true, c->mon, true);
focusclient(c, 1);
}