Metacity should be responsible for maximising windows

Bug #252589 reported by Chris Gregan
22
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Maximus
Won't Fix
Wishlist
Neil J. Patel
maximus (Ubuntu)
Confirmed
Wishlist
Neil J. Patel

Bug Description

<Build: UNR 20080725>
<Environment: CG - 8.9">

Summary:
There is a visible lag between when applications are launched and when they are switched to full screen mode. This should not be visible. Apps should appear to launch in full screen mode without a transition time.

Steps to Reproduce:
1) Switch to Graphics category
2) Launch Cheese
3) Switch to Accessories category
4) Launch Disk Usage Analyzer

Expected result:
Applications launch to full screen mode without a perceptible lag while it scales

Actual result:
A lag occurs between the application launch and when it achieves full screen.

***

To fix this, we need to have Maximus' functionality in Metacity. The window's would then appear maximised, rather than appearing and then maximising,

***

Chris Gregan (cgregan)
description: updated
Revision history for this message
Neil J. Patel (njpatel) wrote :

I'm confirming, but this is a bit difficult with the current set-up. We'd need to hack Metacity to do what maximus does...

Changed in netbook-remix:
assignee: nobody → njpatel
status: New → Confirmed
Bill Filler (bfiller)
Changed in netbook-remix:
importance: Undecided → Medium
Neil J. Patel (njpatel)
description: updated
Changed in netbook-remix:
importance: Medium → Wishlist
Revision history for this message
Mike (mike82) wrote :

We can definitely get much better results by doing everything inside metacity. This may have been a messy option previously, but I see that the netbook remix already has a custom metacity package now, so it shouldn't be too hard to include an extra patch in that package.

I've built a version of metacity that has maximus "built-in". It detects windows that could be maximized, and maximizes them before they are even shown for the first time. This avoids the messy delay and flickering as windows are resized. It also removes the window decoration before it's seen, again reducing flickering.

If a maximized and undecorated window is restored, the decorations are re-added and it becomes a normal window. It remains that way until closed.

This behaviour can be enabled and disabled via a new gconf key named "start_maximized". There is another key, named "never_maximize" which contains the exclusion list (in addition to a built-in exclusion list). From within metacity we can actually do a better job to figure out which windows should be maximized, based on properties of the window, so the exclusion lists become much less important. For example, windows that can't be resized by the user probably shouldn't be maximized by metacity.

If you're interested in testing out this package, please do and let me know how it goes. Be sure to disable maximus first, so that they don't conflict.

debs that can be installed manually:
i386: https://launchpad.net/%7Emike82/+archive/+files/metacity_2.24.0-0ubuntu2~ppa1_i386.deb
amd64: https://launchpad.net/%7Emike82/+archive/+files/metacity_2.24.0-0ubuntu2~ppa1_amd64.deb

A PPA you can add to sources.list to get the packages automatically:
deb http://ppa.launchpad.net/mike82/ubuntu intrepid main
deb-src http://ppa.launchpad.net/mike82/ubuntu intrepid main

Revision history for this message
Mike (mike82) wrote :

I've attached a patch against the metacity package that adds maximus-like functionality. It's the same code as used above.

The patch can be added into the debian/patches directory to be applied automatically.

Revision history for this message
Paul Larson (pwlars) wrote :

This bug has been moved to Ubuntu distribution.

Changed in maximus (Ubuntu):
assignee: nobody → Neil J. Patel (njpatel)
importance: Undecided → Wishlist
status: New → Confirmed
Changed in maximus:
status: Confirmed → Won't Fix
tags: added: ubuntu-unr
Revision history for this message
Luca Ferretti (elle.uca) wrote :

"On displays with less than 768 pixels of vertical space windows should default to open maximized."

This statement come from the GNOME Shell Design paper[1]. As you may know, Metacity is coming to deprecated in favour of Mutter and this will be strongly integrate in GNOME Shell.

Could be good start to interact with mutter/gnome-shell developers in ordert to include maximus features (and unr design) in mutter itself. The issues about decorating windows in maximized state, in fact, are still open.

[1] http://www.gnome.org/~mccann/shell/design/GNOME_Shell-20090705.pdf

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.