LINUX.ORG.RU
Ответ на: комментарий от Ecl

Неа, xsetroot -name вообще не меняет сообщение в статусной строке.
xsetroot -name «`date +%a`» и даже просто xsetroot -name «test» - сообщение
в статусной строке остаётся прежним (которое выставилось при старте dwm).

Если перезапустить dwm - сообщение опять же выставляется,
но не обновляется

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

Может, это косяк самого dwm из-за всяких патчей, которые я на него наложил.

Это легко проверить, собрав бинарник из оригинальных исходников.

Мой .xinitrc, запускающий dwm, выглядит так:

while true
do
    xsetroot -name "`date +'%H:%M %a %d.%m.%Y'`"
    sleep 5
done &
exec /usr/local/bin/dwm

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

Да, действительно не обновляется xsetroot
из-за каких-то косяков в бинарнике. Осталось выяснить
каких. А по поводу вашего примера запуска:
а как же перезапуск dwm без останова программ?

while true
do
    /usr/local/bin/dwm 2> ~/.dwm/dwm.log
done&

в каком-нибудь отдельном скрипте и можно смело перезапускать
dwm без потери открытых окон, но с обновлённым конфигом.

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

а как же перезапуск dwm без останова программ?

Частый перезапуск бывает нужен только при настройке конфига, что случается достаточно редко. «Без останова программ» актуально при использовании *dm. При запуске через startx терминал с открытым config.h никуда не теряется. :-)

Статусбар выводится функцией updatestatus (dwm 5.7.2):

void
updatestatus(void) {
	if(!gettextprop(root, XA_WM_NAME, stext, sizeof(stext)))
		strcpy(stext, "dwm-"VERSION);
	drawbar(selmon);
}
Стоит проверить, что делают патчи с ней, а также что происходит с вызовом функции из propertynotify:
void
propertynotify(XEvent *e) {
...
	XPropertyEvent *ev = &e->xproperty;

	if((ev->window == root) && (ev->atom == XA_WM_NAME))
		updatestatus();
...

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

Виновник обнаружен - это патч warp виноват
Осталось разобраться что с ним не так, а то
мне нравится довольно-таки этот патчик

pimiento
() автор топика
Ответ на: комментарий от Ecl

Ещё вопрос: получалось ли у тебя fibonacci совместно
с pertag использовать?

У меня вот такие ошибки выдаёт:

cp dwm.c dwm.c.make
cp config.h config.h.make
dwm build options:
CFLAGS   = -g -std=c99 -pedantic -Wall -O0 -I. -I/usr/include -I/usr/X11R6/include -DVERSION="5
LDFLAGS  = -g -L/usr/lib -lc -L/usr/X11R6/lib -lX11 -L/usr/X11R6/lib -lXinerama
CC       = cc
CC dwm.c
In file included from config.h:2:0,
                 from dwm.c:270:
fibonacci.c: In function ‘fibonacci’:
fibonacci.c:6:30: error: dereferencing pointer to incomplete type
fibonacci.c:10:10: error: dereferencing pointer to incomplete type
fibonacci.c:12:10: error: dereferencing pointer to incomplete type
fibonacci.c:13:10: error: dereferencing pointer to incomplete type
fibonacci.c:15:30: error: dereferencing pointer to incomplete type
fibonacci.c:47:14: error: dereferencing pointer to incomplete type
fibonacci.c:47:24: error: dereferencing pointer to incomplete type
fibonacci.c:48:13: error: dereferencing pointer to incomplete type
fibonacci.c:51:13: error: dereferencing pointer to incomplete type
dwm.c: At top level:
dwm.c:1806:1: warning: ‘bstackhoriz’ defined but not used
dwm.c:1342:6: warning: ‘moveresize’ defined but not used
dwm.c:1746:1: warning: ‘tile’ defined but not used
make: *** [dwm.o] Error 1

dwm.c
config.h
fibonacci.c

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

Кстати, movestack тоже ругается на

movestack.c:32:57: error: dereferencing pointer to incomplete type

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

Действительно, манипуляции с фильтром событий в функции warp приводят к отключению приема событий PropertyChange. Для этого нужно, чтобы хотя бы один раз сработало смещение указателя мыши. Помогает добавление PropertyChangeMask в вызов XSelectInput:

...
	XWarpPointer(dpy, None, c->win, 0, 0, 0, 0,
		c->w / 2, c->h / 2);
	XSelectInput(dpy, root, SubstructureRedirectMask | SubstructureNotifyMask
		| EnterWindowMask | LeaveWindowMask | StructureNotifyMask | PropertyChangeMask);
...

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

> Ещё вопрос: получалось ли у тебя fibonacci совместно с pertag использовать?

До сегодняшнего дня не использовал патчи для dwm.

P.S. Только-только я привык к xfce, как меня опять затягивают обратно в dwm. :-)

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