Review Request: KMainWindow::parseGeometry() fails to position with positive coordinates

Urban Widmark urban.widmark at gmail.com
Thu Jun 2 12:08:59 BST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/101492/
-----------------------------------------------------------

Review request for kdelibs.


Summary
-------

When an X geometry is given on the command line, parseGeometry() will, for positive positions, use geometry().x()/.y() instead of the x/y value parsed from the string. This causes positive positions to not work. For negative values the string values are used.

No direct bugs reported on this that I can find, but the odd position behavior is noted in some --geometry related bugs:
Comment #6, http://bugs.kde.org/show_bug.cgi?id=165355
http://bugs.kde.org/show_bug.cgi?id=230663


For the KMainWindow --geometry parsing to work for both size and position, the client application will have to call applyMainWindowSettings() or restoreWindowSize(). The parsing done by KMainWindowPrivate::init() will only set position. Not sure if that is good, as a user of the window I would expect it to use all of the --geometry data at the same time (either on creation or some later call).


Diffs
-----

  kdeui/widgets/kmainwindow.cpp 1d27722 

Diff: http://git.reviewboard.kde.org/r/101492/diff


Testing
-------

Using a KApplication program with a KMainWindow that also calls applyMainWindowSettings (keditbookmarks), positions verified using xwininfo:
keditbookmarks --geometry 400x300+100+200
keditbookmarks --geometry 400x300-100+200
keditbookmarks --geometry 400x300+100-200
keditbookmarks --geometry 400x300-100+200
keditbookmarks --geometry 400x300
keditbookmarks --geometry +100+200

Without patch all +coords are replaced by 0.
Negative positions do not account for window decorations as the size of those are not known. I suspect the user will have to adjust for that in their input.


Thanks,

Urban

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20110602/4698870b/attachment.htm>


More information about the kde-core-devel mailing list