mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-29 05:40:21 -04:00
fix: Fix the height calculation deviation for tile layout
This commit is contained in:
parent
76e53cb971
commit
67bebc2e53
2 changed files with 26 additions and 8 deletions
|
|
@ -327,8 +327,13 @@ void center_tile(Monitor *m) {
|
||||||
Client *c = NULL;
|
Client *c = NULL;
|
||||||
Client *fc = NULL;
|
Client *fc = NULL;
|
||||||
double mfact = 0;
|
double mfact = 0;
|
||||||
|
int master_num = 0;
|
||||||
|
int slave_num = 0;
|
||||||
|
|
||||||
n = m->visible_tiling_clients;
|
n = m->visible_tiling_clients;
|
||||||
|
master_num = m->pertag->nmasters[m->pertag->curtag];
|
||||||
|
slave_num = n - master_num;
|
||||||
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
@ -407,7 +412,8 @@ void center_tile(Monitor *m) {
|
||||||
// 主区域窗口
|
// 主区域窗口
|
||||||
r = MIN(n, nmasters) - i;
|
r = MIN(n, nmasters) - i;
|
||||||
if (c->master_inner_per > 0.0f) {
|
if (c->master_inner_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov - cur_gappiv * ie * (r - 1)) *
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
|
cur_gappiv * ie * (master_num - 1)) *
|
||||||
c->master_inner_per;
|
c->master_inner_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -435,7 +441,7 @@ void center_tile(Monitor *m) {
|
||||||
r = n - i;
|
r = n - i;
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->slave_innder_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov -
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1)) *
|
cur_gappiv * ie * (slave_num - 1)) *
|
||||||
c->slave_innder_per;
|
c->slave_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -471,7 +477,7 @@ void center_tile(Monitor *m) {
|
||||||
// 右侧堆叠窗口
|
// 右侧堆叠窗口
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->slave_innder_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov -
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1)) *
|
cur_gappiv * ie * (slave_num / 2 - 1)) *
|
||||||
c->slave_innder_per;
|
c->slave_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -496,7 +502,7 @@ void center_tile(Monitor *m) {
|
||||||
// 左侧堆叠窗口
|
// 左侧堆叠窗口
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->slave_innder_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov -
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
cur_gappiv * ie * (r - 1)) *
|
cur_gappiv * ie * (slave_num / 2 - 1)) *
|
||||||
c->slave_innder_per;
|
c->slave_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -529,8 +535,12 @@ void tile(Monitor *m) {
|
||||||
Client *c = NULL;
|
Client *c = NULL;
|
||||||
Client *fc = NULL;
|
Client *fc = NULL;
|
||||||
double mfact = 0;
|
double mfact = 0;
|
||||||
|
int master_num = 0;
|
||||||
|
int slave_num = 0;
|
||||||
|
|
||||||
n = m->visible_tiling_clients;
|
n = m->visible_tiling_clients;
|
||||||
|
master_num = m->pertag->nmasters[m->pertag->curtag];
|
||||||
|
slave_num = n - master_num;
|
||||||
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
return;
|
return;
|
||||||
|
|
@ -568,7 +578,8 @@ void tile(Monitor *m) {
|
||||||
if (i < m->pertag->nmasters[m->pertag->curtag]) {
|
if (i < m->pertag->nmasters[m->pertag->curtag]) {
|
||||||
r = MIN(n, m->pertag->nmasters[m->pertag->curtag]) - i;
|
r = MIN(n, m->pertag->nmasters[m->pertag->curtag]) - i;
|
||||||
if (c->master_inner_per > 0.0f) {
|
if (c->master_inner_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov - cur_gappiv * ie * (r - 1)) *
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
|
cur_gappiv * ie * (master_num - 1)) *
|
||||||
c->master_inner_per;
|
c->master_inner_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -589,7 +600,8 @@ void tile(Monitor *m) {
|
||||||
} else {
|
} else {
|
||||||
r = n - i;
|
r = n - i;
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->slave_innder_per > 0.0f) {
|
||||||
h = (m->w.height - 2 * cur_gappov - cur_gappiv * ie * (r - 1)) *
|
h = (m->w.height - 2 * cur_gappov -
|
||||||
|
cur_gappiv * ie * (slave_num - 1)) *
|
||||||
c->slave_innder_per;
|
c->slave_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -3,8 +3,12 @@ void vertical_tile(Monitor *m) {
|
||||||
Client *c = NULL;
|
Client *c = NULL;
|
||||||
Client *fc = NULL;
|
Client *fc = NULL;
|
||||||
double mfact = 0;
|
double mfact = 0;
|
||||||
|
int master_num = 0;
|
||||||
|
int slave_num = 0;
|
||||||
|
|
||||||
n = m->visible_tiling_clients;
|
n = m->visible_tiling_clients;
|
||||||
|
master_num = m->pertag->nmasters[m->pertag->curtag];
|
||||||
|
slave_num = n - master_num;
|
||||||
|
|
||||||
if (n == 0)
|
if (n == 0)
|
||||||
return;
|
return;
|
||||||
|
|
@ -42,7 +46,8 @@ void vertical_tile(Monitor *m) {
|
||||||
if (i < m->pertag->nmasters[m->pertag->curtag]) {
|
if (i < m->pertag->nmasters[m->pertag->curtag]) {
|
||||||
r = MIN(n, m->pertag->nmasters[m->pertag->curtag]) - i;
|
r = MIN(n, m->pertag->nmasters[m->pertag->curtag]) - i;
|
||||||
if (c->master_inner_per > 0.0f) {
|
if (c->master_inner_per > 0.0f) {
|
||||||
w = (m->w.width - 2 * cur_gapih - cur_gapih * ie * (r - 1)) *
|
w = (m->w.width - 2 * cur_gapih -
|
||||||
|
cur_gapih * ie * (master_num - 1)) *
|
||||||
c->master_inner_per;
|
c->master_inner_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -62,7 +67,8 @@ void vertical_tile(Monitor *m) {
|
||||||
} else {
|
} else {
|
||||||
r = n - i;
|
r = n - i;
|
||||||
if (c->slave_innder_per > 0.0f) {
|
if (c->slave_innder_per > 0.0f) {
|
||||||
w = (m->w.width - 2 * cur_gapih - cur_gapih * ie * (r - 1)) *
|
w = (m->w.width - 2 * cur_gapih -
|
||||||
|
cur_gapih * ie * (slave_num - 1)) *
|
||||||
c->slave_innder_per;
|
c->slave_innder_per;
|
||||||
c->master_mfact_per = mfact;
|
c->master_mfact_per = mfact;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue