aboutsummaryrefslogtreecommitdiffstats
path: root/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
AgeCommit message (Collapse)Author
2020-10-08Add SPDX-License-Identifier: GPL-2.0-or-laterMatthew
Fixes [YOCTO #13319] Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-04fix for issue:2583, disappearing windowsJoe Steeve
Added support to handle configure real by drawing only when needed in comp-manager. Signed-off-by: Ross Burton <ross.burton@intel.com>
2008-07-022008-07-02 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* configure.ac: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Use ClutterGLXTexturePixmap when building agains clutter GLX backend.
2008-06-112008-06-11 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* /matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (tidy_texture_frame_paint): Updated to match upstream API change.
2008-06-052008-06-05 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* /matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_restack_real): Do a parent check when restacking to avoid triggering clutter warning. (mb_wm_comp_mgr_clutter_add_actor): Handle clients with desktop unset gracefully.
2008-05-272008-05-27 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h: Added MBWMCompMgrClutter::client_new() virtual to simplify subclassing.
2008-05-232008-05-23 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h: Added getter for client flags.
2008-05-222008-05-22 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h: Added public API for setting client flags to allow subclasses of MBWMCompMgrClutter to efficiently implement effects.
2008-05-202008-05-20 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_client_destroy): (mb_wm_comp_mgr_clutter_private_free): Use clutter_actor_destroy() rather than g_object_unref() to destroy actors we own.
2008-05-162008-05-16 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h: (mb_wm_comp_mgr_clutter_get_arena): Added an intermediate ClutterGroup to sit between stage and the CM actors to provide a greater flexibility for any derived compositing managers.
2008-05-162008-05-16 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/managers/simple/matchbox-window-manager-2-simple.c: Further changes to sync up with clutter.
2008-05-162008-05-16 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c * matchbox/core/mb-window-manager.c: Sync up with changes to clutter API.
2008-04-102008-04-10 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Fixed gaussian shadows with TidyTextureFrame.
2008-03-252008-03-25 Robert Bragg <bob@o-hand.com>Robert Bragg
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c Replace incorrect use of mb_wm_object_ref with g_object_ref (in mb_wm_comp_mgr_clutter_client_get_actor)
2008-03-202008-03-20 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Refactored effect creation (allocate effects on demand and destroy when finished).
2008-03-202008-03-20 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_client_event_real): Reorganized to avoid leaking the CM client; removed unnecessary call to clutter_behaviour_get_actors().
2008-03-182008-03-18 Robert Bragg <bob@o-hand.com>Robert Bragg
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h Some minor additions to give more control to comp-mgr-clutter sub-classes. Adds: - mb_wm_comp_mgr_clutter_client_get_actor - mb_wm_comp_mgr_clutter_get_desktops and and exports mb_wm_comp_mgr_clutter_get_nth_desktop
2008-03-182008-03-18 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr.c: * matchbox/comp-mgr/mb-wm-comp-mgr.h: * matchbox/core/mb-window-manager.c: Added old_desktop parameter to MBWMCompMgr::select_desktop() to simplify implementation of desktop switching effects.
2008-03-172008-03-17 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-xrender.c: * matchbox/comp-mgr/mb-wm-comp-mgr.c: * matchbox/comp-mgr/mb-wm-comp-mgr.h: Added MBWindowManager reference to MBWMCompMgr needed during MBWMCompMgr destruction; broke reference cycle between MBWindowManager and MBWMCompMgr client. * matchbox/core/mb-window-manager.c: (mb_wm_handle_destroy_notify): Fixed memory leak.
2008-03-172008-03-17 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_client_repair_real): (mb_wm_comp_mgr_clutter_client_init): Shrink to 80 columns. (mb_wm_comp_mgr_clutter_client_event_new): Test that we have an actor to run an effect on. (mb_wm_comp_mgr_clutter_client_event_real): Test we have an effect to start. (mb_wm_comp_mgr_clutter_restack_real): Handle multiple desktops correctly.
2008-03-142008-03-14 Robert Bragg <bob@o-hand.com>Robert Bragg
* matchbox-window-manager-2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c * matchbox-window-manager-2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h * matchbox-window-manager-2/matchbox/comp-mgr/mb-wm-comp-mgr.c * matchbox-window-manager-2/matchbox/comp-mgr/mb-wm-comp-mgr.h * matchbox-window-manager-2/matchbox/core/mb-wm-client.c * matchbox-window-manager-2/matchbox/core/mb-wm-types.h The ->effect and ->transition comp-mgr virtuals have been renamed to client_event and client_transition. (Other supporting types/functions have also been renamed in a corresponding way.) MBWMCompMgrClutterClient gets a ->priv member and is made sub-classable. The variable name "cclient" is now used more consistently for MBWMCompMgrClutterClients.
2008-03-132008-03-13 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: * matchbox/core/mb-window-manager.h: Initialize XComposite, XDamage and XFixes in the WM init method when building a compositor (avoids duplication of code in the CMs). * matchbox/core/mb-wm-main-context.c: * matchbox/core/mb-wm-main-context.h: Handle DamageNotify the same way as other standard events to avoid unnecessary calls to the CM event callbacks. * matchbox/comp-mgr/mb-wm-comp-mgr.c: * matchbox/comp-mgr/mb-wm-comp-mgr.h: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-xrender.c: Replaced MBWMCompMgr::handle_event with more specific ::handle_damage().
2008-03-112008-03-11 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* configure.ac: * matchbox/mb-wm-config.h.in: Added missing MBWM_WANT_DEBUG to mb-wm-config.h. * matchbox/core/mb-wm.h: Ensure mb-wm-config.h is included before all other mbwm includes. * matchbox/client-types/mb-wm-client-app.c: * matchbox/client-types/mb-wm-client-desktop.c: * matchbox/client-types/mb-wm-client-dialog.c: * matchbox/client-types/mb-wm-client-input.c: * matchbox/client-types/mb-wm-client-menu.c: * matchbox/client-types/mb-wm-client-note.c: * matchbox/client-types/mb-wm-client-override.c: * matchbox/client-types/mb-wm-client-panel.c: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-xrender.c: * matchbox/comp-mgr/mb-wm-comp-mgr.c: * matchbox/core/mb-window-manager.c: * matchbox/core/mb-wm-client-base.c: * matchbox/core/mb-wm-debug.c: * matchbox/core/mb-wm-debug.h: * matchbox/core/mb-wm-decor.c: * matchbox/core/mb-wm-layout.c: * matchbox/core/mb-wm-macros.h: * matchbox/core/mb-wm-main-context.c: * matchbox/core/mb-wm-object.c: * matchbox/core/mb-wm-object.h: * matchbox/core/mb-wm-root-window.c: * matchbox/core/xas.c: * matchbox/managers/maemo/Makefile.am: * matchbox/managers/maemo/maemo-input.c: * matchbox/managers/maemo/maemo-window-manager.c: * matchbox/managers/maemo/maemo-toolbar.c: * matchbox/managers/maemo/maemo-window-manager.h: * matchbox/managers/maemo/matchbox-window-manager-2-maemo.c: * matchbox/managers/simple/matchbox-window-manager-2-simple.c: * matchbox/theme-engines/mb-wm-theme-png.c: * matchbox/theme-engines/mb-wm-theme.c: Replaced #ifdef MBWM_WANT_DEBUG with #if MBWM_WANT_DEBUG. * matchbox/managers/maemo/maemo-window-manager.c: (maemo_window_manager_class_type): Fixed incorrect object initialization.
2008-03-072008-03-07 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
Further work on multiple desktop support: * matchbox/core/mb-wm-client.c: * matchbox/core/mb-wm-client.h: (mb_wm_client_desktop_change): Do not reset the hiding_from_desktop flag when showing a client * matchbox/core/mb-window-manager.c: (mb_wm_client_reset_hiding_from_desktop): Public API so that the WM can reset the flag when window maps. (mb_wm_handle_map_notify): Do not pass notification for our frame decors, etc, to the CM. (mb_wm_select_desktop): Set MBWindowManager::active_desktop when destkop changes; hook into CM API. * matchbox/comp-mgr/mb-wm-comp-mgr.c: * matchbox/comp-mgr/mb-wm-comp-mgr.h: (mb_wm_comp_mgr_client_init): (mb_wm_comp_mgr_client_destroy): Take/release reference to MBWindowClient object to avoid it disappearing on us during effect animations. (mb_wm_comp_mgr_render): Make class implementation of the render method optional to avoid unnecessary function calls. (mb_wm_comp_mgr_map_notify): (mb_wm_comp_mgr_unmap_notify): Do not trigger map application map animation when switching desktops. (mb_wm_comp_mgr_select_desktop): CM API for WM to hook into for desktop switching. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h: (mb_wm_comp_mgr_clutter_select_desktop): (mb_wm_comp_mgr_clutter_map_notify_real): CM desktop switching implementation.
2008-03-052008-03-05 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h: * matchbox/comp-mgr/mb-wm-comp-mgr.c: * matchbox/comp-mgr/mb-wm-comp-mgr.h: * matchbox/core/mb-wm-client.c: * matchbox/core/mb-wm-types.h: * matchbox/theme-engines/mb-wm-theme-xml.c: * matchbox/theme-engines/mb-wm-theme-xml.h: * matchbox/theme-engines/mb-wm-theme.c: * matchbox/theme-engines/mb-wm-theme.h: Simplified effect framework (effect are no longer themeable).
2008-03-022008-03-02 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_map_notify_real): Only create shadows for select group of client types. * matchbox/theme-engines/mb-wm-theme-simple.h: Fixed broken include.
2008-02-292008-02-29 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Initial stab at gaussian shadows.
2008-02-292008-02-28 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_fetch_texture): Handle shaped windows correctly. (mb_wm_comp_mgr_clutter_turn_on_real): Removed debug colour for stage.
2008-02-282008-02-28 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/theme-engines/mb-wm-theme-xml.c: * matchbox/theme-engines/mb-wm-theme.c: Fixed parsing of colour alpha. * data/themes/Default/theme.xml Added shaddow colour definition. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Implemented simple shaddows.
2008-02-282008-02-28 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr.c: * matchbox/comp-mgr/mb-wm-comp-mgr.h: * matchbox/core/mb-window-manager.c: (mb_wm_sync): Added MBWMCompMgr::restack() virtual for CMs that need to track WM stacking order. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Implemented MBWMCompMgrClutter::restack(). Fixed fade transition to handle transients correctly.
2008-02-282008-02-28 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-wm-types.h: * matchbox/theme-engines/mb-wm-theme.c: * matchbox/theme-engines/mb-wm-theme.h: * matchbox/theme-engines/mb-wm-theme-xml.c: * matchbox/theme-engines/mb-wm-theme-xml.h: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr.c: * data/themes/Default/theme.xml: Added transition support to theme.
2008-02-282008-02-28 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr.c: * matchbox/comp-mgr/mb-wm-comp-mgr.h: * matchbox/core/mb-window-manager.c (mb_wm_cycle_apps): Simple API for client transition effects. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_client_destroy): Remove actor from stage when destroying cm client. (mb_wm_comp_mgr_clutter_transition_real): Sample transition implementation.
2008-02-282008-02-28 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr.h: (MBWMCompMgrEffect::run): (mb_wm_comp_mgr_client_run_effect): Simplified effect API by removing completion callback from run() function (no longer required; custom CM implementations must implement effects in a way that does not block the WM processing). * matchbox/core/mb-wm-client.c: (mb_wm_client_iconize): Adjusted following the above API change. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_effect_run_real): Set an EffectRunning flag on client to indicate that effect is in progress. (mb_wm_comp_mgr_clutter_client_hide_real): Do not hide client actor if effect is in progress. (mb_wm_comp_mgr_clutter_effect_completed_cb): Call clutter_actor_hide() when unmap or minimize effects are completed. * matchbox/comp-mgr/mb-wm-comp-mgr.c: (mb_wm_comp_mgr_client_run_effect): Release assumed reference on client object if no effects were started to avoid memory leak.
2008-02-272008-02-27 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* configure.ac: Fixed incorrect string quoting. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-default.c: * matchbox/comp-mgr/mb-wm-comp-mgr.c: (mb_wm_comp_mgr_unregister_client): Moved shared code into the public function, and removed unnecessary implementations from the default and clutter managers. Removed call to mb_wm_comp_mgr_client_hide() as this interfers with managers implementing an unmap effect. * matchbox/comp-mgr/mb-wm-comp-mgr.h: Added MBWMCompMgr::unmap_notify virtual. * matchbox/comp-mgr/mb-wm-comp-mgr.c: (mb_wm_comp_mgr_map_notify): (mb_wm_comp_mgr_unmap_notify): Moved the effects handling for map and umap events out of MBWindowManager into the CM. (mb_wm_comp_mgr_client_run_effect): Take a temporary reference of the CM client object to enusure that it is not destroyed while an effect is running. * matchbox/core/mb-window-manager.c: (mb_wm_handle_unmap_notify): Removed handling of CM unmap effect. (mb_wm_unmanage_client): Extra comments.
2008-02-272008-02-27 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-wm-debug.c: * matchbox/core/mb-wm-debug.h: Added DAMAGE debug domain. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_client_show_real): Clear DontUpdate flag if set. (mb_wm_comp_mgr_clutter_client_repair_real): Added debug output.
2008-02-252008-02-25 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Insert texture actors into a 'desktop' ClutterGroup rather than directly into stage to provide greater flexibility in subclassing.
2008-02-222008-02-22 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (MBWMCompMgrClutterClient): Collapsed a bunch of boolean members into flag set; 'done' flag for effects that should only run once. * matchbox/core/mb-wm-client.c: (mb_wm_client_deliver_delete): Hooked unmap effect in.
2008-02-222008-02-22 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: (mb_wm_manage_preexistsing_wins): Fixed handling of pre-exising windows when compositing. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_turn_on_real): Remove no longer needed pre-existing windows code. (mb_wm_comp_mgr_clutter_fetch_texture): Update actor position when re-fetching texture; use client geometry rather than pixmap geometery for actor size. (mb_wm_comp_mgr_clutter_map_notify_real): Removed unneeded effect callback. * matchbox/comp-mgr/mb-wm-comp-mgr.c: (mb_wm_comp_mgr_client_hide): (mb_wm_comp_mgr_map_notify): Added checks for NULL. (mb_wm_comp_mgr_unregister_client): Call mb_wm_comp_mgr_client_hide() to provide more coherent show/hide behaviour; clear the client data pointer.
2008-02-222008-02-22 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-wm-client.c: (mb_wm_comp_mgr_map_notify): Removed superfluous mb_wm_comp_mgr_client_show/hide(). * matchbox/comp-mgr/mb-wm-comp-mgr.c: (mb_wm_comp_mgr_map_notify): Call mb_wm_comp_mgr_client_show() to provide more coherent show/hide behaviour. * matchbox/core/mb-window-manager.c: (mb_wm_comp_mgr_map_notify): Only call mb_wm_comp_mgr_client_hide() if we are not unregistering the client. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: Code cleanup.
2008-02-212008-02-21 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: (mb_wm_unmanage_client): Make sure that mb_wm_comp_mgr_client_hide() is called when unmanaging a client. * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_client_destroy): Removed a superfluous call to mb_wm_comp_mgr_client_hide().
2008-02-192008-02-19 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* configure.ac, *.am, *.h: Changes for building mbwm2 as a library (based on patch by Johan Bilien): Moved 'src' to 'matchbox'; fixed up headers to use #include <>. Moved config.h to matchbox/mb-wm-config.h. Added --enable-libmatchbox configure option, libmatchbox2.pc.in