From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 28 Nov 2001 05:50:48 +0600 (NOVT) From: Alex Morozov To: Sisyphus Mailing List Cc: Konstantin Volckov , Alexey Morozov Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="2093026217-854889129-1006905048=:10811" Subject: [sisyphus] Possible problems with Sisyphus XFree86 build Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: sisyphus@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --2093026217-854889129-1006905048=:10811 Content-Type: TEXT/PLAIN; charset=koi8-r Content-Transfer-Encoding: 8bit В общем, оговорюсь сразу, возможно, наблюдаемый мною глюк специфичен только для моей машины, т.к. у меня все еще не ALT что-нибудь, а компот из бывшего Mdk8 + апдейты из 8.1 + множество альтовых пакетов. Впрочем, насколько я себе представляю механику процесса, в "pure ALT" должно быть точно также. Суть проблемы: в билдах XF86-libs от ALT (и, видимо, Mdk8) не работают какие-то (пока не знаю какие) механизмы, позволяющие успешно функционировать вызову gtk_socket_steal (захват/swallow произвольно выбранного "рутового" виджета внутрь GtkSocket). Приложенный steal-xwin.c должен продемонстрировать проблему. Для демонстрации сначала соберите его (cc -o steal-win steal-win.c `gtk-config --cflags --libs`) Потом сделайте следующее: запустите, например, xeyes, с помощью xprop (или sawfish-client, rep/rep-gtk рулиз :-)) выясните, каков XID у окна xeyes (xprop пишет это в строчке вида WM_CLIENT_LEADER(WINDOW): window id # 0x1400007 ), только не забудьте пересчитать hexadecimal в decimal (например, так: printf "%d\n" 0x1400007 (вместо 0x1400007 - то, что написал вам xprop)) После этого можете запускать steal-xwin: ./steal-xwin 100 100 В идеале вы должны получить глазки, затолканные внутрь появившегося окошечка, потаскайте его по экрану, чтобы убедиться, что они действительно затолкались, а не просто положены сверху :-)... Информация к размышлению для Константина Волчкова: а ALTовых и Mdk'шных либах у меня этот фокус не срабатывает (немного по-разному, но не суть), а вот на RHовых (от RH-7.2, простое копирование libX11.so.*, libXt.so.* libXext.so.* из их rpm'а поверх рабочих либ) - все Ok, даже ничего при этом (Xserver, приложения) при этом не ломается. Я так думаю, опять какие-нить новомодные патчи, а? :-). Кстати, а расскажите, зачем в ALTовой дистрибуции XFree присутствуют хаки имени XFree86-4.0.2-emacs_key.patch и XFree86-4.0.99.1-winkey-alt-meta.patch? Грязные же хаки, и, к тому же, я надеюсь, мало кому действительно необходимые? Есть же способ с рантаймовой модификацией модификаторов, если на то пошло?... А то, блин, давишь она кажет тебе Meta_L, давишь следом x, она и кажет тебе ... х... Я пока понял, что за ... Интересно, о каких пользователях emacs'а призван заботиться этот патч? :-) Извините, если напрасно побеспокоил публику, и у всех все работает. В любом случае, дайте мно, пожалуйста, знать. К сожалению, как я уже говорил, доступ к этому ящику у меня сейчас нерегулярный и неудобный. а переносить его лень, поэтому черкните пару строчек на morozov@novosoft.ru, если у кого-то заработает (ну, или Константин, Вы, найдете решение). С уважением, Алексей Морозов. P.S. Да, в gnome-libs от ALT надо, похоже, апдейтить мой zvtkbdhack. В соответствии с постановлениями партии и правительства Home и End более не обозначаются через \033[1~ и \033[4~. Для End на моем Mdk использьзуется \0330F, а вот для Home что-то еще, не знаю пока что... Впрочем, на соседней фряшке, Home/End в xterm/xterm-color какие-то свои ,особенные.... "Заколебал ты!"... Взялся бы кто-нить, привел в соответствие termcap/terminfo и написал большими буквами, опуская матерные слова: ЕСЛИ ВЫ ПИШЕТЕ ОЧЕРЕДНОЙ XTERM, помните: ПРАВИЛЬНАЯ РАСКЛАДКА - ВОТ ТАКАЯ... И список... P.S.S. Прошу прощения за многословность,5:45am :-) --2093026217-854889129-1006905048=:10811 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="steal-xwin.c" Content-Transfer-Encoding: 8bit Content-ID: Content-Description: Content-Disposition: attachment; filename="steal-xwin.c" /* steal-xwin.c */ #include #include int main (int argc, char *argv[]) { GtkWidget *win, *vbox, *scrolled_win, *sock, *label; guint32 xwin_id; gint width, height; gtk_init (&argc, &argv); if (argc != 4) { g_print ("usage: %s \n", argv[0]); exit (1); } xwin_id = atoi (argv[1]); g_print ("%d\n", xwin_id); width = atoi (argv[2]); height = atoi (argv[3]); win = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_policy(GTK_WINDOW (win), TRUE, FALSE, FALSE); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (win), vbox); scrolled_win = gtk_scrolled_window_new (NULL, NULL); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (vbox), scrolled_win, TRUE, TRUE, 0); sock = gtk_socket_new (); gtk_widget_set_usize (sock, width, height); gtk_scrolled_window_add_with_viewport ( GTK_SCROLLED_WINDOW (scrolled_win), sock); gtk_widget_realize (sock); gtk_socket_steal (GTK_SOCKET (sock), xwin_id); gtk_viewport_set_shadow_type ( GTK_VIEWPORT (GTK_BIN(scrolled_win)->child), GTK_SHADOW_NONE); gtk_widget_set_usize ( GTK_BIN(scrolled_win)->child, width, height); label = gtk_label_new ("stolen xwin"); gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0); gtk_widget_show_all (win); gtk_main (); return 0; } --2093026217-854889129-1006905048=:10811--