Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 239360 - gtk+ 2.14.4: open/save dialog not centred
Summary: gtk+ 2.14.4: open/save dialog not centred
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: http://bugzilla.gnome.org/show_bug.cg...
Whiteboard:
Keywords:
Depends on:
Blocks: gtk2.14-stable
  Show dependency tree
 
Reported: 2008-10-02 18:37 UTC by 123456
Modified: 2009-01-29 20:29 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
xprop-2.14.3-r2.log (xprop-2.14.3-r2.log,42.58 KB, text/plain)
2008-10-03 14:04 UTC, 123456
Details
xprop-2.12.12.log (xprop-2.12.12.log,42.58 KB, text/plain)
2008-10-03 14:18 UTC, 123456
Details
small window opened initially (Screenshot-Open File.png,1.71 KB, image/png)
2008-10-19 15:41 UTC, 123456
Details
gtkfilechooser.patch (gtkfilechooser.patch,13.30 KB, patch)
2009-01-18 13:31 UTC, Pacho Ramos
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description 123456 2008-10-02 18:37:49 UTC
firefox 3.0.3 save/open dialog is not centered when used with gtk+-2.14.3-r2
with gtk+-2.12.12 dialog is centered

Reproducible: Always
Comment 1 Gilles Dartiguelongue (RETIRED) gentoo-dev 2008-10-02 20:38:57 UTC
emerge --info and emerge -pv of your firefox flavor please
Comment 2 123456 2008-10-03 03:29:09 UTC
emerge -pv mozilla-firefox-bin

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] www-client/mozilla-firefox-bin-3.0.3  USE="-restrict-javascript" LINGUAS="en en_US -af -ar -be -bn -bn_IN -ca -cs -da -de -el -en_GB -es -es_AR -es_ES -eu -fi -fr -fy -fy_NL -ga -ga_IE -gl -gu -gu_IN -he -hi -hi_IN -hu -id -is -it -ja -ka -kn -ko -ku -lt -mk -mn -mr -nb -nb_NO -nl -nn -nn_NO -pa -pa_IN -pl -pt -pt_BR -pt_PT -ro -ru -si -sk -sl -sq -sr -sv -sv_SE -th -tr -uk -zh -zh_CN -zh_TW" 0 kB


emerge --info
Portage 2.2_rc11 (default-linux/x86/2007.0/desktop, gcc-4.3.1, glibc-2.8_p20080602-r0, 2.6.26-gentoo-r1-dr i686)
=================================================================
System uname: Linux-2.6.26-gentoo-r1-dr-i686-Intel-R-_Core-TM-2_CPU_T5500_@_1.66GHz-with-glibc2.0
Timestamp of tree: Fri, 03 Oct 2008 02:15:01 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7, 2.1.6-r1
dev-lang/python:     2.5.2-r8
dev-python/pycrypto: 2.0.1-r5
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.2.5
sys-apps/sandbox:    1.2.18.1-r3
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.26
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-Os -march=native -mtune=native -fomit-frame-pointer -pipe -mmmx -msse2 -msse3"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-Os -march=native -mtune=native -fomit-frame-pointer -pipe -mmmx -msse2 -msse3"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://mirrors.ludost.net/gentoo/"
LANG="en_US"
LDFLAGS=""
LINGUAS="en_US bg en"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/etc/portage/overlays/dr"
SYNC="rsync://192.168.1.3/gentoo-portage/"
USE="7zip X a52 aac acl acpi additions alsa amr amrnb audacious automount avahi bash-completion bcmath berkdb bluetooth bogofilter bonjour bzip2 cairo calendar cdda cddb cdio cdr cgi chardet cli cluster compositor concurrentmodphp corba cracklib crypt cups curl curlwrappers cursors daab dbase dbus dc1394 devhelp dga dhcp disk-partition diskio dri dts dvb dvd dvdr dvdread dvi elf emboss encode epiphany evo exif extraengine extrafilters fam fastbuild fastcgi fat fcgi ffmpeg fftw filter firebird flac flatfile fontconfig force-cgi-redirect fortran freetds ftp fuse gadu gaim galago gd gdbm gdl gdm ggi gif glade glib glitz gmp gnome gnome-keyring gnomecd gnutls gpm graphviz groupwise gstreamer gtk gtkhtml hal hash hdaps hddtemp httpd icons iconv id3tag ieee1394 imap imlib inherit-graph inifile iproute2 ipv6 isdnlog java javascript jpeg jpeg2k json keyring laptop lcms libgcrypt libnotify live lm_sensors lzo mad matroska meanwhile midi mmx mng mod modplug mozdevelop moznopango mp2 mp3 mp3rtp mp4 mpeg mudflap musepack musicbrainz mysql mysqli nas nautilus ncurses network networking nls nntp nptl nptl-only nptlonly nsplugin ntfs objc objc++ objc-gc ogg openct opengl openmp optimisememory pam pch pcmcia pcntl pcre pcsc-lite pdf pdo perl perlsuid php pidgin png portaudio posix ppds pppd prediction python qmail qq qt3support quicktime readline reflection regex reiser4 reiserfs rrdcgi rtsp samba sasl scrobbler sdl sdl-image session sharedext shout silc simplexml slang slp smp smux sndfile soap sockets soundex sourceview speex spell spl sqlite sqlite3 sse sse2 ssl startup-notification stream subversion svg swat sysvipc t1lib taglib tcpd theora threads tidy tiff tokenizer totem truetype tta twolame type1 unicode usb v4l valgrind vcd vcdx vlm vorbis vorbis-psy wavpack wddx webdav wideband win32codecs winbind wma wmf wxwindows x264 x86 xattr xforms xml xmlreader xmlrpc xmlwriter xorg xosd xpm xprint xscreensaver xsl xulrunner xv xvid zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 	emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m 	maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" FOO2ZJS_DEVICES="hp1018" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en_US bg en" LIRC_DEVICES="serial sir devinput userspace audio" USERLAND="GNU" VIDEO_CARDS="i810"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 3 Rémi Cardona (RETIRED) gentoo-dev 2008-10-03 12:57:18 UTC
A couple questions :

1) do you get the same behavior with other Gtk apps? (gedit, ...)
2) what window manager are you using?
3) if you still have gtk 2.12 somewhere, could you :
  3a) run "xprop &> xprop.log" in a terminal
  3b) click on the open/save dialog
  3c) attach the log here (and if you could also do it with gtk 2.14, that'd be really cool

Let's see who the real bad guy is, the WM, the toolkit, or firefox (which is known to do stupid stuff from time to time).

Thanks
Comment 4 123456 2008-10-03 14:03:48 UTC
1. yes gedit, geany also are affected
2. xfwm4-4.4.2-r1
3. I attach for 2.14.3-r2 ... later will attach for 2.12 when I downgrade it ...

another thing which I see is that when open save dialog is open initially it is open like small window and then resized to actual size ... may be this is the problem ...
Comment 5 123456 2008-10-03 14:04:51 UTC
Created attachment 167089 [details]
xprop-2.14.3-r2.log
Comment 6 123456 2008-10-03 14:18:47 UTC
Created attachment 167090 [details]
xprop-2.12.12.log
Comment 7 Rémi Cardona (RETIRED) gentoo-dev 2008-10-03 14:32:44 UTC
(In reply to comment #4)
> another thing which I see is that when open save dialog is open initially it is
> open like small window and then resized to actual size ... may be this is the
> problem ...

While this is a big issue for any WM, it's not the only factor involved in
window placement.

ICCCM and EWMH are complicated specs and conformance by clients and WMs is
unsure at best. :)

Thanks
Comment 8 123456 2008-10-19 15:36:46 UTC
gtk+ 2.14.4 make no difference

only one dialog correctly opened is this in gimp, and this dialog is not initially opened as small window and then resized to actual size ...  
Comment 9 123456 2008-10-19 15:41:34 UTC
Created attachment 169096 [details]
small window opened initially 

this is small window (actual size) open initially which is correctly centered and then resized to actual size of dialog which use top and left position of this small window so actual window is not centered as result ... and also sometimes this window is just not resized and stays small ...
Comment 10 Rémi Cardona (RETIRED) gentoo-dev 2008-10-19 18:37:12 UTC
I'm currently rummaging through gtk's code these days for work, and whenever I can, I try to take a look at what it would take to solve this bug (because it's a big PITA with Metisse's FVWM).

So far, I can only say that fixing this is Gtk 3.0 material. The changes look far from trivial.

I'll keep digging when I can though :)
Comment 11 123456 2008-10-19 22:52:29 UTC
I must say that right now I switch to metacity and issue is still here ...
Comment 12 123456 2008-10-22 17:16:50 UTC
this thing annoy me enough to start looking at code and after couple of minutes I figure how to fix it ... ugly but for now works for me:

in gtk/gtkfilechooserdialog.c
function gtk_file_chooser_dialog_constructor
before:

gtk_widget_show (priv->widget);

force a resize:

file_chooser_widget_default_size_changed(priv->widget, GTK_DIALOG(object));

so window is resized before show ... now my dialogs are OK

it complains about invalid type of second argument but it works ... so anyone with knowledge please tell me how to do it correctly :)
Comment 13 Giacomo Perale 2008-10-25 00:22:45 UTC
Same problem here.

Just to make it clear: it's only me and 123456 who are seeing this problem or other people just don't care? 
Comment 14 Rémi Cardona (RETIRED) gentoo-dev 2008-10-25 08:12:05 UTC
As I said earlier, I can also see it too. It's a known bug.

The problem is that until recently, xorg/gtk/metacity were all slow enough to hide the problem...

Thanks
Comment 15 Giacomo Perale 2008-10-25 08:29:25 UTC
(In reply to comment #14)
> As I said earlier, I can also see it too. It's a known bug.
> 
> The problem is that until recently, xorg/gtk/metacity were all slow enough to
> hide the problem...
> 
> 

Sorry, I wasn't sure of it from your answers here. I'm still trying to find out if this bug is triggered/papered over by some specific WMs (don't think so, it happens with both metacity and compiz), xorg releases, driver releases or settings
Comment 16 Rémi Cardona (RETIRED) gentoo-dev 2008-10-25 10:18:28 UTC
Nope, if you trace the actual X11 protocol, you'll clearly see a Map message and then a Configure message which changes the size of the window.

At best, you can tweak your WM to "delay" window appearances with a small timeout, say 200ms. That way, the WM has a good chance of catching the Configure message and resizing the window before displaying it.

Cheers :)
Comment 17 Mart Raudsepp gentoo-dev 2008-10-25 21:45:49 UTC
Rémi, please go upstream with your gathered information, it seems to lack similar details of the matter. Upstream bug URL in the URL field now.
Comment 18 123456 2009-01-15 06:27:00 UTC
gtk+-2.14.7 still have same bug ...
Comment 19 Rémi Cardona (RETIRED) gentoo-dev 2009-01-15 10:48:33 UTC
upstream *just* fixed it in svn trunk. Details are in the upstream bug report.

Thanks
Comment 20 Mart Raudsepp gentoo-dev 2009-01-16 09:44:18 UTC
As there are trunk patches, considering this as a gtk+-2.14 stabilization blocker. Just marking as such, so that when the time comes can see and decide if to proceed with stabilization or take care of this backporting right before - e.g, not guaranteeing this will be fixed before stabilization unless there's a strong reason and will not to
Comment 21 Pacho Ramos gentoo-dev 2009-01-18 13:31:55 UTC
Created attachment 178881 [details, diff]
gtkfilechooser.patch

This patch is taken from opensuse's package and seems to work ok, at least for me. ..
Comment 22 Daniel Gryniewicz (RETIRED) gentoo-dev 2009-01-29 20:29:57 UTC
Fixed in 2.14.7-r1