GNOME Bugzilla – Bug 659854
theme: Fix invisible borders for maximized windows
Last modified: 2011-10-17 19:11:30 UTC
I'm a dumb person and mixed up "MAXIMIZED" and "FULLSCREEN".
Created attachment 197280 [details] [review] theme: Fix invisible borders for maximized windows
Review of attachment 197280 [details] [review]: See comment below: ::: src/ui/theme.c @@ +429,3 @@ borders->visible.bottom = layout->bottom_height; + /* For a maximized window, we have visible borders, but not invisible ones. */ This is not particularly obvious to me - we don't allow resizing of maximized windows, but rather than special-casing maximized windows, I'd suggest something like: draggable_borders = meta_prefs_get_draggable_border_width (); if (flags & META_FRAME_ALLOWS_HORIZONTAL_RESIZE) { borders->invisible.left = ... borders->invisible.right = ... } if (flags & META_FRAME_ALLOWS_VERTICAL_RESIZE) { borders->invisible.bottom = ... borders->invisible.top = ... }
Created attachment 197811 [details] [review] theme: Don't add invisible borders for windows that can't resize Invisible borders are all about resizing -- in the case that a window can't resize, it makes no sense to add them. Oh, that makes sense. I didn't know about those flags.
Review of attachment 197811 [details] [review]: Nitpick in the subject: "cannot be resized" (or "non-resizable windows") - windows can always resize, even if they are not resizable ;-)
This causes some issues with apps. Steps: 1. Open an image in eog. 2. Go into fullscreen mode with F11. 3. Exit fullscreen mode with F11. Expected: Standard frames Actual: Messed up frames, looks like we apply the cairo overlay for a layout with invisible borders on an window without room for them. Frame isn't resizable either (??)
Created attachment 199252 [details] [review] Update window->has_resize_func at the right time when unfullscreening Since the frame windw size that meta_window_move_resize() uses depends on whether the window has horizontal/vertical resize functionality, we need to update this flag before we resize the window.
Review of attachment 199252 [details] [review]: Looks good (though it looks a bit fragile that we depend on order like this, but that's hardly the fault of this patch ...)
Attachment 199252 [details] pushed as ba31ba4 - Update window->has_resize_func at the right time when unfullscreening