1. 18 Nov, 2010 1 commit
  2. 23 Oct, 2010 1 commit
    • Owen W. Taylor's avatar
      introspection: remove --allow-unprefixed · 52bc675f
      Owen W. Taylor authored
      Remove --allow-unprefixed option to the scanner, and fix resulting
      problems:
      
       * theme.h and boxes.h are split into a main -header and a private
         header that includes stuff that is not generally useful and
         hard to introspect. Merge theme-parser.h into theme.h.
      
       * meta_display_get_atom() and meta_window_get_window_type_atom()
         are marked as (skip)
      
       * Fix annotation: (element-type Strut) => (element-type Meta.Strut)
      
      https://bugzilla.gnome.org/show_bug.cgi?id=632494
      52bc675f
  3. 27 Sep, 2010 1 commit
  4. 26 Sep, 2010 1 commit
    • Benjamin Otte's avatar
      theme: Upgrade to use Cairo for painting (changes API) · aa65f94c
      Benjamin Otte authored
      This commit is in preparation for the work happening in GTK3, which will
      use Cairo for drawing exclusively. So it is necessary to move all
      drawing code to Cairo. In this commit the "gtk2" code is used for both
      gtk2 and gtk3; compatibility with newer versions of gtk3 where different
      code is needed will be added subsequently.
      For compatibility with older GTK versions, the file gdk2-drawing-utils.h
      provides a compatibility layer.
      
      The commit changes the API of libmutter-private.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=630203
      aa65f94c
  5. 07 Sep, 2010 1 commit
    • Colin Walters's avatar
      introspection: Build with --warn-fatal, drop fix-meta-rectangle.py hack · 4c076379
      Colin Walters authored
      Cleanly build with --warn-fatal.  Implementation:
      
      * Liberally apply (skip) where the API is clearly C only, e.g. uses
        XLib.  The theming code and MutterPlugin are skipped too.
      * Add missing (transfer) and (element-type) annotations
      
      For a few functions that had a comment, I turned it into gtk-doc, but
      I didn't (with a few exceptions) try to write new documentation in
      this pass.
      4c076379
  6. 13 Apr, 2010 2 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.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=591842
      1d7476a7
    • 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
      drawn.
      
      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
      
      https://bugzilla.gnome.org/show_bug.cgi?id=591842
      e8e78ebf
  7. 28 Jan, 2009 1 commit
    • Owen Taylor's avatar
      GtkStyle is specific to a particular colormap. Metacity uses different · a6c95135
      Owen Taylor authored
      2009-01-27  Owen Taylor  <otaylor@redhat.com>
      
             GtkStyle is specific to a particular colormap. Metacity
             uses different colormaps for windows with different
             visuals, so it must specialize the GtkStyle.
      
             Closes #568365 and #513944.
      
             * src/ui/frames.[ch]: Keep a GtkStyle for each MetaUIFrame, which is
               obtained by calling gtk_style_attach() on the style for the
               MetaFrames. When the style of the MetaFrames changes, reattach
               everything. When we call gtk_style_set_background() pass in the
               right style.
      
             * src/ui/themes.[ch]: Create a _with_style() variant of functions that
               previously took the style from widget->style passed in, so we
               can draw with the right style for the colormap.
      
      
      svn path=/trunk/; revision=4092
      a6c95135
  8. 11 Jan, 2009 1 commit
  9. 12 Nov, 2008 1 commit
    • Thomas James Alexander Thurman's avatar
      Clean up #includes according to the GNOME Goal. · 39e389cc
      Thomas James Alexander Thurman authored
      	Closes #560449.  Patch is 122467.
      	* src/core/place.c:
      	* src/ui/draw-workspace.h:
      	* src/ui/gradient.h:
      	* src/ui/metaaccellabel.c:
      	* src/ui/metaaccellabel.h:
      	* src/ui/preview-widget.c:
      	* src/ui/preview-widget.h:
      	* src/ui/resizepopup.c:
      	* src/ui/theme.c:
      	* src/ui/theme.h:
      	* src/ui/themewidget.h:
      
      
      svn path=/trunk/; revision=4017
      39e389cc
  10. 15 Oct, 2008 1 commit
    • Thomas Thurman's avatar
      Since Patrick Niklaus's checkin of 2008-08-14 dealt with windows with no · 7d67a9ae
      Thomas Thurman authored
      2008-10-15  Thomas Thurman  <tthurman@gnome.org>
      
              Since Patrick Niklaus's checkin of 2008-08-14 dealt with windows with
              no icons not using fallback icons, we don't need fallback icons.
      
              * src/ui/theme.h: remove fallback icons from struct.
              * src/core/iconcache.c (meta_read_icons): don't look for fallbacks.
              * src/*/ui.[ch] (meta_ui_get_fallback_icons): removed
              * src/ui/theme-parser.c (typedef, parse_toplevel_element): don't
                parse fallback specifications.
      
      
      svn path=/trunk/; revision=3958
      7d67a9ae
  11. 13 May, 2008 1 commit
  12. 22 Jan, 2008 1 commit
    • Thomas Thurman's avatar
      more commenting. · b4890a3d
      Thomas Thurman authored
      2008-01-21  Thomas Thurman  <tthurman@gnome.org>
      
           * src/ui/theme.[ch]: more commenting.
      
      
      
      svn path=/trunk/; revision=3524
      b4890a3d
  13. 18 Jan, 2008 1 commit
    • Thomas Thurman's avatar
      some more commenting. · 7b031a1c
      Thomas Thurman authored
      2008-01-18  Thomas Thurman  <tthurman@gnome.org>                                                                                                  
                                                                                                                                                        
              * src/ui/theme.[ch]: some more commenting. 
      
      svn path=/trunk/; revision=3523
      7b031a1c
  14. 17 Jan, 2008 1 commit
  15. 19 Dec, 2007 2 commits
    • Havoc Pennington's avatar
      sort source files into these directories according to which part of the WM · 72b08c82
      Havoc Pennington authored
      2007-12-19  Havoc Pennington  <hp@redhat.com>
      
      	* src/ui, src/core, src/include: sort source files into these
      	directories according to which part of the WM they are supposed to
      	be in. In an eventual plan, we should also create
      	src/compositor/render, src/compositor/fallback and move some of
      	the compositor stuff into that.
      	
      	* autogen.sh: require a newer automake, so we don't have to use
      	a recursive build
      
      	* src/ui/tabpopup.c: put in a hack to make the build temporarily
      	work, want to commit the large rearrangement before fixing this
      	not to include workspace.h or frame.h
      
      	* src/core/iconcache.c (meta_read_icons): temporarily break this
      	to get the build to work, want to commit the large rearrangement
      	before fixing this file not to include theme.h
      
      
      svn path=/trunk/; revision=3491
      72b08c82
    • Iain Holmes's avatar
      Merge compositor branch. · c2a6eeaf
      Iain Holmes authored
      2007-12-18  Iain Holmes  <iain@gnome.org>
      
              * configure.in, src/theme.c, src/display.c,
            src/theme.h, src/display.h, src/theme-parser.c,
            src/compositor.c, src/c-screen.c, src/compositor.h,
            src/c-screen.h, src/ui.c, src/screen.c, src/ui.h,
            src/screen.h, src/c-window.c, src/c-window.h,
            src/theme-viewer.c, src/Makefile.am: Merge compositor branch.
      
      
      svn path=/trunk/; revision=3483
      c2a6eeaf
  16. 07 Oct, 2006 1 commit
    • Thomas James Alexander Thurman's avatar
      Added "above" to the list of flags a frame can have, so that we know when · 90359a53
      Thomas James Alexander Thurman authored
      
              * common.h: Added "above" to the list of flags a frame can have, so
      	that we know when to mark it as always on top.  Added six grab ops,
      	one to do and one to undo each of the three new titlebar buttons
      	(shade, above, stick).  Added six new button functions, similarly.
      	(#96229)
      
              * frame.c (meta_frame_get_flags): If a frame has the WM_STATE_ABOVE X
               attribute, set META_FRAME_ABOVE in its flags.
      
              * frames.c (meta_frames_apply_shapes): Allow variable amounts of
               rounding. (#113162)
      
              * frames.c (show_tip_now, meta_frames_paint_to_drawable, control_rect,
      	 get_control): extend handling of existing buttons to the
               3*2 new kinds of button. (#96229)
      
              * frames.c (meta_frames_button_press_event): translate clicks on the 3*2
               new kinds of button to the new grab ops. (#96229)
      
              * frames.c (meta_frames_button_release_event): implement the various
              actions for the 3*2 new kinds of button. (#96229)
      
              * frames.c (meta_frames_update_prelit_control,
               meta_frames_motion_notify_event): extend existing motion
               notifications for buttons to the 3*2 new kinds of button. (#96229)
      
              * frames.c (meta_frames_set_window_background): handle specified
               background colours and alpha transparency. (#151261)
      
              * frames.h (MetaFrameControl): New control types for the 3*2 new kinds
      	 of button.  (#96229)
      
              * iconcache.[ch] (meta_read_icons): use theme's fallback icons if a
      	 window has no icon; use metacity's fallback icons only if the theme
               does not provide any. (#11363)
      
              * iconcache.[ch] (meta_invalidate_default_icons (new function)): clear
               icon cache on windows using default icons, and update them. (#11363)
      
              * main.c (main): added \n to error message.
      
              * prefs.c (button_function_from_string): extend for 3 new button
      	 types. (#96229)
      
              * prefs.c (button_opposite_function (new function)): return a button
               function's inverse (shade -> unshade, etc) (#96229)
      
              * prefs.c (update_button_layout): allocate space for a button's
      	 inverse, if it has one. (#96229)
      
              * theme-parser.c (ParseState): add state for fallback icons (#11363)
      
              * theme-parser.c (ParseInfo): add format_version; remove
               menu_icon_* (#114305)
      
              * theme-parser.c (parse_positive_integer): add lookup for integer
      	 constants (#331356)
      
              * theme-parser.c (parse_rounding (new function)): parse window
      	 rounding amount (#113162)
      
              * theme-parser.c (parse_alpha): don't set error if the number can't
      	 be parsed since it'll already be set; change tolerance in comparison
      	 from 1e6 to 1e-6
      
              * theme-parser.c (parse_color (new function)): parse colour, including
      	 possible constant lookup.
      
              * theme-parser.c (parse_toplevel_element): allow defining of various
      	new kinds of constant; allow
      	hide_buttons (#121639) and more detailed rounding attributes on
      	<frame_geometry> (#113162); allow background and alpha attributes on
      	<frame_style>; (#151261) remove support for <menu_icon> except as
      	stub; (#114305) add support for loading stock images (#113465); add
              support for <fallback>. (#11363))
      
              * theme-parser.c (parse_draw_op_element): add from and to attribute
               for arcs. (#121603)
      
              * theme-parser.c (parse_style_element): add check for theme version
               supporting a button function. (#96229)
      
              * theme-parser.c (parse_style_set_element): add ability for shaded
      	 windows to be resizable (#114304)
      
              * theme-parser.c (meta_theme_load): add theme versioning routine.
      
              * theme.c ( meta_frame_layout_get_borders): return rectangles for
      	 the new 3*2 kinds of button, except where they're
               inapplicable. (#96229)
      
              * theme.c (meta_frame_layout_calc_geometry): don't format buttons on
      	windows with no buttons (#121639); strip the 3*2 new kinds of button
      	correctly (#96229); allow variable amounts of rounding (#113162).
      
              * theme.c (meta_frame_style_new): set alpha to 255 by
              default. (#151261)
      
              * theme.c (meta_frame_style_unref): free colour spec if
              allocated. (#151261)
      
              * theme.c (meta_frame_style_validate): it's only an error not to
              include a button if that button is valid in the current
              theme. (#96229)
      
              * theme.c (button_rect): return rectangles for the new 3*2 kinds
      	of button. (#96229)
      
              * theme.c (meta_frame_style_set_unref): free differently resizable
      	shaded styles. (#114304)
      
              * theme.c (get_style): look up differently resizable styles
              for shaded windows. (#114304)
      
              * theme.c (free_menu_ops (removed function), get_menu_icon
      	 (removed function), meta_theme_draw_menu_icon (removed function),
               meta_menu_icon_type_from_string (removed function),
               meta_menu_icon_type_to_string (removed function),
               meta_theme_free, meta_theme_validate): removed menu icon code. (#114305)
      
              * theme.c (meta_theme_load_image): add size_of_theme_icons
      	parameter. (#113465)
      
              * theme.c (meta_theme_define_color_constant (new function),
              meta_theme_lookup_color_constant (new function)): allow
              definition of colour constants. (#129747)
      
              * theme.c (meta_button_type_from_string, meta_button_type_to_string):
              add the 3*2 new kinds of button. (#96229)
      
              * theme.c (meta_theme_earliest_version_with_button (new function)):
              return the theme version each button was introduced in. (#96229)
      
              * theme.h ( MetaFrameLayout): add "hide_buttons" flag (#121639) and
      	corner radiuses. (#113162)
      
              * theme.h (MetaFrameGeometry): add rectangles for the 3*2 new
      	buttons. (#96229)
      
              * theme.h (MetaButtonType): the 3*2 new buttons. (#96229)
      
              * theme.h (MetaFrameStyle): add window_background_color and
              window_background_alpha so that we can specify background on a
              <frame_style>. (#151261)
      
              * theme.h (MetaFrameStyleSet): shaded_styles gets resize
      	dimension. (#114304)
      
              * theme.h (MetaTheme): added format_version, color_constants
              hash, (#129747) fallback_icon and fallback_mini_icon, (#11363)
              and removed menu_icons. (#114305)
      
              * theme.h (META_THEME_ALLOWS (new macro)): return whether a theme
              supports a given feature. Also, several macros representing
              new features in v2.
      
              * ui.c (meta_ui_set_current_theme)): also invalidate default
              icons. (#11363)
      
              * window.[ch] (meta_window_update_icon_now)): became
      	non-static. (#11363)
      90359a53
  17. 01 Oct, 2006 1 commit
  18. 07 Aug, 2006 2 commits
  19. 18 Apr, 2006 1 commit
    • Björn Lindqvist's avatar
      Add boxes.{c,h} to libmetacity_private · ae85a336
      Björn Lindqvist authored
      2006-04-18  Björn Lindqvist  <bjourne@gmail.com>
      
      	* makefile.am: Add boxes.{c,h} to libmetacity_private
      	* src/theme-parser.c (check_expression):
      	* src/theme-viewer.c (run_position_expression_tests):
      	Use meta_rect ().
      
      	* src/theme.c: Replace while loops iterating over sequences with
      	for loops.
      
      	* src/theme.c, src/theme.h (struct _MetaPositionExprEnv,
      	meta_draw_op_draw, meta_draw_op_list_draw,
      	meta_theme_draw_menu_icon): Use MetaRectangles in function
      	prototypes instead of x, y, with, height ints where applicable.
      ae85a336
  20. 10 Jan, 2004 1 commit
    • Thomas Fitzsimmons's avatar
      Add _NET_FRAME_EXTENTS and _NET_REQUEST_FRAME_EXTENTS. · a605da04
      Thomas Fitzsimmons authored
      2004-01-09  Thomas Fitzsimmons  <fitzsim@redhat.com>
      
      	Add _NET_FRAME_EXTENTS and _NET_REQUEST_FRAME_EXTENTS.
      
      	* src/display.c: include xprops.h
      	(process_request_frame_extents): new function
      	(meta_display_open): add _NET_FRAME_EXTENTS and
      	_NET_REQUEST_FRAME_EXTENTS atoms
      	(event_callback): handle frame extents message
      
      	* src/display.h (struct _MetaDisplay): add atom_net_frame_extents
      	and atom_net_request_frame_extents
      
      	* src/theme.c (meta_pango_font_desc_get_text_height): make font_desc
      	parameter const
      
      	* src/ui.c: include prefs.h
      	(meta_ui_theme_get_frame_borders): new function
      
      	* src/window.c (update_net_frame_extents): new function
      	(meta_window_move_resize_internal): update frame extents
      	property when frame geometry changes
      
      	* src/screen.c (set_supported_hint): add atom_net_frame_extents
      	and atom_net_request_frame_extents
      a605da04
  21. 04 Nov, 2002 1 commit
    • Havoc Pennington's avatar
      Patch from Brian Cameron to implement the vertical/horizontal striped · 5efd276a
      Havoc Pennington authored
      2002-11-04  Havoc Pennington  <hp@pobox.com>
      
              Patch from Brian Cameron to implement the vertical/horizontal
      	striped image accelerated scaling from the gtk pixbuf engine.
      
      	* src/theme.c (scale_and_alpha_pixbuf): if an image is
      	vertical/horizontal stripes, use special extra-fast scaling
      	routines.
      
      	* src/theme-parser.c (parse_draw_op_element): when loading an
      	image, mark it as vertically/horizontally striped when appropriate
      5efd276a
  22. 04 Oct, 2002 1 commit
    • Havoc Pennington's avatar
      Button-reordering patch. Has all the code except actually installing a · 7641c6f9
      Havoc Pennington authored
      2002-10-03  Havoc Pennington  <hp@pobox.com>
      
              Button-reordering patch. Has all the code except actually
      	installing a gconf schema and reading the gconf key in prefs.c.
      	metacity-theme-viewer displays the button layouts for testing
      	themes.
      
      	* src/preview-widget.c (meta_preview_size_request): make up a
      	width/height if no child widget
      
      	* src/prefs.c (meta_prefs_get_button_layout): new function
      
      	* src/frames.c: get the button layout from prefs and
      	use it when drawing
      
      	* src/theme.c (meta_frame_layout_calc_geometry): enhance to be
      	able to lay out buttons in different arrangements
      	(button_rect): draw the new button background rectangles
      	(meta_theme_draw_frame): require a button layout argument
      	(meta_theme_calc_geometry): pass in the button layout
      
      	* src/preview-widget.h: mod to handle button layouts
      
      	* src/theme-viewer.c: mod to handle button layouts
      7641c6f9
  23. 04 Aug, 2002 1 commit
    • Havoc Pennington's avatar
      use MetaMenuIconType not button type for the size of the menu ops array · 58359617
      Havoc Pennington authored
      2002-08-04  Havoc Pennington  <hp@redhat.com>
      
      	* src/theme.c (free_menu_ops): use MetaMenuIconType not button
      	type for the size of the menu ops array
      	(meta_theme_define_int_constant): return TRUE on success (how the
      	heck did this ever work?)
      	(meta_theme_define_float_constant): return TRUE on success
      	(meta_frame_style_validate): allow the "positional" buttons to
      	be omitted for now.
      
      	* src/testgradient.c (render_multi): don't define N_COLORS twice
      
      	* src/theme-viewer.c (run_theme_benchmark): don't define
      	ITERATIONS twice
      
      	* src/theme.c (button_rect): handle new button types
      	(meta_button_type_to_string): update
      	(meta_button_type_from_string): update
      
      	* src/theme.h (enum): add button types for the 6 possible button
      	positions. No way to reposition buttons still but this will allow
      	themes to go ahead and support doing so.
      58359617
  24. 06 Jun, 2002 1 commit
    • Havoc Pennington's avatar
      parse "shade/foo/factor" as a color (colorize_pixbuf): remove the unused · 875e6dc0
      Havoc Pennington authored
      2002-06-05  Havoc Pennington  <hp@pobox.com>
      
      	* src/theme.c (meta_color_spec_new_from_string): parse
      	"shade/foo/factor" as a color
      	(colorize_pixbuf): remove the unused hsv_to_rgb and vice-versa
      	stuff, add the gtk_style_shade stuff.
      	(meta_color_spec_render): render the shaded color spec
      
      	* src/theme.h (struct _MetaColorSpec): add "shade" mode to
      	MetaColorSpec.
      875e6dc0
  25. 04 Jun, 2002 1 commit
    • Havoc Pennington's avatar
      test button aspect ratio instead of hardcoded button size, James feel free · 85815f81
      Havoc Pennington authored
      2002-06-03  Havoc Pennington  <hp@pobox.com>
      
      	* src/themes/Esco/metacity-theme-1.xml: test button aspect ratio
      	instead of hardcoded button size, James feel free to revert if you
      	don't like it this way.
      
      	* src/theme-parser.c: parse the aspect_ratio element for button
      	aspect ratios.
      
      	* src/theme.h (struct _MetaFrameLayout): allow button sizes to be
      	given as an aspect ratio derived from the titlebar height,
      	instead of as a fixed size.
      
      	* src/theme.c (meta_frame_layout_validate): validate new button
      	sizing parameters
      
      	* src/theme.c (meta_frame_layout_calc_geometry): use new button
      	layout params
      85815f81
  26. 31 May, 2002 3 commits
    • Havoc Pennington's avatar
      add MetaImageFillType and implement TILE in addition to the existing SCALE · c6b34083
      Havoc Pennington authored
      2002-05-31  Havoc Pennington  <hp@redhat.com>
      
      	* src/theme.c: add MetaImageFillType and implement TILE in
      	addition to the existing SCALE
      
      	* src/theme.h (struct _MetaDrawOp): remove no-longer-used "alpha"
      	field
      c6b34083
    • Havoc Pennington's avatar
      now just uses meta_gradient_add_alpha (draw_op_as_pixbuf): implement alpha · d4b91dc6
      Havoc Pennington authored
      2002-05-31  Havoc Pennington  <hp@redhat.com>
      
      	* src/theme.c (multiply_alpha): now just uses
      	meta_gradient_add_alpha
      	(draw_op_as_pixbuf): implement alpha gradients for tint, gradient,
      	and image draw ops, so I can implement garrett's stuff.
      
      	* src/gradient.c (meta_gradient_add_alpha): new function to
      	multiply the alpha channel of a pixbuf by an alpha gradient
      d4b91dc6
    • Havoc Pennington's avatar
      verbose-log on startup whether we were compiled with various extensions · 3a745537
      Havoc Pennington authored
      2002-05-30  Havoc Pennington  <hp@redhat.com>
      
      	* src/main.c (main): verbose-log on startup whether we were
      	compiled with various extensions
      
      	* src/display.c (meta_display_queue_retheme_all_windows): reapply
      	shape mask when changing themes, sucks to do it here though, makes
      	theme changing slower. Needs fixing.
      
      	* src/theme-parser.c (parse_toplevel_element): parse rounded
      	corner options to frame_geometry
      
      	* src/frames.c (meta_frames_apply_shapes): apply rounded corners
      	if requested by the theme
      
      	* configure.in (HAVE_SHAPE): check for shape extension
      3a745537
  27. 24 May, 2002 1 commit
  28. 15 Feb, 2002 1 commit
    • Havoc Pennington's avatar
      use the preview widget here · a7378b70
      Havoc Pennington authored
      2002-02-14  Havoc Pennington  <hp@pobox.com>
      
      	* src/theme-viewer.c: use the preview widget here
      
      	* src/preview-widget.h, src/preview-widget.c: make the theme
      	preview into a nice widget
      
      	* src/frames.c (meta_frames_ensure_layout): replace frame layout
      	if the frame style changes, this only ends up mattering if you
      	e.g. changed the font size for windows in a different state such
      	as maximized, which is crack, but the code may as well be correct
      
      	* src/theme.c (meta_theme_get_frame_style): new function so we can
      	detect an invalid cache of the PangoLayout in a frame
      a7378b70
  29. 10 Feb, 2002 1 commit
  30. 09 Feb, 2002 2 commits
    • Havoc Pennington's avatar
      try to make more error message strings the same, easier for translators · 339bdf8d
      Havoc Pennington authored
      2002-02-09  Havoc Pennington  <hp@pobox.com>
      
      	* src/theme-parser.c: try to make more error message strings the
      	same, easier for translators
      
      	* src/theme.c (meta_draw_op_free): free color spec for line op
      	(meta_theme_free): free the integer_constants hash
      
      	* src/theme-parser.c (parse_boolean): move above first use
      
      	* src/theme-viewer.c: fixes for theme.h changes
      
      	* src/frames.c (queue_recalc_func): don't recreate layout
      	immediately, just save title text. should speed things up.
      	(meta_frames_set_title): just remove the layout here also,
      	and save title text.
      
      	* src/theme-parser.c (parse_toplevel_element): parse title_scale
      	attribute on frame_geometry
      
      	* src/theme.c: support setting the text size
      
      	* src/frames.c: support setting the text size
      
      	* theme-format.txt: updates
      339bdf8d
    • Havoc Pennington's avatar
      put in some kind of distinctive frame for UTILITY, though it's ugly. Also · 116fc554
      Havoc Pennington authored
      2002-02-09  Havoc Pennington  <hp@pobox.com>
      
      	* src/themes/Atlanta/metacity-theme-1.xml: put in some kind of
      	distinctive frame for UTILITY, though it's ugly. Also put in the
      	borderless look for maximized windows.
      
      	* src/stack.c (compute_layer): put splash screen in the splash
      	layer
      
      	* src/stack.h (enum): create a splash screen layer
      
      	* src/place.c (meta_window_place): center splashscreen, and fix a
      	typo in the centering code
      
      	* src/window.c (recalc_window_features): disable most features on
      	splash screens
      
      	* src/screen.c (set_supported_hint): add UTILITY and SPLASHSCREEN
      	hints
      
      	* src/window.c: add UTILITY, SPLASHSCREEN implementation
      
      	* src/window.h (enum): add UTILITY, SPLASHSCREEN types
      
      	* src/theme-parser.c (parse_toplevel_element): parser support
      	for has_title attribute
      
      	* src/theme.c (meta_frame_layout_get_borders): handle a has_title
      	field in the layout, for utility windows that don't display a
      	title (would be better to be able to shrink the title text,
      	but that's kind of tricky to implement :-/)
      116fc554
  31. 07 Feb, 2002 3 commits
    • Havoc Pennington's avatar
      benchmark theme on startup · 8f1cfefb
      Havoc Pennington authored
      2002-02-06  Havoc Pennington  <hp@pobox.com>
      
      	* src/theme-viewer.c: benchmark theme on startup
      
      	* src/theme-parser.c (parse_draw_op_element): fix "colorize !=
      	NULL" to "colorize_spec != NULL" and free pixbuf on color spec
      	failure
      
      	* src/theme.c (colorize_pixbuf): minor reformatting, raise
      	function calls out of inner loop, clamp r/g/b values to uchar
      	range before assigning to uchar
      	(draw_op_as_pixbuf): cache the colorized pixbuf
      	(meta_draw_op_free): free the cache pixbuf
      8f1cfefb
    • Anders Carlsson's avatar
      Add support for "colorize" image attribute. · f33a4607
      Anders Carlsson authored
      2002-02-07  Anders Carlsson  <andersca@gnu.org>
      
      	* src/theme-parser.c: (parse_draw_op_element):
      	Add support for "colorize" image attribute.
      
      	* src/theme.c: (colorize_pixbuf):
      	New function that colorizes a pixbuf.
      
      	(pos_tokenize): Allow "\n" as a whitespace character.
      
      	(meta_draw_op_free): Free colorize_spec;
      
      	(draw_op_as_pixbuf): Colorize image if needed.
      
      	* src/theme.h: Add colorize_spec to struct.
      f33a4607
    • Havoc Pennington's avatar
      disable custom log handler and fatal mask for now · 8ae714ee
      Havoc Pennington authored
      2002-02-06  Havoc Pennington  <hp@pobox.com>
      
      	* src/main.c (main): disable custom log handler and fatal mask for
      	now
      
      	* src/theme.c (meta_draw_op_list_draw):
      	Add META_DRAW_CLIP
      
      	* src/main.c: load theme, monitor current theme setting
      
      	* src/prefs.c: add "current theme" setting
      
      	* src/stack.c (meta_stack_free): don't try to free
      	last_root_children_stacked if it doesn't exist
      
      	* src/themewidget.c: pluggable GtkMisc subclass to use
      	for menu icons
      
      	* src/screen.c (meta_screen_manage_all_windows): fix
      	signed/unsigned warning
      
      	* src/frames.c: port to theme system
      	(meta_frames_style_set): chain up
      
      	* theme-format.txt: new file
      
      	* configure.in: add more compiler warnings
      
      	* src/theme.c: add various stuff needed to get theme parser
      	working. Remove the "spacer" concept from FrameLayout object.
      	Add draw op that references a draw op list.
      
      	* configure.in: require GTK 1.3.13
      
      	* src/Makefile.am: add theme-parser.[hc], implement loading a
      	theme
      
      	* src/theme.c: add "draw title" and "draw window icon" operations
      	(meta_draw_op_draw): put object_width/object_height in expression
      	environment before computing x/y. Handle out-of-memory when
      	creating pixbufs. Assorted other cleanups.
      8ae714ee
  32. 02 Feb, 2002 1 commit
    • Havoc Pennington's avatar
      test % operator · 089eb7e6
      Havoc Pennington authored
      2002-02-02  Havoc Pennington  <hp@pobox.com>
      
      	* src/theme-viewer.c: test % operator
      
      	* src/theme.c (pos_tokenize): add % to switch for operators
      
      	* src/theme.c: rework theme stuff so we have
      	MetaDrawOp/MetaDrawOpList instead of MetaTextureSpec/MetaShapeSpec
      089eb7e6