https://bugzilla.gnome.org/show_bug.cgi?id=654688
gnome-perl | general | unspecified
Summary: Gtk does not seem to handle XReparentWindow correctly
Classification: Bindings
Product: gnome-perl
Version: unspecified
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: Normal
Component: general
AssignedTo: gtk...@li...
ReportedBy: dun...@ya...
QAContact: gtk...@li...
GNOME version: ---
Raised a bug against xterm not reparenting its window correctly at
https://bugs.launchpad.net/bugs/806969 which resulted in the maintainer saying
the bug is with Gtk2
Full text of bug report is:
===
When re-parenting xterm into another window using '-into <id>' the term ignores
all input.
When using a different terminal such as "urxvt -embed <id>" it works as
expected
Attached scripts shows the problem when typing into the new window when using
xterm and urxvt
$ dpkg -l |grep xterm
ii xterm 268-1ubuntu1
$ more /etc/debian_version
squeeze/sid
system is up to date
===
#!/usr/bin/perl
use warnings;
use strict;
use Gtk2;
init Gtk2;
my $window = new Gtk2::Window 'toplevel';
$window->signal_connect(
'destroy' => sub {
Gtk2->main_quit;
return 0;
}
);
my $frame = new Gtk2::Frame "embedded terminal";
$window->add($frame);
my $rxvt = new Gtk2::Socket;
$frame->add($rxvt);
$frame->set_size_request( 700, 400 );
$window->show_all;
my $xid = $rxvt->window->get_xid;
# works with rxvt but xterm loses keyboard focus
system "xterm -into $xid &";
#system "urxvt -embed $xid &";
$window->show_all;
$rxvt->add_events( [qw( all_events_mask key_press_mask )] );
main Gtk2;
===
Response from xterm admin
===
Investigated, found that the essential difference between xterm and
urxvt in this aspect is that xterm initializes using one of the
functions such as XtOpenApplication, which does resource initialization,
etc., on a shell widget that it creates. Later, it uses XReparentWindow
to handle the "-into" option. urxvt on the other hand, processes its
"-embed" option before creating its first window, using the parameter
directly as its parent window. While Tcl/Tk handles the
XReparentWindow, Gtk does not, it seems.
Given the nature of the problem (a bug in Gtk), revising xterm's
initialization to work around Gtk's problems would seem to be a wish-
list item for xterm rather than a bug in xterm.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
|