Процедура - часть 3
Уберите файлы, которые вы не хотите собирать. Некоторые из них не будут собраны? Оставте только glqwcl.glx.
Убедитесь, что у вас есть символьная ссылка /usr/X11 на /usr/X11R6. При установке X, вы можете забыть сделать это, некоторые программы и исходные тексты ищут X именно там:
cd /usr ln -s X11R6 X11 |
Сохраните Makefile.
Исправление проблемы скрывания мыши.
Код quake, как он есть, не скрывает мышь, когда вы ее используете. Указатель остается видимым в центре экрана, что очень раздражает. Я нашел следующее простое исправление: http://lists.openprojects.net/pipermail/glx-dev/1999-October/000994.html
cd q1src/QW/client отредактируйте файл: gl_vidlinuxglx.c |
В начале функции, называемой install_grabs(void) (Строка 234), добавьте следующий код:
static void install_grabs(void) { /* переменные для создания пустого курсора */ Pixmap blank; XColor dummy; char data[1] = {0}; Cursor cursor; /* делаем пустой курсор */ blank = XCreateBitmapFromData (dpy, win, data, 1, 1); if(blank == None) fprintf(stderr, "error: out of memory.\n"); cursor = XCreatePixmapCursor(dpy, blank, blank, &dummy, &dummy, 0, 0); XFreePixmap (dpy, blank); Con_Printf("Cursor blanked.\n"); |
8-й параметр в функции XGrabPointer должен быть изменен с "None" на "cursor", чтобы использовать пустой курсор:
XGrabPointer(dpy, win, True, 0, GrabModeAsync, GrabModeAsync, win, cursor, CurrentTime); |
(см: man XGrabPointer)
Это исправление может работать и для других клиентов, если вы сделаете подобные исправления в соответствующем файле *vid*.c. Оно вызывает утечку памяти, поскольку здесь каждый раз происходит выделение памяти для другого объекта (Cursor) и не вызывается функция XFreeCursor(), но это, вероятно не проблема, т.к. я не думаю, что курсор размером 1x1 использует много памяти. Если вы хотите, вы можете использовать следующий патч q1src/QW/client/gl_vidlinuxglx.c
(patch gl_vidlinuxglx.c patchfile). Только "вырежьте" содержимое кода между началом/концом приведенного ниже patchfile и "вставьте" его в файл patchfile (можете использовать другое имя). Сохраните patchfile в каталоге q1src/QW/client, где есть gl_vidlinuxglx.c. Затем запустите команду: