Linux mini-HOWTO



     кит компания транспортная | сольвентными чернилами |          

Процедура - часть 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. Затем запустите команду:




    Содержание  Назад  Вперед