LINUX.ORG.RU

как в dwm скрыть bar?

 


0

1

Делаю на определенных тэгах monocle

// change layout in tags
if(i == 1 || i == 4) {
    // set monocle
    m->pertag->ltidxs[i][0] = m->lt[1];
    // togglebar(NULL);
    } else {
    m->pertag->ltidxs[i][0] = m->lt[0];
}
m->pertag->ltidxs[i][1] = m->lt[1];

Не могу понять, как на этих тэгах скрывать bar? Пробовал делать

togglebar(NULL); 

Не получается. Dwm падает


Ответ на: комментарий от bread
Monitor *
createmon(void)
{
	Monitor *m;
	unsigned int i;

	m = ecalloc(1, sizeof(Monitor));
	m->tagset[0] = m->tagset[1] = 1;
	m->mfact = mfact;
	m->nmaster = nmaster;
	m->showbar = showbar;
	m->topbar = topbar;
	m->lt[0] = &layouts[0];
	m->lt[1] = &layouts[1 % LENGTH(layouts)];
	strncpy(m->ltsymbol, layouts[0].symbol, sizeof m->ltsymbol);
	m->pertag = ecalloc(1, sizeof(Pertag));
	m->pertag->curtag = m->pertag->prevtag = 1;

	for (i = 0; i <= LENGTH(tags); i++) {
		m->pertag->nmasters[i] = m->nmaster;
		m->pertag->mfacts[i] = m->mfact;
		
        // change layout in tags
        if(i == 1 || i == 4) {
          // set monocle
          m->pertag->ltidxs[i][0] = m->lt[1];
          m->pertag->showbars[i] = 0;
        } else {
          m->pertag->ltidxs[i][0] = m->lt[0];
        }
        m->pertag->ltidxs[i][1] = m->lt[1];

  
       
        
		m->pertag->sellts[i] = m->sellt;
		m->pertag->showbars[i] = m->showbar;
	}

	return m;
}
Xwo
() автор топика
Последнее исправление: Xwo (всего исправлений: 1)
Ответ на: комментарий от Xwo

Вот эту строчку нужно перенести в else блок:

m->pertag->showbars[i] = m->showbar;

bread
()

b нажми.

Снова сраная капча по тридцать раз долбит мозг.

anonymous
()
Ответ на: комментарий от Xwo

Перемести свой патч в конец блока for, соблюдай некую структуры, потом будет легче

	for (i = 0; i <= LENGTH(tags); i++) {
		//вот эту часть оставь как есть, верни что было в оргинале (патча pertag)
		m->pertag->nmasters[i] = m->nmaster;
		m->pertag->mfacts[i] = m->mfact;
		m->pertag->sellts[i] = m->sellt;
        	m->pertag->ltidxs[i][1] = m->lt[1];
		m->pertag->showbars[i] = m->showbar;

        	// твой патч, изменяющий оригинальное поведение
        	// change layout in tags
        	if(i == 1 || i == 4) {
        	  // set monocle
        	  m->pertag->ltidxs[i][0] = m->lt[1];
        	  m->pertag->showbars[i] = 0;
        	} else {
        	  m->pertag->ltidxs[i][0] = m->lt[0];
        	}
	}

anonymous
()
Ответ на: комментарий от anonymous

Дальше упрощая твой патч, и возвращая часть так, как было в оригинале

	for (i = 0; i <= LENGTH(tags); i++) {
		//вот эту часть оставь как есть, верни что было в оргинале (патча pertag)
		m->pertag->nmasters[i] = m->nmaster;
		m->pertag->mfacts[i] = m->mfact;
		m->pertag->sellts[i] = m->sellt;
        	m->pertag->ltidxs[i][0] = m->lt[0];
        	m->pertag->ltidxs[i][1] = m->lt[1];
		m->pertag->showbars[i] = m->showbar;

        	// твой патч, изменяющий оригинальное поведение
        	// change layout in tags
        	if(i == 1 || i == 4) {
        	  // set monocle
        	  m->pertag->ltidxs[i][0] = m->lt[1];
        	  m->pertag->showbars[i] = 0;
        	}
	}

Про оптимизацию не думай раньше времени, потому что компилятор лучше с этим справиться.

anonymous
()

Получилось. Всем спасибо!

Xwo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.