aboutsummaryrefslogtreecommitdiffstats
path: root/matchbox/core/mb-window-manager.c
AgeCommit message (Collapse)Author
2011-11-18mb-window-manager.c Fix variable type in _NET_WORKAREA codeRichard Purdie
According to XChangeProperty doc, array of "long" should be used when format is 32. This patch changes the variable to the correct type. Thanks to Zhai Edwin <edwin.zhai@intel.com> for spotting this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2008-09-262008-09-26 Ross Burton <ross@linux.intel.com>Ross Burton
* matchbox/core/mb-window-manager.c: When the root window resizes, update the work area rectangles.
2008-09-162008-09-16 Tomas Frydrych <tf@linux.intel.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: * matchbox/core/mb-wm-atoms.c: * matchbox/core/mb-wm-client-window.c: * matchbox/core/mb-wm-client-window.h: * matchbox/core/mb-wm-types.h: Use WM_NORMAL_HINTS for window gravity (instead of the X attribute) and user position (patch by Aurélien Bauchet <abauchet@comwax.com>).
2008-09-152008-09-15 Ross Burton <ross@linux.intel.com>Ross Burton
* matchbox/core/mb-window-manager.[ch]: Make get_desktop_geometry a vfunc, so that subclasses can override it.
2008-06-022008-06-02 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: (mb_wm_init): Force a stack sync on startup to allow compositing managers to handle initial state depending on whether the stack is empty or not.
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-182008-04-18 Ross Burton <ross@openedhand.com>Ross Burton
* matchbox/core/mb-window-manager.c: Add support for the root window resizing itself, which means RANDR has been used.
2008-04-182008-04-18 Ross Burton <ross@openedhand.com>Ross Burton
* matchbox/core/mb-window-manager.c: Only register a configure notify handler for all windows if compositing is enabled.
2008-04-162008-04-16 Robert Bragg <bob@o-hand.com>Robert Bragg
* matchbox-window-manager-2/matchbox/client-types/mb-wm-client-panel.c * matchbox-window-manager-2/matchbox/core/mb-wm-client-window.c * matchbox-window-manager-2/matchbox/core/mb-wm-client.h * matchbox-window-manager-2/matchbox/core/mb-wm-client-window.h * matchbox-window-manager-2/matchbox/core/mb-wm-types.h * matchbox-window-manager-2/matchbox/core/mb-wm-client-base.c * matchbox-window-manager-2/matchbox/core/mb-window-manager.c * matchbox-window-manager-2/matchbox/core/mb-wm-client.c * matchbox-window-manager-2/matchbox/managers/maemo/maemo-toolbar.c: Changes how we respond to configure notifications. We now defer the response until after all layout decisions so we know for sure when we need to send a synthetic event. Note this adds a new client->window->x_geometry member that is meant to always be a pristine copy of the X dimensions for the client xwindow. client->window->geometry continues to be used for layout purposes.
2008-04-092008-04-09 Ross Burton <ross@openedhand.com>Ross Burton
* matchbox/client-types/mb-wm-client-desktop.c: * matchbox/client-types/mb-wm-client-input.c: * matchbox/core/mb-wm-client-window.c: * matchbox/core/mb-wm-stack.c: * matchbox/core/mb-wm-main-context.c: * matchbox/core/mb-wm-decor.c: * matchbox/core/mb-window-manager.c: * matchbox/core/mb-wm-client.c: * matchbox/theme-engines/mb-wm-theme.c: More cleanups to fix warnings from -Wall.
2008-04-092008-04-09 Ross Burton <ross@openedhand.com>Ross Burton
* matchbox/client-types/mb-wm-client-desktop.c: * matchbox/client-types/mb-wm-client-app.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/core/mb-wm-client-window.c: * matchbox/core/mb-wm-root-window.c: * matchbox/core/mb-wm-main-context.c: * matchbox/core/mb-wm-layout.c: * matchbox/core/mb-wm-debug.c: * matchbox/core/mb-wm-decor.c: * matchbox/core/mb-window-manager.c: * matchbox/core/mb-wm-client.c: Remove unused variables and functions.
2008-03-202008-03-20 Robert Bragg <bob@o-hand.com>Robert Bragg
* matchbox/client-types/mb-wm-client-app.c * matchbox/core/mb-wm-client-base.c * matchbox/core/mb-window-manager.c Ensure we send a synthetic ConfigureNotify event in responce to a ConfigureRequest when we decide not to accept the request or when we only move a window. (Fixes gnome-terminal)
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-142008-03-14 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: (mb_wm_handle_button_press): Only activate application if it is not already topmost.
2008-03-142008-03-14 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: (test_key_press): (test_button_press): (test_destroy_notify): Renamed to match the usual mb_wm_ namespace.
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: * matchbox/managers/maemo/matchbox-window-manager-2-maemo.c: * matchbox/managers/simple/matchbox-window-manager-2-simple.c: Moved calls to MBWindowManager virtuals (with the exception of process_cmd_line) from the object constructor to a public mb_wm_init() method that must be called before the newly constructed object can be used.
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-122008-03-12 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-wm-client.h: Added layout hints for user resizable and movable windows. * matchbox/client-types/mb-wm-client-dialog.c: Hint dialogs as user-movable. * matchbox/core/mb-window-manager.c: (test_button_press): Ensure that application-type clients are not only focused, but also activated. * matchbox/core/mb-wm-decor.c: * matchbox/core/mb-wm-decor.h: Implemented window dragging via north decor. * matchbox/core/mb-wm-main-context.c: * matchbox/core/mb-wm-main-context.h: (mb_wm_main_context_spin_loop): API to allow manual spining of the main loop. * matchbox/theme-engines/mb-wm-theme.c: Make dialogs decorated by default when using fallback theme.
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-082008-03-08 Robert Bragg <bob@o-hand.com>Robert Bragg
* configure.ac * matchbox/comp-mgr/Makefile.am * matchbox/comp-mgr/mb-wm-comp-mgr-xrender.c * matchbox/comp-mgr/mb-wm-comp-mgr-xrender.h * matchbox/core/mb-window-manager.c * matchbox/managers/simple/Makefile.am * matchbox/managers/simple/matchbox-window-manager-2-simple.c * matchbox/mb-wm-config.h.in Adds an --enable-composite-managers=A,B,C.. config option and renames the "default" composite manager to "xrender"
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-042008-03-04 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: * matchbox/core/mb-window-manager.h: * matchbox/core/mb-wm-client-base.c: * matchbox/core/mb-wm-client.c: * matchbox/core/mb-wm-client.h: * matchbox/core/mb-wm-root-window.c: Start of multi-desktop infrastructure.
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/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-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-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_main_real): * matchbox/managers/simple/matchbox-window-manager-2-simple.c: (main): Use clutter_x11_handle_event and clutter_x11_disable_event_retrieval to hook clutter into gdk event processing (needs clutter r2243+).
2008-02-21double xevent callbackTomas Frydrych
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-202008-02-20 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: (mb_wm_init): Added missing break statement.
2008-02-202008-02-20 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: (mb_wm_main_loop): Fixed build. * matchbox/core/mb-wm-main-context.h: Added missing prototype for mb_wm_main_context_gloop_xevent().
2008-02-202008-02-20 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* configure.ac: * matchbox/comp-mgr/Makefile.am: * matchbox/mb-wm-config.h.in: * matchbox/core/mb-window-manager.c: Added --enable-compositing-manager=framework-only to make it possible to build libmatchox with compositing capabilites, but without any of the provided backends. * matchbox/core/mb-window-manager.c: (mb_wm_main_loop): Added missing xeven callback to the plain main glib loop. * matchbox/core/mb-wm-main-context.c: (mb_wm_main_context_init): Removed unused code.
2008-02-202008-02-20 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* configure.ac: Fixed the header dirctory for libmatchbox. * matchbox/core/mb-window-manager.c: Fixed stray #ifdef.
2008-02-192008-02-19 Tomas Frydrych <tf@o-hand.com>Tomas Frydrych
* configure.ac: * matchbox/core/mb-window-manager.c: * matchbox/core/mb-window-manager.h: * matchbox/core/mb-wm-client-base.c: * matchbox/core/mb-wm-client-window.c: * matchbox/core/mb-wm-client.c: * matchbox/core/mb-wm-client.h: * matchbox/core/mb-wm-main-context.c: * matchbox/core/mb-wm-main-context.h: * matchbox/core/mb-wm-root-window.c: * matchbox/core/mb-wm-types.h: * matchbox/core/mb-wm-util.h: * matchbox/managers/maemo/maemo-window-manager.c: * matchbox/managers/simple/matchbox-window-manager-2-simple.c: * matchbox/mb-wm-config.h.in: * matchbox/theme-engines/mb-wm-theme-cairo.c: * 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: Manually generate mb-wm-config.h so as to avoid any clashes with with any auto-generated application config.h. Changed number of #ifdef's to #if's following the changes to mb-wm-config.h.
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