The window manager might not honor the move request until after the
window is shown. This can cause window contents to be rendered at
a shifted offset inside the window borders.
The code was removed in #933 because GTK+ recommends window managers
should manage window position, not applications. However, Windows,
Mac(?) and some window managers don't have this ability and gPodder
becomes less usable without it.
default GTK 'gravity' setting seems slightly buggy on win32, and
'static' gravity avoids the problem. this should also work well
(better?) on other platforms, but it's untested, so..
it seems a 'configure-event' is sent before each 'window-state-event'
when the window is maximized, so the code is checking the stale value of
cfg.maximized, and saves the new position when it shouldn't.
it may be this only happens on win32, but the new code should work
correctly everywhere.
There is no need to see/edit the window position and
paned position values in the graphical config editor.
The positional (window status / paned position) config
values get a "_" prepended to their name, and all values
starting with "_" are hidden in the UI editor. They can
still be edited in the "Settings" file, but there should
really be no need to edit them.
The following command has been used:
grep -r '2005-2009 Thomas Perl and the gPodder Team' * | cut -d: -f1 |
xargs sed -i -e 's/2005-2009 Thomas Perl and the gPodder Team/2005-2010
Thomas Perl and the gPodder Team/g'
Create a new UIConfig class that subclasses the normal
Config class that takes care of the basic configuration
work.
The UIConfig class adds support for registering GTK+ UI
elements with the configuration object.
Additionally, the ListStore (TreeModel) code is split
into a new class ConfigModel that takes care of formatting
the configuration data for display in GTK+ applications.