The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Решение для XKB и глупых программ в бинарниках (rus X locale module)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: rus, X, locale, module,  (найти похожие документы)
_ RU.LINUX (2:5077/15.22) __________________________________________ RU.LINUX _ From : Ivan Pascal 2:5020/400 24 Jan 28 13:17:56 Subj : Решение для XKB и глупых программ в бинарниках _______________________________________________________________________________ From: Ivan Pascal <pascal@tsu.ru> Alexander Pevzner wrote: > AK> Кстати, а нельзя ли пропихнуть в glibc "принудительную" установку > AK> локали? А чтобы сохранить POSIX-совместимость (и чтобы Корчмарь не > AK> ругался :), сделать эту фичу включаемой в run-time, скажем, еще через > AK> одну переменную среды. > > Кто-то мне говорил, что у динамическая библиотека может иметь функцию, > которая автоматически будет вызвана при загрузке библиотеки. Если > это правда, то надо сделать .so-шничек, который из этой функции будет > звать setlocale(), и грузить его LD_PRELOAD'ом. > Hу дык... Вот что у меня в архивах имеется. Обратите внимание на дату. ----------------------------------- From: Yuriy Kaminskiy <Yuriy.Kaminskiy@p21.f517.n5020.z2.fidonet.org> Date: Sun, 27 Sep 98 00:03:28 +0400 Subject: Решение для XKB и глупых программ в бинарниках :) Hello All! Поскольку мне было сильно влом перекомпилировать tk я написал такой вот простой модуль Ж). Возможно, он может помочь и WABI. Данный метод должен помочь всем программам, использующим XLookupString для преобразования keyboard events в символы [xdos, tcl/tk, acrobat reader, ...; btw, xemacs и xfte к таковым не относятся :(]. ===begin Makefile=== prefix = /usr/local exec_prefix = $(prefix) libdir = $(exec_prefix)/lib all: x_setlocale.so x_setlocale.so: x_setlocale.c $(CC) -shared $(CFLAGS) -fPIC $< -L/usr/X11R6/lib -lX11 -o $@ install: all install -o root -g root -m 755 x_setlocale.so $(libdir)/x_setlocale.so === end Makefile=== ===begin x_setlocale.c=== /* (c) Yuriy Kaminskiy, 1998 :) */ #define X_LOCALE /* it may be not needed on some libc/Xlib ? */ #include <X11/Xlib.h> #include <X11/Xlocale.h> static void init_x_locale() __attribute__((constructor)); static void init_x_locale() { setlocale(LC_CTYPE,""); XSetLocaleModifiers(""); } === end x_setlocale.c=== Использование: ===begin x_setlocale.sh=== #!/bin/sh export LD_PRELOAD=/usr/local/lib/x_setlocale.so exec $@ === end x_setlocale.sh=== -- Yuriy Kaminskiy. -------------------- -- ----- Ivan Pascal | pascal@tsu.ru Administrator of | Tomsk State University. university network | Tomsk. Russia. --- ifmail v.2.15dev4 * Origin: Tomsk State University (2:5020/400)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру