![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
NAYakaSL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.5.2008 Репутация: нет Всего: нет |
Пишу, используя только Xlib. Надо сделать так, чтоб окно было без рамки. И еще один вопрос: как теми же средствами Xlib вывести русские буквы? Просто, если бы проблема была в шрифтах, то тогда почему заголовок тоже по-русски не пишется (пробовал созранять исходники в файлах с различной кодировкой). Может надо не символы писать, а прям коды?
P.S.: Просмотрел форум на наличие смежных вопросов, но ответа нигде не нашел. Так что поднимаю эту тему вновь. P.P.S.: Всем, кто поможет, заранее, спасибо. |
|||
|
||||
NAYakaSL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.5.2008 Репутация: нет Всего: нет |
Я, конечно, понимаю, что тут люди занятые и все такое. Но, может быть, все-таки поможете интересующемуся человеку. Ответьте, пожалуйста на мой вопрос. Еще раз повторяю: поиск по форуму ничего не дал!
|
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
На Xlib мало кто пишет, ибо есть намного более удобные обёртки. Попробуй посмотреть исходники Qt или GTK+, они используют utf8, так что проблем с русским текстом там нет.
-------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
Ken |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 31.3.2007 Репутация: нет Всего: 4 |
Какой функцией пользуетесь для вывода текста?
Xutf8DrawString () пробовали? Есть еще XwcDrawString (), в этом случае строку надо перевести в wchar_t* перед выводом. Это сообщение отредактировал(а) Ken - 17.5.2008, 17:51 |
|||
|
||||
NAYakaSL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.5.2008 Репутация: нет Всего: нет |
Спасибо, попробую, во только тогда вопрос: а для заголовка окна как сделать? Там же, вроде, передаешь параметр типа char*. Или есть другие варианты? Для оконных менеджеров можно и по-другому?
|
|||
|
||||
Ken |
|
|||
Новичок Профиль Группа: Участник Сообщений: 47 Регистрация: 31.3.2007 Репутация: нет Всего: 4 |
Там тоже есть другие функции, например, XSetWMName. Который вроде берет строку с другой кодировкой. Посмотрите параметры. Я бегло попробовал, если честно, у меня тоже не получилось. Было бы время поиграться, анализировал бы как Qt или Gtk делают это. Кстати, кажется, результат еще зависит от оконного менеджера. Потому что видел случаев, когда, например, в КДЕ (kwin) русские заголовки нормально отображались, а у другого оконного менеджера нет. Это сообщение отредактировал(а) Ken - 19.5.2008, 07:16 |
|||
|
||||
NAYakaSL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.5.2008 Репутация: нет Всего: нет |
Еще раз, спасибо. Обязательно попробую. Недавно нашел информацию по созданию приложений без рамок: как оказалось - для каждого оконного менеджера это реализуется несколько разными параметрами. Видимо, с заголовками, да и вообще со всем, что касается WM, нужно реализвывать решения для их различных реинкарнаций.
|
|||
|
||||
NAYakaSL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.5.2008 Репутация: нет Всего: нет |
С рамками вроде бы проканало, а вот с русскими шрифтами - не совсем. Он грузит непонятно какие. И только если через XLoadQueryFont(), а если загружать шрифты для вывода строк utf8 или wchar_t, то он вообще никакие шрифты не обнаруживает. Может кто из знающих пороется?
|
|||
|
||||
NAYakaSL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.5.2008 Репутация: нет Всего: нет |
Судя по всему, из знающих - я сам. Впрочем, кое-что получилось, оказывается, что нобходимо специально указывать пути к папкам со шрифтами. Но это еще пол беды. Теперь такой вопос: можно ли стандартными средствами Xlib сделать прозрачность. Но не только полностью окон, а такую, чтоб некоторые части окна были не видны, как, например скины для того же xine'а. Жду ответов.
Понимаю, что в последнее время программирование на Xlib неактуально, но если все разучатся писать на xlib, то кто же будет создавать новые версии qt и gtk+? P.S.: Еще один вопросик: получается так, что при работе данного приложения, оно постоянно мерцает, постоянно обновляется. Как это обойти? Если я не ошибаюсь, то какая-то подобная проблема есть и в WinAPI. Там она достаточно просто решается. Если подскажите, опять-таки, буду благодарен. |
|||
|
||||
andrew_121 |
|
|||
![]() Кодофей ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3448 Регистрация: 3.1.2008 Репутация: 3 Всего: 33 |
А после такой фразы, думаю, никто и не поможет. -------------------- Удалил аккаунт. Прощайте! |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Называется double buffering,т.е. рисуем в буфер, потом его целиком показываем. Собственно повторюсь, ИМХО нигде лучше чем в документации к Xlib и сорцам GUI-библиотек это не описано, просто потому, что никто кроме авторов этих самых библиотек на чистых иксах уже давно не пишет ![]() Так что Use the Source, Luke ![]() -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
NAYakaSL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.5.2008 Репутация: нет Всего: нет |
nickless: спасибо.
Да именно в документации я и искал, вот только нужно было конкретно знать, что нужно искать. Иначе - поиск не дает результатов. Теперь, надеюсь, получится. andrew_121: Обидеть никого не хотел, а сказал так лишь потому, что никто не ответил. Правда, теперь, благодаря nickless'у ситуация изменилась. Добавлено через 6 минут и 41 секунду По мере изучения появился еще один вопросик. Хочу пришить в прогу стили оформления, которые оформлялись бы в виде внешних файлов (формат не важен). Вопрос в следующем: как это лучше сделать - чтобы была функция, которая создает объект и заполняет его данными из файла (это я так, условно), или как-нибудь иначе можно? (использую язык c++). Как, например, реализована поддержка стилей в qt или gtk+? Если знает кто-нибудь. |
|||
|
||||
NAYakaSL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 9.5.2008 Репутация: нет Всего: нет |
Тук-тук-тук! Попытайтесь ответить, пожалуйста. Перерыл все, что смог по последнему вопросу, но ответа не нашел.
|
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
Qt Style Sheets
Делать можно как больше нравится, я бы сделал методы в классах для виджетов, для записи/чтения нужных данных (а так же рекурсивно данных всех детей) в/из файла. Можно подсмотреть принцип в сорцах Qt итд. -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
gustavomarginale |
|
|||
Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 2.7.2008 Репутация: нет Всего: нет |
У меня топикстартеровские вопросы касательно шрифтов. Я их нахожу вот так:
Находится что-то, в имени чего есть коивосемьар. На одной системе есть, на другой нет, в этом и печаль линуксическая. Как с собой шрифт таскать - незнаю. ![]() Добавлено через 12 минут и 39 секунд ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Хоть свой изготавливай и свою рендерилку впридачу. Всё вокруг GPL, но мне как-то идеология билла гейтса ближе, чем эта крокодиловая GPL. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |