mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2025-10-29 05:40:21 -04:00
fix: can't switch layout in ~0 tag
This commit is contained in:
parent
f826bc1fba
commit
d228a9b8a0
1 changed files with 13 additions and 9 deletions
|
|
@ -418,9 +418,12 @@ void restore_minimized(const Arg *arg) {
|
||||||
void // 17
|
void // 17
|
||||||
setlayout(const Arg *arg) {
|
setlayout(const Arg *arg) {
|
||||||
int jk;
|
int jk;
|
||||||
|
unsigned int target_tag = selmon->pertag->curtag ? selmon->pertag->curtag
|
||||||
|
: selmon->pertag->prevtag;
|
||||||
|
|
||||||
for (jk = 0; jk < LENGTH(layouts); jk++) {
|
for (jk = 0; jk < LENGTH(layouts); jk++) {
|
||||||
if (strcmp(layouts[jk].name, arg->v) == 0) {
|
if (strcmp(layouts[jk].name, arg->v) == 0) {
|
||||||
selmon->pertag->ltidxs[selmon->pertag->curtag] = &layouts[jk];
|
selmon->pertag->ltidxs[target_tag] = &layouts[jk];
|
||||||
|
|
||||||
arrange(selmon, false);
|
arrange(selmon, false);
|
||||||
printstatus();
|
printstatus();
|
||||||
|
|
@ -820,17 +823,17 @@ void switch_layout(const Arg *arg) {
|
||||||
int jk, ji;
|
int jk, ji;
|
||||||
char *target_layout_name = NULL;
|
char *target_layout_name = NULL;
|
||||||
unsigned int len;
|
unsigned int len;
|
||||||
|
unsigned int target_tag = selmon->pertag->curtag ? selmon->pertag->curtag
|
||||||
|
: selmon->pertag->prevtag;
|
||||||
|
|
||||||
if (config.circle_layout_count != 0) {
|
if (config.circle_layout_count != 0) {
|
||||||
for (jk = 0; jk < config.circle_layout_count; jk++) {
|
for (jk = 0; jk < config.circle_layout_count; jk++) {
|
||||||
|
|
||||||
len = MAX(
|
len = MAX(strlen(config.circle_layout[jk]),
|
||||||
strlen(config.circle_layout[jk]),
|
strlen(selmon->pertag->ltidxs[target_tag]->name));
|
||||||
strlen(selmon->pertag->ltidxs[selmon->pertag->curtag]->name));
|
|
||||||
|
|
||||||
if (strncmp(config.circle_layout[jk],
|
if (strncmp(config.circle_layout[jk],
|
||||||
selmon->pertag->ltidxs[selmon->pertag->curtag]->name,
|
selmon->pertag->ltidxs[target_tag]->name, len) == 0) {
|
||||||
len) == 0) {
|
|
||||||
target_layout_name = jk == config.circle_layout_count - 1
|
target_layout_name = jk == config.circle_layout_count - 1
|
||||||
? config.circle_layout[0]
|
? config.circle_layout[0]
|
||||||
: config.circle_layout[jk + 1];
|
: config.circle_layout[jk + 1];
|
||||||
|
|
@ -845,7 +848,8 @@ void switch_layout(const Arg *arg) {
|
||||||
for (ji = 0; ji < LENGTH(layouts); ji++) {
|
for (ji = 0; ji < LENGTH(layouts); ji++) {
|
||||||
len = MAX(strlen(layouts[ji].name), strlen(target_layout_name));
|
len = MAX(strlen(layouts[ji].name), strlen(target_layout_name));
|
||||||
if (strncmp(layouts[ji].name, target_layout_name, len) == 0) {
|
if (strncmp(layouts[ji].name, target_layout_name, len) == 0) {
|
||||||
selmon->pertag->ltidxs[selmon->pertag->curtag] = &layouts[ji];
|
selmon->pertag->ltidxs[target_tag] = &layouts[ji];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -857,8 +861,8 @@ void switch_layout(const Arg *arg) {
|
||||||
|
|
||||||
for (jk = 0; jk < LENGTH(layouts); jk++) {
|
for (jk = 0; jk < LENGTH(layouts); jk++) {
|
||||||
if (strcmp(layouts[jk].name,
|
if (strcmp(layouts[jk].name,
|
||||||
selmon->pertag->ltidxs[selmon->pertag->curtag]->name) == 0) {
|
selmon->pertag->ltidxs[target_tag]->name) == 0) {
|
||||||
selmon->pertag->ltidxs[selmon->pertag->curtag] =
|
selmon->pertag->ltidxs[target_tag] =
|
||||||
jk == LENGTH(layouts) - 1 ? &layouts[0] : &layouts[jk + 1];
|
jk == LENGTH(layouts) - 1 ? &layouts[0] : &layouts[jk + 1];
|
||||||
arrange(selmon, false);
|
arrange(selmon, false);
|
||||||
printstatus();
|
printstatus();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue