C++ CSS HTML Java JavaScript MySQL Oracle PERL PHP SQL Unix VBScript XHTML XML Сети
Мини-HOWTO: Большой курсор в X11
 

Мини-HOWTO: Большой курсор в X11

Как увеличить курсор мыши в X windows

Jorg Schneider

joerg.schneider@ira.uka.de

Перевод: Павел Гашев, SWSoft Pte Ltd.

версия 2, 11 августа 1997

В этом документе описывается процесс, позволяющий увеличить курсор мыши в X-windows.


Содержание
1. Введение
2. Об этом документе
3. Как это сделать
4. Замечания и ограничения
5. Технические рассуждения
6. Другие идеи, позволяющие сделать курсор более заметным
7. Дополнительная информация
7.1. Сервер шрифтов
7.1.1. Установка сервера шрифтов
7.2. Как достать bdf-файлы для некоторых шрифтов
8. Авторские права

1. Введение

Существует несколько причин, по которым стандартный курсор X11 может быть маловат:

В любом случае, увеличение курсора может решить проблему. Идеально, если эту задачу выполняет одна X-программа, автоматически увеличивающая каждый раз все виды курсоров.

Насколько я знаю, не существует простого пути для создания такой утилиты, так как X-протокол не имеет представления о том, как узнать вид курсора. Для более подробной информации см. раздел "Технические рассуждения".

Впрочем, кое-что можно сделать:

Существует набор стандартных курсоров мыши, которые находятся в шрифте "cursor" (вы можете посмотреть их командой "xfd -fn cursor"). Большинство программ используют именно эти курсоры, и ключевой идеей является замена стандартного шрифта "cursor" на увеличенную версию.


2. Об этом документе

первую версию данного документа. Информация об этом методе не является общей, но тем не менее я решился поместить его в Linux мини-HOWTO, даже несмотря на тот факт, что он совсем не специфичен для Linux. Как и другие мини-HOWTO, он находится в http://sunsite.unc.edu/LDP/HOWTO/.

Основная версия этого документа поддерживается в формате SGML/linuxdoc. Это позволяет автоматически получать версии в других форматах (которые можно найти там же): html, text, LaTeX, DVI, PostScript, GNU info.

Shinobu Miyata перевел этот текст на Японский http://i11www.ira.uka.de/~schneid/jp/X11-big-cursor/.


3. Как это сделать

Следуйте шагам, описанным ниже. Если вы не хотите загружать и компилировать пакет bdfresize, вы можете пропустить первые три шага и найти увеличенный шрифт, вместо того, чтобы создавать его.

  1. берем файл cursor.bdf (исходный текст шрифта "cursor") из какого-нибудь дистрибутива X, например ftp://ftp.x.org/pub/R6.3/xc/fonts/bdf/misc/cursor.bdf (если вы его там не найдете, попробуйте поискать его в сети или возьмите мою копию).

  2. берем, компилируем и инсталлируем пакет bdfresize ftp://ftp.cs.titech.ac.jp/X11/contrib/Local/bdfresize-1.4.tar.Z (или моя копия

  3. >$HOME/fonts/cursor2.pcf mkfontdir $HOME/fonts Я подготовил несколько шрифтов с увеличением в 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8 и 16 раз. Если вы не хотите пользоваться bdfresize, можете найти их и поместить в каталог $HOME/fonts.

  4. изменяем файлы .xinitrc или .xsession: перед тем как запустится X-клиент (который использует курсор), должны запускаться следующие команды: xset +fp $HOME/fonts xsetroot -cursor_name X_cursor

  5. перезапустите X-сервер.

Это все. Теперь все курсоры мыши должны быть в два раза больше.


4. Замечания и ограничения


5. Технические рассуждения

Возможно ли написать программу, автоматически увеличивающую указатели?

Решение 1 (частичное)

то он заменяется на увеличенную версию. В противном случае, он остается без изменения или подставляется стандартный курсор. Это работает в том случае, если у вас есть XTest.

Решение 2

Написать X-прокси-сервер, передающий все запросы на X-сервер, за исключением запросов соответствующих функции XCreate*Cursor из библиотеки Xlib. Курсоры, определенные в запросах XCreate*Cursor должны изменяться на соответствующие увеличенные.

Прокси-сервер имитирует новый дисплей, например :1. Все клиенты, использующие этот дисплей (например xterm -display :1) показываются на обычном X-сервере :0), но их курсоры автоматически увеличиваются. Курсоры клиентов, использующих :0 не изменяются.


6. Другие идеи, позволяющие сделать курсор более заметным

Вот некоторые идеи, позволяющие сделать курсор более заметным, при помощи простых программ.

Более ожидаемое решение - это мышиный хвост как X-клиент, а еще лучше как прокси-сервер (см. "Технические рассуждения").


7. Дополнительная информация

7.1. Сервер шрифтов

Сервер шрифтов - это сетевой сервис с простым протоколом, предоставляющий X11 набор шрифтов. Он предоставляет как список шрифтов, так и изображение.

Вы можете использовать сервер шрифтов для модифицированных шрифтов вместо того, чтобы хранить их у себя на компьютере.

Этот способ особенно удобен, если несколько машин не используют общую файловую системы или если вы пользуетесь X-терминалами.

Сам сервер шрифтов и утилиты, связанные с ним, идут с дистрибутивом X11R5+ (AFAIK).


7.1.1. Установка сервера шрифтов

Прочитайте руководства fs(1), fslsfonts(1) (или xfs(1), xfslsfonts(1) и попробуйте - это не сложно. Скажем, если вы запустили сервер шрифтов на машине some.host.edu на порту 7100. Вы можете проверить, как он работает командой

fslsfonts -server some.host.edu:7100

И настроить X-сервер командой

xset +fp tcp/some.host.edu:7100,

которая должна выполниться без ошибок.


7.2. Как достать bdf-файлы для некоторых шрифтов

Если у вас установлен сервер шрифтов, то используйте команду fstobdf, идущую вместе с сервером.

Кроме того, вы можете попробовать команду getbdf, которая записывает любой установленный в X11 шрифт в bdf файл.


8. Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу

Главная