Commit Graph

1417 Commits

Author SHA1 Message Date
Tomas Frydrych
676a516ff2 Add shaddows to override-redirect windows, e.g. Gtk menus (Gtk should really
be fixed not to use override redirect for menus as the maemo fork does).
2008-08-18 16:16:38 +01:00
Tomas Frydrych
4134949d72 get_window_type:
Streamlined to use the MetaWindow type where that is available; for unmanaged
windows, query window props as before.
2008-08-18 15:44:26 +01:00
Tomas Frydrych
e6e6aecb93 Exposed MetaWindowType so it can be used by compositor backends.
meta_window_get_type:
meta_window_get_type_atom:
Accessors for window type/type atom.
2008-08-18 15:42:38 +01:00
Tomas Frydrych
f7f696c310 Moved atomnames.h to includes so can be included from display.h.
meta_display_get_atom: allow common atom retrieval via enum (to avoid interning
identical atoms at different places).
2008-08-18 15:10:13 +01:00
Tomas Frydrych
5ebaa15333 Updated to clutter-0.8. 2008-08-18 12:02:14 +01:00
Tomas Frydrych
e1965914a3 Synced with Metacity 2.23.89 (r3800)
Merge commit '51de9ef8605f7a195ef360afb3a504488125611f' into clutter
2008-08-18 11:11:32 +01:00
Thomas Thurman
34fe81fabd meta_display_screen_for_root() can return NULL, so check for that. Fixes
2008-07-13  Thomas Thurman  <tthurman@gnome.org>

        * src/core/display.c (event_callback): meta_display_screen_for_root()
        can return NULL, so check for that.  Fixes #422242.  Also tidying.

svn path=/trunk/; revision=3788
2008-07-14 00:41:25 +00:00
Elijah Newren
dacf784498 Don't attempt to double-free struts, edges and regions if work areas have
2008-07-13  Elijah Newren  <newren gmail com>

        * src/core/workspace.c (meta_workspace_free): Don't attempt to
        double-free struts, edges and regions if work areas have already
        been invalidated at the time of freeing a workspace.
        Possible fix to #361804.

svn path=/trunk/; revision=3787
2008-07-13 22:16:23 +00:00
Thomas Thurman
24e63a0d2d Don't allocate memory for log messages unless we're logging.
2008-07-12  Thomas Thurman  <tthurman@gnome.org>

        * src/core/constraints.c (do_screen_and_xinerama_relative_constraints):
        Don't allocate memory for log messages unless we're logging.

svn path=/trunk/; revision=3786
2008-07-13 05:27:13 +00:00
Thomas Thurman
6bf62be4d0 This function can now officially return NULL. Two windows can't belong to
2008-07-12  Thomas Thurman  <tthurman@gnome.org>

        * src/core/group.c (meta_window_get_group): This function can now
        officially return NULL.
        * src/core/window.c (meta_window_same_application): Two windows can't
        belong to the same application unless they both belong to some
        application.  (Both belonging to no application is not the same.)
        
        Closes #453022.

svn path=/trunk/; revision=3785
2008-07-13 03:26:39 +00:00
Thomas James Alexander Thurman
0ef47a44c1 2008-06-30 Thomas Thurman <tthurman@gnome.org
* src/core/bell.c (meta_bell_set_audible): Fix typo that
          slipped through.


svn path=/trunk/; revision=3778
2008-06-30 16:42:19 +00:00
Thomas Thurman
91b5f24da8 Move comments for non-statics from the .c to .h. adapt better for C, and
2008-06-30  Thomas Thurman  <tthurman@gnome.org>

        * src/core/bell.[ch]: Move comments for non-statics from the .c to .h.
        * Doxyfile: adapt better for C, and make quiet.


svn path=/trunk/; revision=3777
2008-06-30 13:42:37 +00:00
Thomas Thurman
bd0a531253 display the theme name in the title bar. Closes #430198.
2008-06-30  Thomas Thurman  <tthurman@gnome.org>

        * src/ui/theme-viewer.c (main): display the theme name
          in the title bar.  Closes #430198.


svn path=/trunk/; revision=3776
2008-06-30 00:23:41 +00:00
Thomas Thurman
7988361eab Allow toggling of non-compositor effects (since there's a non-Metacity key
2008-06-29  Thomas Thurman  <tthurman@gnome.org>

        Allow toggling of non-compositor effects (since there's a
        non-Metacity key to do so: /desktop/gnome/interface/enable_animations).
        Closes #92867.

        * src/include/prefs.h: add META_PREFS_GNOME_ANIMATIONS key and
          meta_prefs_get_gnome_animations() function
        * src/include/prefs.c: added meta_prefs_get_gnome_animations()
          function, and made supporting changes to structs.
        * src/core/effects.c (run_handler): checked whether enable_animations
          is set before running an effect.
        * src/core/effects.c (meta_effect_run_minimize): remove debug message.


svn path=/trunk/; revision=3775
2008-06-29 21:57:39 +00:00
Thomas Thurman
a1a030e418 remove meta_ prefix on all static functions.
2008-06-29  Thomas Thurman  <tthurman@gnome.org>

        * src/core/bell.c: remove meta_ prefix on all static functions.


svn path=/trunk/; revision=3774
2008-06-29 18:46:01 +00:00
Thomas Thurman
c05e6d079c lose meta prefix since it's static. replace our own cast with glib macro
2008-06-29  Thomas Thurman  <tthurman@gnome.org>

        * src/core/stack.c (stack_sync_to_server): lose meta prefix
          since it's static. 
        * src/core/stack.c (meta_stack_remove, stack_do_window_deletions):
          replace our own cast with glib macro designed to do the same thing


svn path=/trunk/; revision=3773
2008-06-29 18:44:21 +00:00
Thomas Thurman
b3549979c6 add checks for HAVE_SHAPE where appropriate. fix type error which was
2008-06-28  Thomas Thurman  <tthurman@gnome.org>

        * src/core/display.c, src/compositor/compositor-xrender.c: add checks
          for HAVE_SHAPE where appropriate.
        * src/core/xprops.c: fix type error which was causing warnings.


svn path=/trunk/; revision=3772
2008-06-29 03:23:08 +00:00
Thomas Thurman
6039694eff Some refactoring, simplifying, and commenting of the non-composited
2008-06-28  Thomas Thurman  <tthurman@gnome.org>

        Some refactoring, simplifying, and commenting of the non-composited
        effects code.  effects.c could still do with some polish, which will
        come along later.

        * src/core/effects.h (meta_push_effect_handler): removed since it's
          never used and does nothing very useful.
        * src/core/effects.h (meta_pop_effect_handler): removed since its
          only effect is to crash the program.
        * src/core/effects.h (META_MINIMIZE_ANIMATION_LENGTH,
          META_SHADE_ANIMATION_LENGTH): move to effects.c because they're used
          nowhere else.
        * src/core/effects.c: there were three versions of the box-zoom effect.
          Remove the one which was never used, and make only the ones which
          are used with certain configure settings be compiled.
        * src/core/effects.h (meta_effect_end): move to effects.c, make static,
          and rename to effect_free.
        * src/core/effects.h (meta_effects_draw_box_animation): move to
          effects.c, make static, and rename to draw_box_animation.
        * src/core/effects.h (MetaEffectType): remove the values which weren't
          used.
        * src/core/window.c (meta_window_shade): remove commented-out code to
          call effect for shading.
        * src/core/effects.h (MetaEffectFinish): remove useless MetaEffect
          parameter.
        * src/core/window.c (finish_minimize): remove MetaEffect parameter.


svn path=/trunk/; revision=3771
2008-06-29 03:20:52 +00:00
Thomas Thurman
12ffd29542 Commented everything.
2008-06-27  Thomas Thurman  <tthurman@gnome.org>

        * src/core/stack.h: Commented everything.


svn path=/trunk/; revision=3770
2008-06-28 02:51:18 +00:00
Thomas Thurman
1aee3eff35 Keep the compiler from giving some warnings.
2008-06-26  Thomas Thurman  <tthurman@gnome.org>

        Keep the compiler from giving some warnings.
        
        * src/compositor/compositor-xrender.c (xrender_begin_move,
          xrender_update_move, xrender_end_move, xrender_free_window): four
          functions which were never called and contain no code #iffed out.
        * src/tools/metacity-mag.c (grab_area_at_mouse): fixed typecast error.


svn path=/trunk/; revision=3769
2008-06-27 03:52:31 +00:00
Thomas Thurman
9d31fa61ed Refactor so the long scary stack functions are less long and scary:
2008-06-26  Thomas Thurman  <tthurman@gnome.org>

        Refactor so the long scary stack functions are less long and scary:

        * stack.c (stack_ensure_sorted): the five parts of this long function
          broken out into the new functions stack_do_window_deletions,
          stack_do_window_additions, stack_do_relayer, stack_do_constrain
          (which was already separate: see next) and stack_do_resort.
        * stack.c (constrain_stacking): renamed to stack_do_constrain.
        * stack.c (stack_ignore_sorted): lose meta prefix since it's static.


svn path=/trunk/; revision=3768
2008-06-27 03:39:15 +00:00
Thomas Thurman
7ab715fa71 Some commenting.
2008-06-13  Thomas Thurman  <tthurman@gnome.org>

        * src/core/window-props.c: Some commenting.

        * src/core/prefs.c: Added unified handling of integer preferences.
          Re-ordered fields in existing preferences so that changing to
          a union-based system will be easier in the future.


svn path=/trunk/; revision=3758
2008-06-13 23:10:32 +00:00
Thomas Thurman
941e4bf967 A preliminary attempt at a test for the theme expression tokeniser.
2008-06-10  Thomas Thurman  <tthurman@gnome.org>

        * test/tokentest:  A preliminary attempt at a test for the
          theme expression tokeniser.


svn path=/trunk/; revision=3753
2008-06-10 13:46:41 +00:00
Matthew Allum
fa2f76d4d4 Now with slightly broken window close animations and lot of debug info. 2008-06-09 17:50:56 +01:00
Matthew Allum
2c6c5a6dd1 Add basic shadow support (stolen from m-w-m-2, thanks to tf) 2008-06-06 14:17:38 +01:00
Thomas Thurman
5dbe941495 defensive programming; check meta_screen_get_compositor_data() throughout
2008-06-05  Thomas Thurman  <tthurman@gnome.org>

        * src/compositor/compositor-xrender.c (paint_root, destroy_win,
        create_root_buffer, paint_windows, repair_screen, window_has_shadow,
        xrender_set_active_window, paint_dock_shadows, unmap_win, restack_win,
        make_shadow, resize_win, process_property_notify, free_win,
        process_configure_notify, process_circulate_notify, add_damage):
        defensive programming; check meta_screen_get_compositor_data()
        throughout in case it returns NULL.  In particular, when this
        happened in a certain situation in xrender_set_active_window
        this caused a segfault; refs #530702 (and LP#178953 has more data)
        but this doesn't close them.


svn path=/trunk/; revision=3751
2008-06-05 01:54:25 +00:00
Matthew Allum
c29232fd0d Misc cleanups, removal of stray printf's etc. Add basic win opacity handling 2008-06-04 20:51:08 +01:00
Matthew Allum
8fd2f1d22a synced up very rough local changes for clutter compositing support 2008-06-04 13:58:36 +01:00
Thomas Thurman
a8c5c002fb make sure compositor things don't get compiled when we're not using the
2008-06-02  Thomas Thurman  <tthurman@gnome.org>

        * src/core/display.c: make sure compositor things don't get
        compiled when we're not using the compositor.


svn path=/trunk/; revision=3748
2008-06-02 22:27:54 +00:00
Thomas Thurman
c500de4e38 fix comments (number)
2008-05-30  Thomas Thurman  <tthurman@gnome.org>

        * src/core/window-props.h: fix comments (number)


svn path=/trunk/; revision=3744
2008-05-30 22:30:20 +00:00
Thomas Thurman
b55dbe10bb commenting
2008-05-30  Thomas Thurman  <tthurman@gnome.org>

        * src/core/window-props.h: commenting


svn path=/trunk/; revision=3743
2008-05-30 22:27:43 +00:00
Thomas Thurman
01c0a95136 Make disabling gconf work again. Closes #530870.
2008-05-28  Thomas Thurman  <tthurman@gnome.org>

        * src/core/prefs.c (handle_preference_update_string,
        meta_prefs_remove_listener, queue_changed): Make disabling
        gconf work again.  Closes #530870.


svn path=/trunk/; revision=3741
2008-05-28 04:10:08 +00:00
Thomas Thurman
c5c68fcbe8 added in two files needed for Iain's changes earlier to work in a release
2008-05-26  Thomas Thurman  <tthurman@gnome.org>

        * src/Makefile.am: added in two files needed for Iain's
          changes earlier to work in a release tarball


svn path=/trunk/; revision=3728
2008-05-26 21:45:43 +00:00
Iain Holmes
76735c18a1 Add Dropdown menu atoms so we can add shadows to them. Fixes #517442
2008-05-24  Iain Holmes  <iain@gnome.org>

        * src/compositor/compositor-xrender.c: Add Dropdown menu atoms 
so we
        can add shadows to them. Fixes #517442
        Handle tooltips as well. Fixes #517524


svn path=/trunk/; revision=3725
2008-05-24 20:40:12 +00:00
Iain Holmes
1f435cc1fc Check the compositor isn't NULL before dereferencing it. Fixes #534569
2008-05-24  Iain Holmes  <iain@gnome.org>

        * src/compositor/compositor.c: Check the compositor isn't NULL 
before 
        dereferencing it. Fixes #534569
        (meta_compositor_get_window_pixmap): Actually return a value


svn path=/trunk/; revision=3723
2008-05-24 11:00:17 +00:00
Iain Holmes
3405f3d8c8 Applied patch from Ed Catmur to fix #528787
2008-05-19  Iain Holmes  <iain@gnome.org>

        * src/core/window.c: Applied patch from Ed Catmur to fix #528787



svn path=/trunk/; revision=3716
2008-05-19 00:14:09 +00:00
Iain Holmes
f141692ca2 src/include/frame.h src/include/display.h src/include/xprops.h
2008-05-19  Iain Holmes  <iain@gnome.org>

        * src/include/frame.h
        * src/include/display.h
        * src/include/xprops.h
        * src/include/compositor.h
        * src/include/types.h
        * src/include/window.h
        * src/include/errors.h
        * src/include/screen.h: New basic public API for compositor.

        * src/compositor/*: Separate the compositor out into its own 
separate
        directory and set it up for backends. Initial XRender backend.

        * src/core/compositor.[ch]: Remove

        * src/core/frame.h
        * src/core/screen.h
        * src/core/display.h
        * src/core/window.h: Rename to -private.h so as not to clash 
with the
        new files in include

        * src/core/delete.c
        * src/core/workspace.h
        * src/core/stack.[ch]
        * src/core/keybindings.[ch]
        * src/core/errors.c
        * src/core/effects.[ch]
        * src/core/core.c
        * src/core/group.h
        * src/core/edge-resistance.[ch]
        * src/core/window-props.[ch]
        * src/core/constraints.h
        * src/core/bell.[ch]
        * src/core/iconcache.h
        * src/core/session.[ch]
        * src/core/main.c
        * src/core/place.h
        * src/core/xprops.c
        * src/ui/tabpopup.c: Use the new -private headers

        * src/core/display.c
        * src/core/frame.c
        * src/core/window.c
        * src/core/screen.c: Add the API functions required by the 
compositor

        * src/Makefile.am: Relocate the new files



svn path=/trunk/; revision=3715
2008-05-19 00:00:09 +00:00
Robert Escriva
53b9e49ca4 remove color_set flag remove check of color_set flag before rendering (we
2008-05-13  Robert Escriva  <me@robescriva.com>

        * src/ui/theme.h (struct): remove color_set flag
        * src/ui/theme.c (meta_color_spec_render,
          meta_color_spec_new_from_string): remove check of color_set flag
          before rendering (we always do it now).  Closes #511826.


svn path=/trunk/; revision=3708
2008-05-13 12:53:36 +00:00
Elijah Newren
b095ecc195 Remove src/ui/color.[ch] since they are not used anywhere
svn path=/trunk/; revision=3706
2008-05-11 22:42:02 +00:00
Thomas Thurman
f8ff76efdd Added curly brackets in two places to keep -pedantic happy.
2008-05-04  Thomas Thurman  <tthurman@gnome.org>

        Added curly brackets in two places to keep -pedantic happy.

        * src/core/window-props.c (meta_display_init_window_prop_hooks)
        * src/core/group-props.c (meta_display_init_group_prop_hooks)


svn path=/trunk/; revision=3704
2008-05-04 17:57:11 +00:00
Matt Krai
3673472cd7 fix type of "len" variable (refs #526049)
2008-05-03  Matt Krai  <mkraai@beckman.com>

        * src/core/delete.c (io_from_ping_dialog): fix type of "len" variable
          (refs #526049)

svn path=/trunk/; revision=3703
2008-05-03 17:12:15 +00:00
Thomas Thurman
b455ac62d2 All information should live in exactly one place. This means that the list
2008-05-02  Thomas Thurman  <tthurman@gnome.org>

        All information should live in exactly one place.  This means
        that the list of atoms should not be replicated anywhere.
        Therefore, we include it via x-macros.  Closes #530843.

        * src/core/atomnames.h: added list of atom names
        * src/Makefile.am: added reference to new file
        * src/core/display.h
        * src/core/display.c (twice)
        * src/core/screen.c: #included atomnames.h instead of having
          an enormous list of atoms
        * src/core/group-props.c
        * src/core/window.c
        * src/core/compositor.c
        * src/core/window-props.c
        * src/core/delete.c
        * src/core/workspace.c
        * src/core/stack.c
        * src/core/keybindings.c
        * src/core/iconcache.c
        * src/core/group.c
        * src/core/xprops.c: changed to new, simpler identifiers
          for atoms


svn path=/trunk/; revision=3702
2008-05-02 18:49:01 +00:00
Chris Wang
2d895ce875 XGetWindowAttributes can return an error value, and if it does its other
2008-04-29  Chris Wang  <chris.wang@sun.com>

        * src/core/window.c (meta_window_new): XGetWindowAttributes
          can return an error value, and if it does its other results
          are invalid! (#530485)


svn path=/trunk/; revision=3698
2008-04-29 13:33:39 +00:00
Thomas Thurman
eacd442787 documentation
2008-04-29  Thomas Thurman  <tthurman@gnome.org>

        * src/ui/fixedtip.[ch]: documentation


svn path=/trunk/; revision=3697
2008-04-29 02:54:56 +00:00
Erwann Chenede
f13a8e6ab9 re-enable cascade code which was wrongly removed a year ago. Closes
2008-04-27  Erwann Chenede  <erwann.chenede@sun.com>

        * src/core/place.c (meta_window_place): re-enable cascade
          code which was wrongly removed a year ago.  Closes #529925.


svn path=/trunk/; revision=3693
2008-04-27 20:09:47 +00:00
Carlos Garnacho
fa1195b7f1 Propagate opacity to frame window.
2008-04-22  Carlos Garnacho  <carlos@imendio.com>

        * src/core/compositor.c (process_property_notify,
        find_window_in_display): Propagate opacity to frame window.


svn path=/trunk/; revision=3692
2008-04-22 13:34:48 +00:00
Thomas Thurman
a8912c4fb9 a few comments
2008-04-22  Thomas Thurman  <tthurman@gnome.org>

        * src/core/effects.c: a few comments


svn path=/trunk/; revision=3685
2008-04-22 12:15:05 +00:00
Lucas Rocha
b9c6ba8536 no need to create a symlink to .desktop file in default-session directory
2008-04-10  Lucas Rocha  <lucasr@gnome.org>

	* src/Makefile.am: no need to create a symlink to .desktop file in
	default-session directory anymore as gnome-session will find
	metacity's .desktop in its original place.

svn path=/trunk/; revision=3681
2008-04-10 19:35:51 +00:00
iain
c17d58237e Hide the overlay window (meta_compositor_unmanage_screen): Release the
2008-04-07  iain  <iain@gnome.org>

        * src/core/compositor.c (hide_overlay_window): Hide the overlay 
window
        (meta_compositor_unmanage_screen): Release the compositor 
overlay.
        (#526770)


svn path=/trunk/; revision=3678
2008-04-07 22:32:35 +00:00
Jens Granseuer
48261330de reorder declarations so we don't break C89 compilers.
2008-04-07  Jens Granseuer  <jensgr@gmx.net>

	* src/core/session.c: (save_state),
	(warn_about_lame_clients_and_finish_interact):
	reorder declarations so we don't break C89 compilers.

svn path=/trunk/; revision=3677
2008-04-07 20:50:37 +00:00