GNOME Bugzilla – Bug 243962
Evolution shouldn't save its main window's size when closing if maximized
Last modified: 2008-10-01 09:34:01 UTC
Please fill in this template when reporting a bug, unless you know what you are doing. Description of Problem: If you close Evolution while maximized, it remembers the maximized size. Thus, when you re-open it, it starts maximized and there is no way to un-maximize it else than resizing it manually. Steps to reproduce the problem: 1. Maximize Evolution 2. Close it 3. Re-open it 4. Click on the "un-maximize" button of your window manager (tested on metacity) Actual Results: The window stays maximized. Expected Results: The window should have returned to the last non-maximized size it had before closing. How often does this happen? always Additional Information: A lot of apps have this bug. Please, someone, start fixing that !
While I agree that it's anoying to resize a maximized window, this is hardly an Evolution bug, but a window manager issue. Application must save its size regardless since, yeah, there must be people who like it maximized.
No, that's not how it should work. The application should remember the last unmaximized size AND remember that the app was left maximized. This way, the next time it starts, it starts miximized but knows at which size it should fall back when the user un-maximizes it.
The behavior you suggest, Julo, seems very reasonable to me. Let's try to get some input from Ettore about the feasability of this solution (from a implementation perspective).
reassigning jpr's old evolution\miscellaneous bugs to harish
Can this be done for GNOME 2.16?
Duplicate of bug 201362?
*** Bug 337755 has been marked as a duplicate of this bug. ***
Created attachment 64303 [details] [review] Proposed Patch Proposing this patch to fix this bug. It introduces this behavior: When the window gets maximized, store its maximized state in GConf. When the window gets resized, add a timer to store the current size in GConf (I'm using a timer here to avoid lots of GConf writes while resizing the window for a longer period). The window doesn't store the size if it's maximized. When a window gets created, set its default size and maximize it afterwards (if necessary). This patch needs to be tested (I'm compiling evolution right now), so there might be another version of this patch later.
Created attachment 64306 [details] [review] Updated patch This patch compiles both with HEAD and 2.6.1
Created attachment 64312 [details] [review] The final patch This patch compiles cleanly, doesn't throw any runtime warnings and behaves exactly the way I want to. I consider this patch as a trivial patch, because it fixes a small memory leak (the s/gconf_client_get_default()/gconf_client/ passage) and contains the obvious code to implement this feature.
https://launchpad.net/distros/ubuntu/+source/evolution/+bug/34502 and https://launchpad.net/distros/ubuntu/+source/evolution/+bug/41696 discuss the same bug - will this be in 2.14.x?
Created attachment 64374 [details] [review] Full patch This one also includes the missing gconf schema definition for the new key. May I commit this to HEAD?
Looks good to commit to head and gnome-2-14
2006-04-28 Sven Herzberg <herzi@gnome-de.org> reviewed by: Srinivasa Ragavan * shell/apps_evolution_shell.schemas.in.in: added boolean key for the maximized state of the window * shell/e-shell-window.c: added window state saving and updated window size saving to work as expected (fixes bug 243962)
Sven: Ping [Can we catch up on irc or Can you look at the mail I have sent to you?]