1. 19 Mar, 2014 2 commits
  2. 15 Feb, 2014 1 commit
    • Jasper St. Pierre's avatar
      Always map the client and frame windows · aec3edb1
      Jasper St. Pierre authored
      Traditionally, WMs unmap windows when minimizing them, and map them
      when restoring them or wanting to show them for other reasons, like
      upon creation.
      However, as metacity morphed into mutter, we optionally chose to keep
      windows mapped for the lifetime of the window under the user option
      "live-window-previews", which makes the code keep windows mapped so it
      can show window preview for minimized windows in other places, like
      Alt-Tab and Expose.
      I removed this preference two years ago mechanically, by removing all
      the if statements, but never went through and cleaned up the code so
      that windows are simply mapped for the lifetime of the window -- the
      "architecture" of the old code that maps and unmaps on show/hide was
      still there.
      Remove this now.
      The one case we still need to be careful of is shaded windows, in which
      we do still unmap the client window. In the future, we might want to
      show previews of shaded windows in the overview and Alt-Tab. In that
      we'd also keep shaded windows mapped, and could remove all unmap logic,
      but we'd need a more complex method of showing the shaded titlebar, such
      as using a different actor.
      At the same time, simplify the compositor interface by removing
      meta_compositor_window_[un]mapped API, and instead adding/removing the
      window on-demand.
  3. 22 Jan, 2014 2 commits
  4. 25 Nov, 2013 1 commit
    • Jasper St. Pierre's avatar
      cullable: Turn cull_out / reset_culling into a separate interface · 74e43a47
      Jasper St. Pierre authored
      Instead of hardcoded knowledge of certain classes in MetaWindowGroup,
      create a generic interface that all actors can implement to get parts of
      their regions culled out during redraw, without needing any special
      knowledge of how to handle a specific actor.
      The names now are a bit suspect. MetaBackgroundGroup is a simple
      MetaCullable that knows how to cull children, and MetaWindowGroup is the
      "toplevel" cullable that computes the initial two regions. A future
      cleanup here could be to merge MetaWindowGroup / MetaBackgroundGroup so
      that we only have a generic MetaSimpleCullable, and move the "toplevel"
      cullability to be a MetaCullableToplevel.
  5. 19 Nov, 2013 3 commits
    • Owen W. Taylor's avatar
      Rename meta_window_get_outer_rect() to meta_window_get_frame_rect() · b9da43b7
      Owen W. Taylor authored
      For clarity, rename meta_window_get_outer_rect() to match terminology
      we use elsewhere. The old function is left as a deprecated
      compatibility wrapper.
    • Owen W. Taylor's avatar
      Use utility functions to convert between frame and client rectangles · f36a6273
      Owen W. Taylor authored
      There are extensive places in the code where we convert between the client
      rectangle and the frame rectangle. Instead of manually doing it use
      new helper functions on MetaWindow and the existing meta_window_get_outer_rect().
      This fixes a number of bugs where the computation was being done incorrectly,
      most of these bugs are with the recently added custom frame extents, but
      some relate to invisible borders or even simply to confusion between the
      window and frame rectangle.
      Switch the placement code to place the frame rectangle rather
      than the client window - this simplifies things considerably.
    • Florian Müllner's avatar
      doc: Fix file globs · 17fd25e2
      Florian Müllner authored
      Any files matching the previously used globs are no longer distributed,
      breaking distcheck. Match the actual sources in compositor/, core/, meta/
      and ui/ instead.
  6. 16 Oct, 2013 1 commit
  7. 12 Sep, 2013 1 commit
  8. 26 Aug, 2013 1 commit
  9. 18 Jul, 2013 1 commit
  10. 18 Mar, 2013 2 commits
  11. 14 Mar, 2013 7 commits
  12. 20 Mar, 2012 1 commit
    • Jasper St. Pierre's avatar
      workspace: Don't try to use per-workspace MRU lists as a hint for focusing · a3bf9b01
      Jasper St. Pierre authored
      Commit 2fc880db switched from focusing the topmost window as the default
      window to focusing the MRU window. This was done in alignment with the
      introduction of per-workspace MRU lists to avoid problems where the window
      stack was inadvertently changed when focusing windows during window switches.
      Now that focusing windows don't have as big an impact on the stacking order,
      we can revert back to focusing the top window, which is less confusing to the
      For now, leave per-workspace MRU lists, as they're a pretty good approximation
      of a global MRU list, and it works well enough.
  13. 11 Nov, 2011 1 commit
  14. 08 Jul, 2011 1 commit
    • Florian Müllner's avatar
      theme: Allow using custom colors from the GTK+ theme · 54b2fab8
      Florian Müllner authored
      Add an additional color type to pick up colors defined with
      @define-color in the GTK+ theme's CSS:
      (where "name" refers to the name defined in GTK+'s CSS, and fallback
      refers to an alternative color spec which is used when the color
      referenced by "name" is not found)
      The main intent of the change is to allow designers to improve
      Adwaita's dark theme variant without having to compromise on colors
      which work in the light variant as well.
  15. 05 Jan, 2011 2 commits
  16. 18 Nov, 2010 1 commit
  17. 13 Apr, 2010 3 commits
    • Owen W. Taylor's avatar
      Allow a theme to specify ellipsize width for a title · 1d7476a7
      Owen W. Taylor authored
      It's nice to indicate when a title is truncated with an ellipsis.
      Because themes may draw a title multiple times to draw a shadow, or
      may include the window icon within the title area, we can't determine
      the proper ellipsization width automatically, so add an optional
      attribute to the <title/> element "ellipsize_width" which, if set,
      is the width to ellipsize at.
      This is only enabled if a theme version of 3.1 is required.
      When it's not set, we keep the old behavior of just letting the
      title be clipped with a hard edge.
    • Owen W. Taylor's avatar
      Add frame_x_center/frame_y_center variables for themes · e8e78ebf
      Owen W. Taylor authored
      Sometimes you want to position something (usually the title) to be centered
      with respect to the entire frame instead of centered with respect to the
      individual piece currently being drawn.
      This patch adds frame_x_center and frame_y_center variables that represent
      the X/Y centers of the frame in the coordinate system of the piece being
      The theme version is bumped from 3.0 to 3.1 (3.0 is just the new version
      system, 3.1 will have all the features we add for Mutter-2.28.)
      position expressions
    • Owen W. Taylor's avatar
      metacity-theme-3.xml: Add a flexible version mechanism · 020aea03
      Owen W. Taylor authored
      The current mechanism of metacity-theme-1.xml and metacity-theme-2.xml
      is not flexible for allowing small-scale additions. With this patch
      we bump the major version version once more to metacity-theme-3.xml
      and add a single feature:
      Any element in the DTD can have an attribute:
       version="[<|<=|=>|>] MAJOR.MINOR"
      And it will be ignored unless the predicate is met. (< and > should
      be to be entity escaped as &lt; and &gt;)
      This allows having alternate sections of the theme file for older and
      newer version.
      * Required GLib version is bumped to 2.14 so we can parse versions
        with a regular expression.
      * We switch internal version numbers to be "1000 * major + minor"
      * We keep a stack of the maximum required version for the current portion
        the XML tree so that the "cannot use versions you don't require" stricture
        of the old code can be made local to a subpart of the tree.
      * A version on the top metacity_theme element causes the entire file to
        be ignored; this allows having one metacity-theme-3.xml for version 3.2
        and newer (say) and a metacity-1.xml for everything old.
      Actual new features will be added starting with 3.1 - 3.0 is just the
      version="" feature.
  18. 16 Jun, 2009 1 commit
    • Jon Nettleton's avatar
      Comprehensively rename to Mutter · 51a64679
      Jon Nettleton authored
      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.
      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.
      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.
  19. 23 Oct, 2008 2 commits
  20. 22 Oct, 2008 1 commit
  21. 18 Oct, 2008 1 commit
  22. 14 Aug, 2008 1 commit
    • Akira TAGOH's avatar
      new manual page. added new reference. · 92fe1574
      Akira TAGOH authored
      2008-08-14  Akira TAGOH  <akira@tagoh.org>
              * doc/man/metacity-message.1: new manual page.
              * doc/man/Makefile.am: added new reference.
      svn path=/trunk/; revision=3811
  23. 04 Apr, 2007 1 commit
    • Elijah Newren's avatar
      Fix lots of little issues with min/max constraints and size increment · 921661e9
      Elijah Newren authored
      2004-04-04  Elijah Newren  <newren gmail com>
      	Fix lots of little issues with min/max constraints and size
      	increment constraints.  Fixes #329152, #418395, and possibly
      	* src/window-props.c (meta_set_normal_hints):
      	Do more checking to make sure application specified constraints
      	are self-consistent, modifying the size_hints as necessary to
      	achieve self-consistency.
      	* src/constraints.c (setup_constraint_info): remove ugly
      	copy-pasto, (constrain_size_increments): be careful that fixing
      	violation of the constraints doesn't cause a violation of the
      	minimum size constraints.
      	* src/window.c (ensure_size_hints_satisfied): new function,
      	(meta_window_unmaximize, meta_window_unmake_fullscreen): the
      	saved_rect may no longer be valid (as in the case of #329152) so
      	call ensure_size_hints_satisfied to fix it up.
      	* doc/how-to-get-focus-right.txt: Some minor spacing and wording
      	fixes completely unrelated to the rest of this commit
      svn path=/trunk/; revision=3155
  24. 16 Jan, 2007 2 commits