mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-31 22:25:29 -04:00
fix: dont use floating window as scroller root client
This commit is contained in:
parent
32abad6aad
commit
c23c74627f
2 changed files with 6 additions and 4 deletions
|
|
@ -357,7 +357,8 @@ void scroller(Monitor *m) {
|
||||||
if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating &&
|
if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating &&
|
||||||
!m->sel->ismaxmizescreen && !m->sel->isfullscreen) {
|
!m->sel->ismaxmizescreen && !m->sel->isfullscreen) {
|
||||||
root_client = m->sel;
|
root_client = m->sel;
|
||||||
} else if (m->prevsel && !client_is_unmanaged(m->prevsel)) {
|
} else if (m->prevsel && ISTILED(m->prevsel) &&
|
||||||
|
!client_is_unmanaged(m->prevsel)) {
|
||||||
root_client = m->prevsel;
|
root_client = m->prevsel;
|
||||||
} else {
|
} else {
|
||||||
root_client = center_select(m);
|
root_client = center_select(m);
|
||||||
|
|
@ -394,7 +395,7 @@ void scroller(Monitor *m) {
|
||||||
(m->prevsel->scroller_proportion * max_client_width) +
|
(m->prevsel->scroller_proportion * max_client_width) +
|
||||||
(root_client->scroller_proportion * max_client_width) >
|
(root_client->scroller_proportion * max_client_width) >
|
||||||
m->w.width - 2 * scroller_structs - cur_gappih) &&
|
m->w.width - 2 * scroller_structs - cur_gappih) &&
|
||||||
scroller_prefer_center)) {
|
ISTILED(m->prevsel) && scroller_prefer_center)) {
|
||||||
target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2;
|
target_geom.x = m->w.x + (m->w.width - target_geom.width) / 2;
|
||||||
} else {
|
} else {
|
||||||
target_geom.x = root_client->geom.x > m->w.x + (m->w.width) / 2
|
target_geom.x = root_client->geom.x > m->w.x + (m->w.width) / 2
|
||||||
|
|
|
||||||
|
|
@ -344,7 +344,8 @@ void vertical_scroller(Monitor *m) {
|
||||||
if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating &&
|
if (m->sel && !client_is_unmanaged(m->sel) && !m->sel->isfloating &&
|
||||||
!m->sel->ismaxmizescreen && !m->sel->isfullscreen) {
|
!m->sel->ismaxmizescreen && !m->sel->isfullscreen) {
|
||||||
root_client = m->sel;
|
root_client = m->sel;
|
||||||
} else if (m->prevsel && !client_is_unmanaged(m->prevsel)) {
|
} else if (m->prevsel && ISTILED(m->prevsel) &&
|
||||||
|
!client_is_unmanaged(m->prevsel)) {
|
||||||
root_client = m->prevsel;
|
root_client = m->prevsel;
|
||||||
} else {
|
} else {
|
||||||
root_client = center_select(m);
|
root_client = center_select(m);
|
||||||
|
|
@ -381,7 +382,7 @@ void vertical_scroller(Monitor *m) {
|
||||||
(m->prevsel->scroller_proportion * max_client_height) +
|
(m->prevsel->scroller_proportion * max_client_height) +
|
||||||
(root_client->scroller_proportion * max_client_height) >
|
(root_client->scroller_proportion * max_client_height) >
|
||||||
m->w.height - 2 * scroller_structs - cur_gappiv) &&
|
m->w.height - 2 * scroller_structs - cur_gappiv) &&
|
||||||
scroller_prefer_center)) {
|
ISTILED(m->prevsel) && scroller_prefer_center)) {
|
||||||
target_geom.y = m->w.y + (m->w.height - target_geom.height) / 2;
|
target_geom.y = m->w.y + (m->w.height - target_geom.height) / 2;
|
||||||
} else {
|
} else {
|
||||||
target_geom.y = root_client->geom.y > m->w.y + (m->w.height) / 2
|
target_geom.y = root_client->geom.y > m->w.y + (m->w.height) / 2
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue