1. 20 Jan, 2011 1 commit
  2. 05 Jan, 2011 1 commit
  3. 02 Dec, 2010 2 commits
  4. 18 Nov, 2010 1 commit
  5. 23 Sep, 2010 1 commit
    • Owen W. Taylor's avatar
      Allow breaking out from maximization during a mouse resize · 1c3f7c40
      Owen W. Taylor authored
      A maximized window can't be resized from the screen edges (preserves
      Fitts law goodness for the application), but it's still possible
      to start a resize drag with alt-middle-button. Currently we just
      don't let the user resize the window, while showing drag feedback;
      it's more useful to let the user "break" out from the resize.
      
      This provides a fast way to get a window partially aligned with
      the screen edges - maximize, then alt-drag it out from one edge.
      
      Behavior choices in this patch:
      
       - You can drag out a window out of maximization in both directions -
         smaller and larger. This can be potentilaly useful in multihead.
      
       - Dragging a window in only one direction unmaximizes the window
         fully, rather than leaving it in a horizontally/vertically
         maximized state. This is done because the horizontally/vertically
         maximzed states don't have clear visual representation and can
         be confusing to the user.
      
       - If you drag back to the maximized state after breaking out,
         maximization is restored, but you can't maximize a window by
         dragging to the full size if it didn't start out that way.
      
      A new internal function meta_window_unmaximize_with_gravity() is
      added for implementing this; it's a hybrid of
      meta_window_unmaximize() and meta_window_resize_with_gravity().
      
      Port of the metacity patch from Owen Taylor in bug 622517.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=629931
      1c3f7c40
  6. 17 Sep, 2010 1 commit
    • Florian Müllner's avatar
      Implement side-by-side tiling · 97e2b466
      Florian Müllner authored
      When dragging a window over a screen edge and dropping it there,
      maximize it vertically and scale it horizontally to cover the
      corresponding half of the current monitor.
      
      Whenever a "hot area" which triggers this behavior is entered, an
      indication of window's target size is displayed after a short delay
      to avoid distraction when moving a window between monitors.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=606260
      97e2b466
  7. 11 Sep, 2010 1 commit
  8. 14 May, 2010 1 commit
    • Tomas Frydrych's avatar
      _MUTTER_HINTS · 28767c4d
      Tomas Frydrych authored
      A per-window _MUTTER_HINTS property allowing plugins to use custom hints. The
      property holds a colon separated list of key=value pairs; plugin-specific keys
      must be suitably namespaced, while 'mutter-' prefix is reserved for internal
      Mutter use only.
      
      This commit adds MetaWindow::mutter-hints property, and
      meta_window_get_mutter_hints() accessor, as well as the internal machinery for
      reading and updating of the hints.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=613123
      28767c4d
  9. 05 May, 2010 2 commits
  10. 24 Apr, 2010 1 commit
  11. 10 Feb, 2010 1 commit
  12. 20 Jan, 2010 1 commit
  13. 20 Nov, 2009 1 commit
  14. 14 Oct, 2009 1 commit
  15. 22 Sep, 2009 1 commit
  16. 31 Aug, 2009 1 commit
  17. 14 Aug, 2009 1 commit
    • Colin Walters's avatar
      Add meta_window_is_mapped, remove usage of window-private.h from mutter-window.c · 41cf9134
      Colin Walters authored
      mutter-window.c originally grew an #include "window-private.h" for
      window->override_redirect, but that was just fixed.  However since
      then it also ended up relying on a few other minor private bits.
      
      To fix that, add meta_window_is_mapped, promote meta_window_toplevel_is_mapped
      to public, and use the public MetaDisplay accessor.
      41cf9134
  18. 04 Aug, 2009 1 commit
  19. 05 Jul, 2009 1 commit
    • Owen W. Taylor's avatar
      Simplify relationship between mapping and visibility · 6726fcd2
      Owen W. Taylor authored
      Previously, changes to the visibility of a window could be indicated
      by meta_compositor_map_window(), meta_compositor_unminimize_window(),
      meta_compositor_set_window_hidden(), etc, with the exact behavior
      depending on the 'live_hidden_windows' preference.
      
      Simplify this so that visibility is controlled by:
      
       meta_compositor_show_window()
       meta_compositor_hide_window()
      
      With an 'effect' parameter provided to indicate the appropriate
      effect (CREATE/UNMINIMIZE/MINIMIZE/DESTROY/NONE.)
      
      The map state of the window is signalled separately by:
      
       meta_compositor_map_window()
       meta_compositor_unmap_window()
      
      And is used only to control resource handling.
      
      Other changes:
      
       * The desired effect on show/hide is explicitly stored in
         MetaWindow, avoiding the need for the was_minimized flag.
         At idle, once we calculate the window state, we pass the
         effect to the compositor if it matches the new window
         state, and then clear the effect to start over for future
         map state changes.
      
       * meta_compositor_switch_workspace() is called before any windows
         are hidden or shown, allowing the compositor to avoid hiding
         or showing an effect for windows involved in the switch.
         http://bugzilla.gnome.org/show_bug.cgi?id=582341
      
       * Handling of post-effect cleanups for MutterWindow are
         simplified - instead of trying to do different things based
         on the individual needs of different effects, we just wait until
         all effects complete and sync the window state to what it
         should be.
      
       * On unmap, once we destroy the pixmap, we tell ClutterX11Pixmap
         that we've done so, so it can clean up and unbind. (The
         unbinding doesn't seem to be working properly because of
         ClutterGLXPixmap or video driver issues.)
      
      http://bugzilla.gnome.org/show_bug.cgi?id=587251
      6726fcd2
  20. 30 Jun, 2009 2 commits
  21. 19 Jun, 2009 1 commit
  22. 16 Jun, 2009 1 commit
    • Jon Nettleton's avatar
      Comprehensively rename to Mutter · 51a64679
      Jon Nettleton authored
      Code:
      All references in the code not related to themes, keybindings, or
      GConf were changed from 'metacity' to 'mutter'. This includes, among other
      things, strings, comments, the atoms used in the message protocol, and
      the envvars used for debugging. The GConf schema file was reduced to
      the 3 settings new to mutter.
      
      The overall version was brought up to 2.27 to match current gnome.
      
      Structure:
      All files named '*metacity*' were renamed '*mutter*' with appropriate
      changes in the automake system.  Files removed are
      doc/creating_themes, src/themes, doc/metacity-theme.dtd,
      metacity.doap.  These files will eventually end up in an external
      gnome-wm-data module.
      
      Installation location:
      On the filesystem the mutter-plugindir was change from
      $(libdir)/metacity/plugins/clutter to just $(libdir)/mutter/plugins.
      The mutter-plugins.pc.in reflects these changes.
      
      Note:
      mutter.desktop.in and mutter-wm.desktop both continue to have
      X-GNOME-WMSettingsModule=metacity set.  This allows
      gnome-control-center to continue using libmetacity.so for
      configuration.  This is fine since most the general keybindings and wm
      settings are being read from /apps/metacity/* in gconf.
      51a64679
  23. 15 Jun, 2009 1 commit
  24. 05 May, 2009 1 commit
  25. 27 Apr, 2009 1 commit
  26. 31 Mar, 2009 1 commit
  27. 19 Mar, 2009 1 commit
  28. 17 Mar, 2009 1 commit
  29. 10 Feb, 2009 1 commit
  30. 27 Jan, 2009 1 commit
  31. 02 Feb, 2009 3 commits
  32. 20 Jan, 2009 1 commit
  33. 15 Jan, 2009 1 commit
  34. 02 Feb, 2009 2 commits
    • Dan Winship's avatar
      Make compositor private a GObject than a void pointer · 0fdb6444
      Dan Winship authored
      Requiring the compositor private object to be a GObject allows the
      return value of meta_window_get_compositor_private() to be used
      via gobject-introspection, since the type and memory management
      can be determined.
      
      This allows a reverse mapping from MetaWindow to MutterWindow.
      
      - Change meta_window_get/set_compositor_private to use GObject
        rather than void *
      - Adapt code in compositor-mutter.c to match.
      0fdb6444
    • Tomas Frydrych's avatar
      MetaWindow::raised signal. · 1e17ba17
      Tomas Frydrych authored
      1e17ba17