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.
2003-07-27 Havoc Pennington <hp@pobox.com>
* src/theme-viewer.c (run_theme_benchmark): also measure wall
clock time, and run over a number of window sizes.
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
2002-08-10 Havoc Pennington <hp@pobox.com>
* src/menu.c: reorder the menu items so that Close is at the
bottom
* src/theme-viewer.c (main): set debugging mode if METACITY_DEBUG
enabled
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.
2002-06-21 Havoc Pennington <hp@pobox.com>
Theme breakage! Themes have to implement "border" frames
now, see Atlanta for an example. Fixes#84285
* src/tools/metacity-window-demo.c (do_appwindow): add a
border-only window
* src/window.c (update_mwm_hints): read border only from the MWM
hints
* src/window.h (struct _MetaWindow): add border_only flag
* src/core.c (meta_core_get_frame_type): report border type if
required
* src/common.h (enum): add META_FRAME_TYPE_BORDER
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
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
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
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.
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
2002-01-27 Havoc Pennington <hp@pobox.com>
* src/display.c (meta_set_syncing): move in here so util.c doesn't
require display.[hc]
* src/theme.h, src/theme.c: implement coordinate expression
parser, write MetaShapeSpec declaration
* src/util.c (meta_exit): move in here so we can link
to util.c with a different main()
* src/theme.h: rename the MetaWindow* enums to MetaFrame*