2008-02-20 Tomas Frydrych * configure.ac: Fixed the header dirctory for libmatchbox. * matchbox/core/mb-window-manager.c: Fixed stray #ifdef. 2008-02-19 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-19 Tomas Frydrych * removed src directory that for some reason did not get deleted in earlier commit. 2008-02-19 Tomas Frydrych * data/Makefile.am: Generate API-version specific .pc file. 2008-02-19 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 2008-02-18 Tomas Frydrych * src/comp-mgr/README: A simple outline of the compositing manager framework. 2008-02-18 Tomas Frydrych * src/comp-mgr/mb-wm-comp-mgr-clutter.c: (mb_wm_comp_mgr_clutter_map_notify_real): (mb_wm_comp_mgr_clutter_effect_run_real): Delayed clutter_actor_show () call until 'map' effects had a chance to setup starting position of the actor. *src/core/mb-window-manager.c: Removed leftover printfs. 2008-02-18 Tomas Frydrych * data/themes/Default/theme.xml: * src/comp-mgr/mb-wm-comp-mgr-clutter.c: * src/comp-mgr/mb-wm-comp-mgr.c: * src/comp-mgr/mb-wm-comp-mgr.h: * src/core/mb-window-manager.c: * src/core/mb-wm-types.h: * src/theme-engines/mb-wm-theme.c: More effects works: split slide effect into slide-in and slide-out; added effect events for map and unmap. 2008-02-15 Tomas Frydrych * src/theme-engines/mb-wm-theme.c: Check effect type is specified; use sensible default for effect duration. 2008-02-15 Tomas Frydrych * src/theme-engines/mb-wm-theme.c: * data/themes/Default/theme.xml: Moved effect description from attribute to an element. 2008-02-15 Tomas Frydrych * configure.ac: Improved help for --enable-compositing-manager. * src/theme-engines/mb-wm-theme.c: (mb_wm_theme_new): Try to load default theme when no theme is specified. Turn compositing on by default. * src/core/mb-window-manager.c: (mb_wm_process_cmdline): Added -help option for those uncomfortable with self-documenting source code. 2008-02-14 Tomas Frydrych * data/themes/Default/theme.xml: * src/comp-mgr/mb-wm-comp-mgr-clutter.c: * src/comp-mgr/mb-wm-comp-mgr.c: * src/comp-mgr/mb-wm-comp-mgr.h: * src/core/mb-wm-object-props.h: * src/core/mb-wm-types.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Added gravity to MBWCompMgrEffect to add flexibility and reduce effect types; implemeted slide effect. 2008-02-13 Tomas Frydrych * configure.ac * src/comp-mgr/Makefile.am: * src/comp-mgr/mb-wm-comp-mgr-default.c: * src/comp-mgr/mb-wm-comp-mgr-default.h: * src/comp-mgr/mb-wm-comp-mgr.c: * src/comp-mgr/mb-wm-comp-mgr.h: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-client.c: * src/core/mb-wm-main-context.c: * src/core/mb-wm-object-props.h: * src/core/mb-wm-types.h: * src/managers/maemo/maemo-window-manager.c: * src/managers/simple/matchbox-window-manager-2-simple.c: Changes to improve the flexibility of the compositor framework. Framework for compositor effects. Initial implementation of a clutter-based compositor. * src/theme-engines/mb-wm-theme-xml.c: * src/theme-engines/mb-wm-theme-xml.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Added support for effects. * data/themes/Default/theme.xml: Added sample effect for application clients. 2008-01-31 Tomas Frydrych * src/client-types/mb-wm-client-dialog.c: (mb_wm_client_dialog_show): Fixed wrong cast generating wornings. * src/comp-mgr/Makefile.am: * src/comp-mgr/mb-wm-comp-mgr-default.c: * src/comp-mgr/mb-wm-comp-mgr-default.h: * src/comp-mgr/mb-wm-comp-mgr.c: * src/comp-mgr/mb-wm-comp-mgr.h: * src/core/mb-wm-types.h: Split MBWMCompMgr into an abstract object and separate MBWMCompMgrDefault implementation. * src/core/mb-window-manager.c: (mb_wm_real_comp_mgr_new): Use the new MBWMCompMgrDefault object. (mb_wm_unmanage_client): Avoid accessing stale pointer (patch by Johan Bilien). (mb_wm_activate_client_real): Call mb_wm_client_show () when asked to activate an override-type client (compositing mode only) so that the compositing manager gets chance to do it's stuff with it. (mb_wm_compositing_on): Use the MBWindowManager comp_mgr_new() virtual to create a new manager if needed. 2008-01-22 Tomas Frydrych * src/core/mb-wm-atoms.c: Changed MOTIF_WM_HINTS to the correct _MOTIF_WM_HINTS. * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: Handling of _MOTIF_WM_HINTS.decorations == 0 (used by gtk to indicate client window should not be decorated). * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-desktop.c: * src/client-types/mb-wm-client-dialog.c: Do not decorate windows with undecorated hint. 2008-01-18 Tomas Frydrych * src/client-types/mb-wm-client-desktop.c: (mb_wm_client_desktop_init): Initialize frame geometry to desktop size. 2008-01-11 Tomas Frydrych * src/client-types/mb-wm-client-desktop.c: (mb_wm_client_desktop_request_geometry): Avoid querying theme for decor dimensions if client is not decorated. * src/core/mb-window-manager.c: (mb_wm_manage_client): Do not activate desktop-type clients when starting to manage them. (mb_wm_manage_preexistsing_wins): Handle pre-existing override windows when compositing is enabled. * src/core/mb-wm-client.c: (mb_wm_client_stack): Do not schedule restack when handling override-type client. 2008-01-11 Tomas Frydrych * src/core/mb-window-manager.c (mb_wm_manage_client): (mb_wm_unmanage_client): Make sure that we do not try to restack windows when managing/unmanaging an override-type client. 2008-01-11 Tomas Frydrych * src/core/mb-wm-keys.c: (key_binding_set_grab): Replaced stray printf with MBWM_DBG. 2008-01-10 Tomas Frydrych * src/core/mb-wm-keys.c: (mb_wm_keys_press): Only call a specific binding once. * src/core/mb-window-manager.c (mb_wm_cycle_apps): Do not crash if there is no application to cycle to. 2008-01-10 Tomas Frydrych * src/core/mb-wm-keys.c: (mb_wm_keys_press): Fixed handling of modifier mask. 2008-01-09 Tomas Frydrych * src/core/mb-wm-client-base.c: (mb_wm_client_base_realize): Do not create a frame window if the client is not decorated. * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_request_geometry): Do not query theme for decor size if the client is undecorated. * src/client-types/mb-wm-client-dialog.c: (mb_wm_client_dialog_request_geometry): Do not query theme for decor size if the client is undecorated. 2008-01-09 Tomas Frydrych * src/client-types/mb-wm-client-desktop.c: (mb_wm_client_desktop_request_geometry): Handle request of type MBWMClientReqGeomForced. * src/client-types/mb-wm-client-override.c: (mb_wm_client_override_stack): Handle correctly transients for override-type clients. * src/core/mb-window-manager.c (mb_wm_activate_client_real): Do not attempt to activate override-type clients. 2008-01-09 Tomas Frydrych * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: Fine-graned decor dirtiness to differentiate between simple paint and window title change. * src/theme-engines/mb-wm-theme-png.c: (mb_wm_theme_png_paint_decor): Handle change of window title properly. * src/client-types/mb-wm-client-desktop.c: (mb_wm_client_desktop_class_init): (mb_wm_client_desktop_theme_change): Added theme-change function for desktop client so that decorated desktops can handle theme change. * src/core/mb-window-manager.c: (mb_wm_update_root_win_lists): For decorated desktop, add the client window, not the frame to the application window lists. 2008-01-08 Tomas Frydrych * src/client-types/mb-wm-client-desktop.c: Allow desktop clients to be decorated. * src/core/mb-window-manager.c: (mb_wm_activate_client_real): Ensure that desktop flag is not clear if we are activating a client that is either transient for desktop, or a dialog/menu transient for root. 2008-01-08 Tomas Frydrych * src/theme-engines/mb-wm-theme-xml.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Added layout-hints to attributes of XML client element to give themes greater control over client layout. * src/core/mb-wm-client.c: (mb_wm_client_init): Obtain layout hints from theme, if available. * src/client-types/mb-wm-client-panel.c: Handle floating (over the title-bar) type of panel. 2008-01-07 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_layout_new_real): Added missing return statement. 2008-01-04 Tomas Frydrych * src/client-types/mb-wm-client-dialog.c: (mb_wm_client_dialog_request_geometry): Fixed bunch of NOP statements. 2008-01-03 Tomas Frydrych * src/core/mb-wm-client.h: Added xwin_modal_blocker, an input-only window for blocking input events around system-modal dialogues. * src/core/mb-window-manager.c: (stack_get_window_list): (stack_sync_to_display): * src/core/mb-wm-client-base.c: Handle modal-blocker windows. 2008-01-03 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_focus_client): Do not move focus for system-modal dialogs. 2008-01-03 Tomas Frydrych * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Added mb_wm_theme_resize_decor() to allow theme engines to take specific action in response to decor resizing. * src/theme-engines/mb-wm-theme-png.c: Implemented mb_wm_theme_png_resize_decor(). * src/core/mb-wm-decor.c: (mb_wm_decor_resize): Added call the mb_wm_theme_resize_decor(). * src/client-types/mb-wm-client-dialog.c: (mb_wm_client_dialog_request_geometry): Split off the special case where only position changes, avoid unnecessary query to the theme engine about decor size. 2008-01-02 Tomas Frydrych * src/client-types/mb-wm-client-dialog.c: (mb_wm_client_dialog_request_geometry): Fixed geometry calculations for requests via ConfigureRequest. * src/core/mb-window-manager.c: (mb_wm_handle_config_request): Check for window size change before the geometry is modified by mb_wm_client_request_geometry(). 2007-12-31 Tomas Frydrych * configure.ac: * Makefile.am: * doc/Makefile.am: Added doc directory to the autofoo build tree. 2007-12-21 Tomas Frydrych * doc/MBWM2-Overview.xml: * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme-xml.c: * src/theme-engines/mb-wm-theme-xml.h: * src/theme-engines/mb-wm-theme.c: Added inactive-x, inactive-y parameters to theme buttons to make it possible to design monochromatic tonable PNG themes. 2007-12-19 Tomas Frydrych * configure.ac: Check for Xext. * doc/MBWM2-Overview.xml: Updated documentation. * src/core/mb-wm-client-base.c: (mb_wm_client_base_display_sync): * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: (mb_wm_client_init): (mb_wm_client_is_argb32): Added new mb_wm_client_is_argb32() function to simplify checking for visual type. * src/core/mb-wm-object-props.h: * src/theme-engines/mb-wm-theme-xml.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-simple.c: Implemented shaped windows in PNG themes. * src/managers/maemo/theme/background.png: * src/managers/maemo/theme/theme.xml: Tweaked sample maemo theme to use shaped windows for dialogs and notifications. 2007-12-18 Tomas Frydrych * data/themes/Default/theme.xml: * data/themes/PngSample/theme.xml: * src/managers/maemo/theme/theme.xml: * src/theme-engines/mb-wm-theme.c: Changed attributes engine_version and engine_type to engine-version and engine-type respectively, so as to make attribute makeup consistent. * doc/MBWM2-Overview.xml: Updated documetation. 2007-12-14 Tomas Frydrych * src/core/mb-wm-decor.c: (mb_wm_decor_button_press_handler): Do not let non-modal transients to block button events on decor buttons. 2007-12-14 Tomas Frydrych * src/core/mb-wm-client.c: (mb_wm_client_base_stack): * src/core/mb-wm-decor.c: (mb_wm_decor_button_press_handler): * src/core/mb-wm-stack.c: (mb_wm_stack_ensure_trans_foreach): * src/managers/maemo/maemo-input.c: (maemo_input_init): Use mb_wm_client_get_transients() instead of accessing the transient list directly. * src/core/mb-wm-util.h: * src/core/mb-wm-util.c: (mb_wm_util_list_free): Added a convenience function. * src/core/mb-wm-client.h: * src/core/mb-wm-client.c: (mb_wm_client_get_transients): Handle window group hint. 2007-12-12 Tomas Frydrych * src/core/mb-window-manager.c: (test_button_press): * src/core/mb-wm-client.c: (mb_wm_client_init): Do a button grab on the client window. 2007-12-11 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_activate_client_real): (mb_wm_focus_client): * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: (mb_wm_client_focus): (mb_wm_client_remove_transient): Keep track of the last focused transient for each client, so that focus goes to the correct place when switching between clients with non-modal transients. 2007-12-11 Tomas Frydrych * src/core/mb-window-manager.c: (test_button_press): Handle button press on children. 2007-12-11 Tomas Frydrych * src/client-types/mb-wm-client-menu.c: * src/core/mb-wm-layout.c: Respect original menu geometry. 2007-12-11 Tomas Frydrych * src/core/mb-wm-client-base.c: (mb_wm_client_base_display_sync): Force client window geometry recalculation when exiting fullscreen mode. * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_request_geometry): Handle MBWMClientReqGeomForced geometry requests. 2007-12-11 Tomas Frydrych * src/managers/maemo/maemo-toolbar.h: * src/managers/maemo/maemo-toolbar.c: Make sure that the TN is getting stacket with BottomMid like a normal panel (so it does not steal focus from applications). 2007-12-10 Tomas Frydrych * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_request_geometry): Handle geometry request correctly in fullscreen mode. * src/core/mb-wm-client-base.c: (mb_wm_client_base_display_sync): Respect geometry when in fullscreen mode, always set input focus to RevertToPointerRoot when switching from/to fullscreen mode as it gets reset due to the implicit unmap in XReparentWindow(). * src/core/mb-wm-client.c: (mb_wm_client_get_layout_hints): Handle fullscreen mode. * src/core/mb-wm-layout.c: Use mb_wm_client_get_layout_hints() instead of accessing MBWindowClient layout_hints member directly. (mb_wm_layout_input): Make sure that when input method is transient to a client in fullscreen mode the width/height is calculated correctly. (mb_wm_layout_fullscreen): Handle the presence of an input method transient to a fullscreened application. 2007-12-10 Tomas Frydrych * src/core/mb-wm-client-base.c: (mb_wm_client_base_display_sync): Increase skip_unmaps on (un)fullscreen not to loose the client on XReparentWindow generated unmap. * src/core/mb-window-manager.c: (stack_get_window_list): Use the client window for fullscreen apps, not the (unmapped) frame, when building window list for XRestackWindow(). * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_stacking_layer): Stack fullscreen applications in MBWMStackLayerTopMid. 2007-12-10 Tomas Frydrych * src/client-types/mb-wm-client-input.c: * src/client-types/mb-wm-client-menu.c: * src/client-types/mb-wm-client-panel.c: (mb_wm_client_*_realize): Make sure that client windows that are frameless are reparented to our root window, otherwise we cannot restack them. * src/core/mb-window-manager.c: (mb_wm_sync): (stack_sync_to_display): call mb_wm_stack_ensure() from mb_wm_sync() rather than stack_sync_to_display() so that all ops are done on correct stack order. * src/core/mb-wm-client.c: (mb_wm_client_realize): Check client is not realized already. 2007-12-07 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/managers/maemo/matchbox-window-manager-2-maemo.c: * src/managers/simple/matchbox-window-manager-2-simple.c: Added virtual layout_new() method to MWWindowManager so we can create a layout while initializing the object (otherwise pre-existing windows do not get correctly laid out). 2007-12-07 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_manage_preexistsing_wins): Schedule stack sync when we manage pre-existing windows to ensure that stack order is correct. 2007-12-07 Tomas Frydrych * src/client-types/mb-wm-client-panel.c: * src/core/mb-wm-client-base.c: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/managers/maemo/maemo-toolbar.c: Respect InputHint. 2007-12-07 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_handle_property_notify): * src/core/mb-wm-client-window.c: (mb_wm_client_window_sync_properties): Handle _NET_WM_NAME alongside WM_NAME. * src/core/mb-window-manager.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-client-base.c: (mb_wm_client_base_display_sync): Fixed geomtry of fullscreen windows. * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: (mb_wm_client_set_state): Fixed parameter types to match those assumed by the body of the function. * src/core/mb-wm-main-context.c: (mb_wm_main_context_handle_x_event): Handle _NET_WM_STATE ClientMessage correctly. * src/core/mb-wm-root-window.c: (mb_wm_root_window_handle_message): * src/core/mb-window-manager.c: (mb_wm_process_cmdline): (mb_wm_set_theme_from_path): Added -theme-always-reload option. 2007-12-07 Tomas Frydrych * src/core/xas.c: Fixed debug macros when --disable-debug is given. * src/theme-engines/mb-wm-theme-cairo.c: (mb_wm_theme_cairo_paint_button): Fixed uninitialized variables. 2007-11-26 Tomas Frydrych * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: (mb_wm_client_ping_start): Made function public. * src/core/mb-window-manager.c: (mb_wm_activate_client): Split out mb_wm_activate_client_real() so derrived classes can chain up. * src/managers/maemo/maemo-window-manager.c: (maemo_window_manager_client_activate): Do 'aggressive' ping when activating an application. 2007-11-26 Tomas Frydrych * src/managers/maemo/maemo-toolbar.c: (maemo_toolbar_stack): Always stack maemo status bar immediately above top level application. 2007-11-23 Tomas Frydrych * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/client-types/mb-wm-client-desktop.c: * src/client-types/mb-wm-client-panel.c: * src/client-types/mb-wm-client-menu.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-input.c: * src/core/mb-window-manager.c: Added virtual stacking_layer() method to MBWindowManagerClient to allow clients to dynamically change their stacking requirement (e.g., desktop client in normal and 'showing desktop' mode). Removed class-specific implementations of stack() methods for clients that duplicated the basic behaviour provided by MBWMClientBase. * src/managers/maemo/maemo-toolbar.c: (maemo_toolbar_stack): Fixed up to handle correctly case where dialogs might need to be stacked above the floating status bar (e.g., when input method is present). * src/core/mb-wm-layout.c: (mb_wm_layout_clip_geometry): Fixed so as to prioritize window size over window position for free-positioned clients (e.g., when resizing dialogs due to the presence of the input method). * src/core/mb-wm-stack.c: (mb_wm_stack_ensure): Use mb_wm_client_get_stacking_layer() instead of accessing the MBWindowManagerClient struct (to allow for dynamic layer definition). Use mb_wm_client_stack() to move clients, rather than mb_wm_stack_move_top (); this allows for clients whose stacking requirements change depending on the content of the stack to be handled correctly. (mb_wm_stack_get_highest_by_type): Fixed to handle or-ed client types correctly; speeded up by reversing direction of search. * src/core/mb-wm-util.c: * src/core/mb-wm-util.h: Added mb_geometry_intersects() convenience function. 2007-11-23 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_manage_client): (mb_wm_unmanage_client): (mb_wm_get_desktop_geometry): (mb_wm_activate_client): Fixed client-type check to work for subclasses. (mb_wm_get_desktop_geometry): Fixed geomtry calculation. (mb_wm_update_root_win_rectangles): Fixed _NET_DESKTOP_GEOMETRY calculation to match the spec. * src/client-types/mb-wm-client-desktop.c: (mb_wm_client_desktop_init): Changed layout hints to LayoutPrefFullscreen. * src/core/mb-wm-layout.c: Handle clients with layotu hing LayoutPrefFullscreen. 2007-11-22 Tomas Frydrych * doc/MBWM2-Overview.xml: Brief overview of the MBWM2 framework. 2007-11-21 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_activate_client): Adjust stacking layer of destkop client depending on whether in showing desktop mode or not. 2007-11-21 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_compositing_on): Don't segfault if creation of compositing manager fails. 2007-11-21 Tomas Frydrych * src/comp-mgr/mb-wm-comp-mgr.c: (mb_wm_comp_mgr_render_region): Make sure that primary client rendering is doen up to first non-translucent application or destktop client. 2007-11-21 Tomas Frydrych * src/comp-mgr/mb-wm-comp-mgr.c: (mb_wm_comp_mgr_handle_events_real): Debug output with "compositing" flag. (mb_wm_comp_mgr_handle_events_real): Restructured some conditionals. (mb_wm_comp_mgr_render_region): Fixed error in offset calculation of shadows. * src/core/mb-wm-debug.c: * src/core/mb-wm-debug.h: Added "compositing" option for MB_DEBUG. 2007-11-21 Tomas Frydrych * src/core/mb-window-manager.c: * src/managers/maemo/maemo-window-manager.c: (_window_manager_client_new_func): Treat windows of unknown type that do not have override redirect set as applications. * src/comp-mgr/mb-wm-comp-mgr.c: (_render_a_client): Paint decors for translucent windows solid, not translucent. 2007-11-20 Tomas Frydrych * src/client-types/Makefile.am: * src/client-types/mb-wm-client-override.h: * src/client-types/mb-wm-client-override.c: * src/comp-mgr/mb-wm-comp-mgr.c: * src/core/mb-window-manager.c: * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-types.h: * src/managers/maemo/Makefile.am: * src/managers/maemo/maemo-window-manager.c: * src/managers/simple/Makefile.am: Added MBWMClientOverride for handling Override Redirect windows when in compositing mode. * src/core/mb-wm-main-context.c: (mb_wm_main_context_handle_x_event): Fixed a possible out-of-bounds read when printing debug output. 2007-11-20 Tomas Frydrych * src/client-types/mb-wm-client-menu.c: (mb_wm_client_menu_init): Changed stacking so that menus always stack on the top. 2007-11-16 Tomas Frydrych * src/client-types/mb-wm-client-menu.c: (mb_wm_client_menu_init): Added MBWM_ATOM_NET_WM_ACTION_RESIZE to allowed actions. * src/core/mb-wm-debug.c: * src/core/mb-wm-debug.h: * src/core/xas.c: Added xas domain to debug flags to reduce debug msg spam. * src/core/mb-wm-decor.c: (mb_wm_decor_button_press_handler): Added XSync() to processing of press-activated buttons (the lack of which was causing danling pointer grab in certain situations). * src/core/mb-wm-main-context.c: (mb_wm_main_context_handle_x_event): Tweaked dbg output some more to improve readability. 2007-11-16 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_handle_config_request): Respect configure requests for unmanaged windows (necessary for things like gtk menus position to work). * src/core/mb-wm-main-context.c: (mb_wm_main_context_handle_x_event): ConfigureRequest, ConfigureNotify: must use the window member of the struct to identify the window to configure, not XAny.window. Added extra debug output. 2007-11-15 Tomas Frydrych * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-menu.c: * src/client-types/mb-wm-client-note.c: * src/core/mb-window-manager.c Handling of _NET_WM_ALLOWED_ACTIONS and _MB_CURRENT_APP_WINDOW. * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: Reimplemented decor button press/release handling to use a pointer grab. 2007-11-15 Tomas Frydrych * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: Added _MB_GRAB_TRANSFER. * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: (mb_wm_client_deliver_message): Exposed previously static function. * src/theme-engines/mb-wm-theme-xml.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/managers/maemo/theme/theme.xml: Added themable "press_activated" flag to decor button; implemented handling of press-activated buttons (needed for maemo manager). * src/core/mb-wm-root-window.c: (mb_wm_root_window_init_attributes): Removed bogus ClientMessage value from event mask. (mb_wm_root_window_update_supported_props): Added _NET_WM_CONTEXT_CUSTOM to supported props. 2007-11-14 Tomas Frydrych * src/core/mb-wm-client.c: (mb_wm_client_add_transient): Ensure no duplicate entries in transients list. (mb_wm_client_remove_transient): Return imediately if we have no transient list. 2007-11-14 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-wm-types.h: * src/client-types/Makefile.am: * src/client-types/mb-wm-client-note.h: * src/client-types/mb-wm-client-note.c: * src/managers/maemo/Makefile.am: * src/managers/maemo/maemo-window-manager.c * src/managers/simple/Makefile.am: * src/theme-engines/mb-wm-theme.c: Added MBWMClientNote type. * src/core/mb-wm-client-window.h: * src/core/mb-wm-client-window.c: Processing of gravity hint. * src/client-types/mb-wm-client-dialog.c: (mb_wm_client_dialog_show): Fixed up chaining to parent class method to avoid circularity for derived classes. (mb_wm_client_dialog_init): Fixed flags in call to mb_wm_client_dialog_request_geometry(). * src/core/mb-wm-client.c: (mb_wm_client_destroy): Plugged a leaking MBWMList. * src/managers/maemo/theme/background.png: * src/managers/maemo/theme/theme.xml: Themed notification clients. 2007-11-13 Tomas Frydrych * src/client-types/mb-wm-client-input.c: (mb_wm_client_input_detransitise): Tweaked to avoid unnecessary geometry requests. (mb_wm_client_input_request_geometry): Respect geometry request from ConfigureRequests. * src/core/mb-window-manager.c: (mb_wm_set_layout): OR rather than set the sync_type. * src/core/mb-wm-client.c: (mb_wm_client_destroy): Make sure that no transient children hold a dangling pointer to the destroyed client. * src/core/mb-wm-layout.c: (mb_wm_layout_input): Fixed available geometry calculations for Input clients reserving South edge. 2007-11-13 Tomas Frydrych * src/core/mb-wm-decor.c: (mb_wm_decor_calc_geometry): Fixed caculation of decor geometry resulting in S and E decors being placed far outside the frame window. * src/theme-engines/mb-wm-theme-xml.h: * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme.c: Added show-title attribute to decor element to control display of window title. * src/managers/maemo/theme/background.png: * src/managers/maemo/theme/theme.xml: Added show-title decor attribute; tweaked image. 2007-11-13 Tomas Frydrych * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: * src/core/mb-window-manager.c: * src/managers/maemo/maemo-window-manager.c: Added _NET_WM_WINDOW_TYPE_INPUT. * src/core/mb-wm-client.c: (mb_wm_client_get_coverage): Fixed so that frame geometry is not modified by this getter. * src/theme-engines/mb-wm-theme-png.c: (mb_wm_theme_png_paint_decor): Fixed painting of decors smaller than the theme template. 2007-11-13 Tomas Frydrych * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme-xml.c: * src/theme-engines/mb-wm-theme-xml.h: Improved drawing of buttons in active state. * src/managers/maemo/theme/background.png: * src/managers/maemo/theme/theme.xml: Added active state buttons to the theme. 2007-11-12 Tomas Frydrych * configure.ac: * src/managers/maemo/Makefile.am: * src/managers/maemo/theme/background.png: * src/managers/maemo/theme/theme.xml: Added a simple mockup of maemo png-based theme to facilitate testing. * src/client-types/mb-wm-client-dialog.c: (mb_wm_client_dialog_init): Correctly set up initial dialog geomtry. * src/managers/maemo/maemo-toolbar.c: Tweaked fallback geometry values. * src/theme-engines/mb-wm-theme-png.c: Fixed drawing decors that require scaling. 2007-11-08 Tomas Frydrych * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: * src/core/mb-window-manager.c: * src/managers/maemo/maemo-window-manager.c: Added _NET_WINDOW_TYPE_DROPDOWN_MENU. 2007-11-08 Tomas Frydrych * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: * src/core/mb-window-manager.c: * src/managers/maemo/maemo-window-manager.c: Added _NET_WINDOW_TYPE_NOTIFICATION. 2007-11-08 Tomas Frydrych * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: Added _NET_WINDOW_TYPE_POPUP_MENU. * src/core/mb-window-manager.c: (mb_wm_client_new_func): Fixed missing default return statement; substituted dbg macros for printf. (stack_get_window_list): Removed special casing of desktop client, which broke window restacking. * src/core/mb-wm-stack.c: (mb_wm_stack_dump): Added stack_layer to the dbg output. * src/managers/maemo/maemo-toolbar.c: (maemo_toolbar_init): Made fallback values for status bar geometry to match roughly the N800 theme. * src/managers/maemo/maemo-window-manager.c (maemo_window_manager_client_new_func): Fixed missing default return value; print window type for unhandled types for debugging. 2007-11-06 Tomas Frydrych * src/managers/maemo/maemo-toolbar.c: Fixed handling of geometry for maemo panels. 2007-11-05 Tomas Frydrych * src/client-types/Makefile.am: * src/client-types/mb-wm-client-menu.h: * src/client-types/mb-wm-client-menu.c: * src/core/mb-window-manager.c: * src/core/mb-wm-types.h: * src/managers/maemo/Makefile.am: * src/managers/maemo/maemo-window-manager.c: * src/managers/simple/Makefile.am: Added MBWMClientMenu. * src/core/mb-wm-stack.c: (mb_wm_stack_dump): Added client type to debug info. 2007-11-05 Tomas Frydrych * src/theme-engines/mb-wm-theme-simple.c: Rename left over MBWMXmlClr to MBWMColor. 2007-11-05 Tomas Frydrych * src/core/mb-wm-main-context.c: * src/core/mb-wm-main-context.h: (mb_wm_main_context_gloop_xevent): Added missing wm_sync() call. (mb_wm_main_context_init): (mb_wm_main_context_loop): Moved glib loop creation to the loop function to facilitate working with an external loop. 2007-11-05 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_activate_client): Added missing mb_wm_client_stack() call. * src/core/mb-wm-main-context.c: (mb_wm_main_context_handle_x_event): Fixed handling of client messages to root window so that messages in which XAny.window does not match the root window work. * src/core/mb-wm-root-window.c: (mb_wm_root_window_init_attributes): Added missing ClientMessage to event mask for root window. (mb_wm_root_window_init_attributes): _NET_ACTIVE_WINDOW ClientMessage: use XAny.window, not data.l[2] to get the window to activate. 2007-11-05 Tomas Frydrych * src/core/mb-wm-root-window.c: Fixed build. 2007-11-05 Tomas Frydrych * src/core/mb-wm-root-window.c: (mb_wm_root_window_handle_message): Fixed handling of _NET_ACTIVE_WINDOW client message. 2007-11-05 Tomas Frydrych * configure.ac: * src/core/mb-wm-main-context.c: * src/core/mb-wm-main-context.h: * src/core/mb-wm-types.h: * src/core/mb-wm-client.c: --enable-glib-main-loop: glib main loop support. * src/core/mb-wm-util.h: Fixed handling of inline keyword when using glib. * src/theme-engines/mb-wm-theme-cairo.h: * src/theme-engines/mb-wm-theme-simple.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: * src/core/mb-wm-client-base.c: * src/core/mb-wm-client-base.h: * src/core/mb-wm-client.h: * src/core/mb-wm-decor.c: Added missing prototypes and includes. * src/core/mb-window-manager.c: (mb_wm_handle_config_request): (mb_wm_handle_map_request): * src/core/mb-wm-object.c: (mb_wm_object_init_recurse: Fixed missing return value. 2007-11-02 Tomas Frydrych * src/comp-mgr/mb-wm-comp-mgr.c: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-types.h: * src/managers/maemo/maemo-window-manager.c: Provision for customized handling of modality. 2007-11-01 Tomas Frydrych * src/core/mb-wm-object-props.h: * src/core/mb-window-manager.c: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Added 'compositing' attribute to theme description. * src/core/mb-wm-root-window.c: (mb_wm_root_window_handle_message): Fixed toggling of compositing. * src/comp-mgr/mb-wm-comp-mgr.c: (mb_wm_comp_mgr_turn_off_real): Fixed destruction of root_buffer. 2007-11-01 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-root-window.c: * src/core/mb-wm-stack.c: * src/core/mb-wm-stack.h: * src/managers/maemo/matchbox-window-manager-2-maemo.c: * src/managers/simple/matchbox-window-manager-2-simple.c: (mb_wm_cycle_apps): Implemented application cycling in reverse direction. 2007-11-01 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_update_root_win_lists): Fixed MB_APP_WINDOW_LIST_STACKING 2007-11-01 Tomas Frydrych * src/client-types/mb-wm-client-panel.c: (mb_wm_client_panel_init): Work out panel attachment from initial window position. * src/core/mb-wm-types.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-root-window.c: Removed bogus _NET_SHOW_DESKTOP atom. 2007-11-01 Tomas Frydrych * configure.ac: * src/Makefile.am: * src/core/Makefile.am: * src/managers/maemo/Makefile.am: * src/managers/simple/Makefile.am: * src/comp-mgr/mb-wm-comp-mgr.c: * src/comp-mgr/mb-wm-comp-mgr.h: * src/core/mb-wm-types.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-main-context.c: * src/core/mb-wm-object-props.h: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-client-base.c: Added composite manager. * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-simple.c: * src/theme-engines/mb-wm-theme-xml.c: * src/theme-engines/mb-wm-theme-xml.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: * data/themes/Default/theme.xml: Added clr-shadow and clr-lowlight properties to theme. * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: Handling of initial _NET_WM_STATE property. * src/core/mb-wm-root-window.c: Handling of _MB_COMMAND ClientMessage. 2007-10-29 Tomas Frydrych * src/core/mb-wm-client-base.c: (mb_wm_client_base_realize): Removed incrementing of skip_unmap counter as that must only be done when managing a pre-exisitng window on the WM manager startup. * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: (mb_wm_client_iconize): (mb_wm_client_is_iconizing): (mb_wm_client_reset_iconizing): Added 'iconizing' flag to differentiate between external unmap events and unmaps genereated when the WM iconizes a window. * src/core/mb-wm-main-context.c: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: Removed unneeded iconized_clients list (iconized clients are readily available from the principal client list). (mb_wm_manage_preexistsing_wins): Increase skip_notify counter. (test_unmap_notify): Plugged in new client iconization api. * src/core/mb-wm-decor.c: (mb_wm_decor_button_stock_button_released): Plugged in new client iconization api. 2007-10-19 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-main-context.c: Changed handling of UnmapNotify: we now do not cache all unmapped windows, instead, if the UnmapNotify is for a window that is in iconized state, move the client into iconized clients list, otherwise destroy the client (and recreate it/when if it maps again). This significantly simplifies the handling of window transiency. * src/core/mb-wm-client-base.c: (mb_wm_client_base_destroy): Reparent the client window to root before destryoing the window frame. 2007-10-18 Tomas Frydrych * configure.ac: Added checks for Xfixes and XCursor. * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: (mb_wm_set_cursor): New function. 2007-10-18 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-wm-client.c: Fixed stacking issues triggered by unmapped transient windows. (mb_wm_sync): Update individual clients before calling XRestackWindows to ensure correct stack order. 2007-10-18 Tomas Frydrych * src/theme-engines/mb-wm-theme-simple.c: Fixed painting of button in active state. 2007-10-18 Tomas Frydrych * src/core/mb-wm-types.h: * src/core/mb-wm-main-context.c: * src/core/mb-wm-main-context.h: Added MotionNotify to callbacks. * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: Handle button on state on pointer entering/leaving the button area. * src/theme-engines/mb-wm-theme-png.c: (mb_wm_theme_png_paint_decor): Fixed dangling clipping region preventing end-packed buttons from getting repainted. 2007-10-17 Tomas Frydrych * src/core/mb-wm-decor.c: (mb_wm_decor_button_release_handler): Handle repaint correctly on ButtonRelase events outwith the button area. 2007-10-17 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: (mb_wm_process_cmdline): (mb_wm_init_xdpy): (mb_wm_init): Be smarter about opening display connection so that we can use it early in the initialization stage. * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme-simple.c: Handle button active state (needs more work to handle LeaveNotify situation). 2007-10-16 Tomas Frydrych * data/themes/README: Brief description of the theme.xml format. 2007-10-10 Tomas Frydrych * src/client-types/mb-wm-client-dialog.c: Removed dead code. * src/client-types/mb-wm-client-input.c: * src/client-types/mb-wm-client-input.h: Added mb_wm_client_input_realize () to override base. Implemented MBWindowManagerClient virtual detransitise(). Handling of transient_for in init function. * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: Added new virtual detransitise() to allow derrived classes to carry out any special processing when transient windows are unmanaged. (mb_wm_client_destroy): Deal with transiency. * src/core/mb-window-manager.c: (mb_wm_sync): (mb_wm_manage_client): (mb_wm_unmanage_client): Only redo layout when indicated by sync flags. * src/core/mb-wm-decor.c: (mb_wm_decor_button_press_handler): (mb_wm_decor_button_release_handler): Do not block events on decor buttons if transients are only input windows. * src/managers/maemo/Makefile.am: * src/managers/maemo/maemo-input.c: * src/managers/maemo/maemo-input.h: * src/managers/maemo/maemo-window-manager.c: Added maemo-input client. 2007-10-09 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_unfocus_client): Fixed danling pointer. 2007-10-09 Tomas Frydrych * src/core/mb-wm-client.h: * src/core/mb-wm-layout.c: Added LayoutPrefFixedX, LayoutPrefFixedY to allow for themes to specify client size (e.g., png theme may want to specify height of a horizontal panel to tie with size of other elements on screen). Added LayoutPrefOverlaps to indicate that client expects to overlap with other clients rather than lay exclusive claim to its allocated real-estate (e.g., maemo toolbar). * src/core/mb-wm-types.h: Changed MBGeom.width and MBGeom.height from unsigned to signed so that negative values can be used to indicate that value is not set when querying theme for client geometry. * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: (mb_wm_theme_get_client_geometry): Function to query if theme requests specific geometry values for particular client type. * src/theme-engines/mb-wm-theme-xml.c (mb_wm_xml_client_new): Initialized x, y, width and height values to -1. * configure.ac: * src/managers/Makefile.am: * src/managers/maemo/Makefile.am: * src/managers/maemo/maemo-toolbar.c: * src/managers/maemo/maemo-toolbar.h: * src/managers/maemo/maemo-window-manager.c: * src/managers/maemo/maemo-window-manager.h: * src/managers/maemo/matchbox-window-manager-2-maemo.c: Added maemo directory for maemo-specific WM. 2007-10-09 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_process_cmdline): Added -theme to the default commandline handler. 2007-10-08 Tomas Frydrych * src/core/mb-window-manager.c * src/core/mb-wm-stack.c: * src/core/mb-wm-stack.h: (mb_wm_stack_cycle_by_type): Return the highest client to simplify handling of stack changes. 2007-10-08 Tomas Frydrych * src/core/mb-window-manager.c: (mb_wm_cycle_apps): Call mb_wm_activate_client () so that root window props, etc., are correctly updated. * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-simple.c: Removed minimize and menu buttons from the decor creation fallback (these require external frameworks the presence of which cannot be assumed; WM implementation requiring these should specify so through the theme description). 2007-10-08 Tomas Frydrych * src/core/mb-wm-decor.c: Ignore button button events on main window buttons if transient children are present. 2007-10-08 Tomas Frydrych * src/core/mb-wm-decor.c: Fire stock button actions on button release, not press. 2007-10-04 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: Detransitise transitive clients when unmanaging to prevent stack corruption. * src/core/mb-wm-macros.h: Fixed MBWM_TRACE() definition. * src/core/mb-wm-stack.c: (mb_wm_stack_remove): Added sanity check. * src/theme-engines/mb-wm-theme-simple.c: (mb_wm_theme_simple_paint_decor): Fixed some uninitialized variables. 2007-10-04 Tomas Frydrych * configure.ac * src/theme-engines/mb-wm-theme-simple.c Basic X/Xft only theme engine implementation. * src/theme-engines/mb-wm-theme-png.c Fixed north decor text cliping rect. 2007-10-03 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-dialog.c: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: Added virtual theme_change() to MBWindowMangerClient so decors are correctly updated when theme changes. 2007-10-03 Tomas Frydrych * src/theme-engines/mb-wm-theme-png.c: (mb_wm_theme_png_paint_decor): Use PictOpOver instead of PictOpSrc. 2007-10-03 Tomas Frydrych * data/themes/PngSamle Added elementary Png-based theme. 2007-10-03 Tomas Frydrych * src/client-types/mb-wm-client-dialog.c: Hook into theme decoration api. * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: Added MBWindowManagerSignalThemeChange. * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: Added mb_wm_decor_set_theme_data(); Hooked into MBWindowManagerSignalThemeChange. * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-png.c: Fixed to decor drawing. 2007-10-03 Tomas Frydrych * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-png.c: Draw buttons directly on parent decor drawable. 2007-10-03 Tomas Frydrych * configure.ac: * src/core/mb-wm-client-base.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/core/mb-wm-object-props.h: * src/core/mb-wm-object.c: * src/theme-engines/Makefile.am: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme-png.h: * src/theme-engines/mb-wm-theme.c: Rudimentary decor drawing in png theme. 2007-10-02 Tomas Frydrych * data/themes/Default/theme.xml: * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-desktop.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-input.c: * src/client-types/mb-wm-client-panel.c: * src/core/mb-window-manager.c: * src/core/mb-wm-client-base.c: * src/core/mb-wm-client-base.h: * src/core/mb-wm-client-window.c: * src/core/mb-wm-client.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-layout.c: * src/core/mb-wm-main-context.c: * src/core/mb-wm-object-props.h: * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: * src/core/mb-wm-root-window.c: * src/theme-engines/Makefile.am * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme-simple.c: * src/theme-engines/mb-wm-theme-xml.c: * src/theme-engines/mb-wm-theme-xml.h: * src/theme-engines/mb-wm-theme.c: Added return value to object init functions to catch initialization failures. Improvements to xml parser; name space cleanup. 2007-10-01 Tomas Frydrych * data/themes/Default/theme.xml: * src/core/mb-wm-object-props.h: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-cairo.h: * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme-png.h: * src/theme-engines/mb-wm-theme-private.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: * src/theme-engines/Makefile.am: Refactored xml parser into MBWMTheme to minimize code duplication between engines. * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: Implemented absolute positioning of buttons alongside automatic packing (need for png-like themes). 2007-10-01 Tomas Frydrych * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/core/mb-wm-object-props.h: * src/theme-engines/mb-wm-theme-cairo.c: Removed MBWMDecor resize callback (handled by object itself). Removed MBWMDecor repaint callback (handled by theme). 2007-09-28 Tomas Frydrych * data/themes/Default/theme.xml: * src/core/mb-wm-decor.c: * src/core/mb-wm-types.h: * src/core/mb-wm-util.c: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-cairo.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Basic xml default theme. 2007-09-28 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-app.h: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Moved decor creation from ClientApp into theme. 2007-09-28 Tomas Frydrych * ChangeLog: * src/client-types/mb-wm-client-app.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Them API for decoration and button size; removed hard-wired values from ClientApp. 2007-09-27 Tomas Frydrych * Makefile.am: * configure.ac: * data/themes/Default/Makefile.am: * data/themes/Default/theme.xml: * src/core/mb-window-manager.c: * src/theme-engines/mb-wm-theme.c: Added data/themes and populated with Default theme from MBWM1. Added initial theme version and type parsing. Made mb_wm_theme API safe with NULL theme; allow WM to run without a theme. 2007-09-27 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-object-props.h: * src/core/mb-wm-root-window.c: * src/core/mb-wm-root-window.h: * src/core/mb-wm-types.h: * src/theme-engines/Makefile.am: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-simple.c: * src/theme-engines/mb-wm-theme-png.c: Handling of _MB_THEME root window property. 2007-09-27 Tomas Frydrych * configure.ac: * src/core/managers/Makefile.am: * src/core/managers/simple/Makefile.am: * src/core/managers/simple/matchbox-window-manager-2-simple: Moved the simple manager into a subdirectory 'simple'. * src/core/mb-wm-layout.c: (mb_wm_layout_real_update): Split function into smaller, more manageable, chunks. 2007-09-25 Tomas Frydrych * src/client-types/mb-wm-client-input.c: Changed default layout pref from LayoutPrefReserveEdgeSouth to LayoutPrefReserveSouth. * src/core/mb-wm-layout.c: Implemented LayoutPrefReserveNorth, LayoutPrefReserveSouth, LayoutPrefReserveWest, LayoutPrefReserveEast. * src/core/mb-window-manager.h * src/core/mb-window-manager.c: Fixed default client_new func for Input windows. Removed unneeded stack_top_app member from MBWindowManager object. * src/core/mb-wm-client-base.c: (mb_wm_client_base_display_sync): Fixed positioning of frameless windows. * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: Removed non-existent atom _NET_WM_WINDOW_TYPE_INPUT. 2007-09-25 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-main-context.c: * src/core/mb-wm-main-context.h: * src/core/mb-wm-types.h: Per-window x-event handler registration for more efficient filtering. 2007-09-25 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/managers/matchbox-window-manager-2-simple.c: Implemented desktop toggling and application cycling. 2007-09-25 Tomas Frydrych * src/core/mb-wm-client.c: (mb_wm_client_destroy): Removed unncessary call to mb_wm_display_sync_queue(). (mb_wm_client_get_coverage): If reporting geometry based on the client window, make sure that the frame geometry is initialized to the same values to avoid ending up with frame window 0x0. 2007-09-25 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-client.c: * src/core/mb-wm-main-context.c: * src/core/mb-wm-types.h: * src/managers/matchbox-window-manager-2-simple.c: Introduce global MBWMSyncType type to granualize mb_wm_sync() calls (primarily to avoid unnecessary recalculations of the stack). 2007-09-25 Tomas Frydrych * src/core/mb-wm-client-base.c: * src/core/mb-wm-client.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-main-context.c: * src/core/mb-window-manager.c: Numerous synchronization fixes. * src/core/mb-window-manager.c: (stack_get_window_list): (mb_wm_update_root_win_lists): Use alloca for temporary storage instead of malloc. * src/core/mb-wm-stack.c: Stripped trailing whitespace. 2007-09-24 Tomas Frydrych * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: (mb_wm_decor_destroy): Plugged leak. (mb_wm_decor_button_destroy): Unregister button callbacks. * src/core/mb-wm-util.c: * src/core/mb-wm-util.h: (mb_wm_util_list_prepend): Added. (mb_wm_util_list_length): Handle NULL. * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: (mb_wm_client_window_is_state_set): Added. * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: (mb_wm_handle_show_desktop): Implemented + removed unneeded show_desktop() virtual from MBWindowManager. (mb_wm_update_root_win_lists): Fixed out of bounds write. (mb_wm_unmanage_client): (mb_wm_managed_client_from_xwindow): (mb_wm_unmapped_client_from_xwindow): Move unmapped windows to an unmapped windows list; only destroy associated clients on DestroyNotify; this allows us to handle minimized windows more efficiently. 2007-09-24 Tomas Frydrych * src/core/mb-wm-client-base.c: * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: * src/core/mb-wm-client.c: Setting of WM_STATE and _NET_WM_STATE window props. 2007-09-24 Tomas Frydrych * src/core/mb-wm-types.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-root-window.c: _NET_WM_FULL_PLACEMENT. 2007-09-24 Tomas Frydrych * src/core/mb-wm-types.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-client-base.c: _NET_FRAME_EXTENTS. 2007-09-24 Tomas Frydrych * src/core/mb-wm-atoms.c: * src/core/mb-wm-root-window.c: * src/core/mb-wm-types.h: _NET_DESKTOP_VIEPORT. 2007-09-24 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-desktop.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-input.c: * src/client-types/mb-wm-client-panel.c: * src/core/mb-window-manager.c: * src/core/mb-wm-client-base.c: * src/core/mb-wm-client-window.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-layout.c: * src/core/mb-wm-main-context.c: * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: * src/core/mb-wm-root-window.c: * src/managers/matchbox-window-manager-2-simple.c: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme-simple.c: (mb_wm_object_dump): Dumps currently allocated objects + allocation stack trace for each of them; debug build only. 2007-09-21 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-client-base.c: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-root-window.c: * src/core/mb-wm-types.h: Handling of _NET_SHOWING_DESKTOP. 2007-09-21 Tomas Frydrych * src/client-types/mb-wm-client-panel.c: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-client-base.c: Rudimentary handling of focus. 2007-09-21 Tomas Frydrych * src/client-types/mb-wm-client-panel.h: Added convenience macro MB_WM_IS_CLIENT_PANEL(). * src/core/mb-window-manager.c: (mb_wm_get_desktop_geometry): (mb_wm_update_root_win_rectangles): Handling of _NET_WORKAREA and _NET_DESKTOP_GEOMETRY root win props. 2007-09-20 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-stack.h: * src/core/mb-wm-types.h: Setting of _NET_CLIENT_LIST, _NET_CLIENT_LIST_STACKING and _MB_APP_WINDOW_LIST_STACKING root window props. 2007-09-20 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-main-context.c: * src/core/mb-wm-root-window.c: * src/core/mb-wm-root-window.h: Implemented _NET_WM_PING protocol. 2007-09-20 Tomas Frydrych * src/core/mb-window-manager.c * src/core/mb-wm-decor.c * src/core/mb-wm-main-context.c * src/core/mb-wm-main-context.h * src/core/mb-wm-types.h * src/managers/matchbox-window-manager-2-simple.c: Removed unneeded MBWindowManager parameter from event callback functions; implemented timeouts and fd watches. 2007-09-19 Tomas Frydrych * src/core/Makefile.am: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-decor.c: * src/core/mb-wm-types.h: * src/core/mb-wm.h: Extracted main loop functionality from MBWindowManager object into MBWMMainContext object. Fixed xeven handlers installation and removal functions. 2007-09-19 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/managers/matchbox-window-manager-2-simple.c: (mb_wm_set_layout): Removed unnecessary sync parameter. 2007-09-19 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-input.c: * src/client-types/mb-wm-client-panel.c: Made static some functions that should have been. (mb_wm_client_input_request_geometry): Made geometry frameless. * src/client-types/Makefile.am: * src/managers/Makefile.am: * src/client-types/mb-wm-client-desktop.c: * src/client-types/mb-wm-client-desktop.h: Added MBWMClientDesktop skeleton. 2007-09-19 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-panel.c: * src/core/mb-wm-client.h: * src/core/mb-wm-stack.c: * src/core/mb-wm-stack.h: * src/core/mb-wm-types.h: Addded orable MBWMClientType id to MBWindowManagerClientClass to simplify processing of client stack. * src/managers/Makefile.am: * src/client-types/Makefile.am: * src/client-types/mb-wm-client-input.c: * src/client-types/mb-wm-client-input.h: Added object skeleton for MBWMClientInput. 2007-09-19 Tomas Frydrych * configure.ac: * src/core/mb-wm-types.h: * src/theme-engines/Makefile.am: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-simple.c: * src/theme-engines/mb-wm-theme-png.c: * src/theme-engines/mb-wm-theme-png.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme.h: Renambed --disable-cairo to --disable-theme-cairo, Added --enable-theme-png, Added object skeleton for MBWMThemePng. 2007-09-19 Tomas Frydrych * src/core/mb-wm-decor.c: (mb_wm_decor_button_stock_button_pressed): Handle Close button gracefully. 2007-09-18 Tomas Frydrych * src/core/mb-wm-layout.c: (mb_wm_layout_real_update): Clip windows of type LayoutPrefPositionFree as needed. 2007-09-18 Tomas Frydrych * src/core/mb-wm-client.c (mb_wm_client_on_property_change): Handle name and geometry changes. (mb_wm_client_init): Added initial sync with window props. * src/core/mb-window-manager.c: (mb_wm_handle_property_notify): Added a bunch of previously unhandled properties. * src/core/mb-wm-client-window.c: (mb_wm_client_window_sync_properties): Signal change in transiency. * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: Do not ignore return value from signal functions. 2007-09-18 Tomas Frydrych * TODO: Removed items already done. * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-layout.c: * src/core/mb-wm-layout.h: * src/core/mb-wm-types.h: * src/managers/matchbox-window-manager-2-simple.c: Objectified layout. 2007-09-18 Tomas Frydrych * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/theme-engines/mb-wm-theme-cairo.c: Added Help and Accept buttons handling. * src/core/mb-wm-types.h: * src/core/mb-wm-object-props.h: * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-app.h: Added virtual construct_buttons() to MBWindowClientAppClass. * src/core/mb-window-manager.c: Squashed compiler warning. 2007-09-18 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/core/mb-wm-client-base.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: Simplified fullscreen code. 2007-09-17 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/core/mb-wm-client-base.c: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: Implemented client fullscreening. 2007-09-17 Tomas Frydrych * src/client-types/mb-wm-client-app.c * src/core/mb-wm-client-base.c * src/core/mb-wm-client.c * src/core/mb-wm-client.h * src/core/mb-wm-decor.c * src/core/mb-wm-decor.h * src/theme-engines/mb-wm-theme-cairo.c Implemented client hiding; code toward fullscreen state. 2007-09-17 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/core/mb-wm-decor.c: Fixed refcount of MBDecorButton objects; hooked up min button handler to client api. 2007-09-17 Tomas Frydrych * src/client-types/mb-wm-client-app.c * src/client-types/mb-wm-client-app.h * src/core/mb-wm-decor.c * src/core/mb-wm-decor.h * src/core/mb-wm-object-props.h: * src/theme-engines/mb-wm-theme-cairo.c: Added support for decor button packing from start/end. Added minimize and menu buttons to theme. Handling of button events for stock buttons by MBWMDecorButton (to simplify design of derived client objects. Decor buttons owned (and destroyed) by MBWMDecor rather than client (to simplify design of derived client objects). Added simplified construction for stock decor buttons. 2007-09-14 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/core/mb-wm-object-props.h: * src/theme-engines/mb-wm-theme-cairo.c: Basic button paint method in cairo theme. 2007-09-14 Tomas Frydrych * src/core/mb-wm-macros.h: Added missing non-debug definition for MBWM_TRACE_MSG(). * src/client-types/mb-wm-client-app.c * src/core/mb-window-manager.c * src/core/mb-window-manager.h * src/core/mb-wm-client.c * src/core/mb-wm-decor.c * src/core/mb-wm-root-window.c * src/core/mb-wm-types.h * src/theme-engines/Makefile.am: * src/theme-engines/mb-wm-theme.h: * src/theme-engines/mb-wm-theme.c: * src/theme-engines/mb-wm-theme-cairo.h: * src/theme-engines/mb-wm-theme-cairo.c: * src/theme-engines/mb-wm-theme-simple.h: * src/theme-engines/mb-wm-theme-simple.c: Objectified themes; renamed theme-cairo.c and theme-simple.c to match naming conventions elsewhere in the tree. 2007-09-13 Tomas Frydrych * src/core/mb-wm-object-props.h: Fixed bug in MBWMO_PROP_EAT(). 2007-09-13 Tomas Frydrych * configure.ac: Pass -O0 to compiler when --enable-debug given. * src/core/Makefile.am: * src/core/mb-wm-object.h: * src/core/mb-wm-object-props.h: * src/core/mb-window-manager.c: * src/core/mb-wm-client-window.c: * src/core/mb-wm-client.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/core/mb-wm-root-window.c: * src/core/mb-wm-types.h: * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-panel.c: Switched construction property ids from strings to numerical ids to allow safe handling of uknown properties by parent classes (with the added benefit of avoiding large number of strcmp calls in object _init() methods). * src/managers/matchbox-window-manager-2-simple.c: Squashed warning. 2007-09-12 Tomas Frydrych * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/client-types/mb-wm-client-app.c: MBWMDecor, MBWMDecorButton: Renamed constructors from _create to _new for consistency with other objects; moved initialization from _new into _init functions. 2007-09-12 Tomas Frydrych * src/core/mb-wm-debug.c: * src/core/mb-wm-debug.h: * src/core/mb-wm-macros.h: Added obj-ref and obj-unref to debug info types; Added MBWM_TRACE_MSG() macro. * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: * src/managers/matchbox-window-manager-2-simple.c: Code to assist in debugging object memory management. * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-panel.c: * src/core/mb-wm-client-window.c: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: Moved object initialization from _new() into _init() functions; fixed destruction code. * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: Fixed object destructon, added -sn-client-id cmdline parameter. * src/core/mb-wm-root-window.c: * src/core/mb-wm-decor.c: Fixed object destruction. 2007-09-11 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: Statically allocated event_funcs struct in MBWindowManger object. (client_activate): (client_responding): (client_hang): (show_desktop): New class virtuals for subclasses to hook into if needed. (mb_wm_handle_ping_reply): (mb_wm_handle_hang_client): (mb_wm_handle_show_desktop): New function (for x message handling). * src/core/mb-wm-client-window.h: MBWMClientWindowStateChange enum for _NET_WM_STATE_xxx message values. * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: (mb_wm_handle_show_desktop): (mb_wm_client_set_state): * src/core/mb-wm-root-window.c: (mb_wm_root_window_handle_message): Fixed up previously disable parts. 2007-09-11 Tomas Frydrych * src/core/mb-window-manager.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-root-window.c: Implementation of mb_wm_client_deliver_delete() method. 2007-09-11 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/managers/matchbox-window-manager-2-simple.c: Moved remaning initialization of MBWindowManager object from simple manager to the object init function. 2007-09-11 Tomas Frydrych * configure.ac: * src/core/Makefile.am: * src/managers/Makefile.am Added --enable-debug. * src/managers/matchbox-window-manager-2-simple.c: Pass cmd line args to MBWindowManager object. * src/core/mb-wm-client.c: (mb_wm_client_init): Fixed signature. * src/core/mb-wm-debug.c: * src/core/mb-wm-debug.h: * src/core/mb-wm-macros.h: * src/core/mb-wm-object.c: Added MBWM_TRACE() macro and trace option for MB_DEBUG. 2007-09-10 Tomas Frydrych * src/core/mb-wm-props.c: Fixed uninitialized variable. * src/core/mb-wm-object.h: * src/core/mb-wm-object.c: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-client-base.c: * src/core/mb-wm-client-base.h: * src/core/mb-wm-decor.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-panel.c: * src/core/mb-wm-root-window.c: * src/core/mb-wm-client-window.c: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: Added MB_WM_OBJECT_GET_CLASS() and MB_WM_OBJECT_PARENT_CLASS() macros. Reorganized class initialization and destruction. (mb_wm_object_new) Made variadic to allow chaining of class init methods. * src/core/mb-window-manager.c: * src/managers/matchbox-window-manager-2-simple.c: Put back mb_wm_new() but with parameters. Added virtual function process_cmdline() so subclasses can do their own cmdline processing. Moved client_new function from object to class. * src/core/mb-wm-types.h: Removed unneed definitions. 2007-09-07 Tomas Frydrych * src/core/mb-wm-object.c: (mb_wm_object_class_init_recurse): Fixed initialization so that parents are initalized before childred. (mb_wm_object_register_class): Must call class_init() method if it exists otherwise the derived classes cannot get at parent implementations of their virtual methods. * src/client-types/mb-wm-client-app.h: Added MB_WM_IS_CLIENT_APP() macro. * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-dialog.h: MB_WM_IS_CLIENT_DIALOG(c) macro. Implemented virtual show() method. * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: Skeletons for mb_wm_activate_client() and mb_wm_get_visible_main_client(). * src/theme-engines/mb-wm-theme.h: * src/theme-engines/theme-cairo.c: * src/theme-engines/theme-simple.c: Added mb_wm_theme_supports() function. * src/core/mb-wm-root-window.c: (mb_wm_root_window_init_properties): Added theme-dependent capabilities. Skeleton for mb_wm_root_window_handle_message(). * src/core/mb-wm.h 2007-09-07 Tomas Frydrych * src/client-types/mb-wm-client-dialog.c: * src/managers/matchbox-window-manager-2-simple.c: * src/core/mb-window-manager.c: * src/core/mb-window-manager.h: * src/core/mb-wm-client-base.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-keys.c: * src/core/mb-wm-root-window.c: * src/core/mb-wm-root-window.h: Plugged MBWMRootWindow into MBWindowManger. Made MBWindowManager into a singleton. 2007-09-06 Tomas Frydrych * src/core/mb-window-manager.c: * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: (mb_wm_client_window_sync_properties): Removed unnecessary MBWindowManager parameter. * src/core/mb-wm-root-window.c: * src/core/mb-wm-root-window.h: Made into a singleton; Removed unneeded mb_wm_root_window_sync_properties; Initial implementation of mb_wm_root_window_init_properties(). * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: Added CM_TRANSLUCENCY atom. 2007-09-06 Tomas Frydrych * src/core/mb-wm.h: * src/core/mb-wm-types.h: * src/core/mb-wm-core.c: * src/core/mb-wm-core.h: * src/core/mb-window-manager.c: * src/core/mb-window-namager.h: * src/core/mb-wm-client.c: * src/client-types/mb-wm-client-app.c * src/client-types/mb-wm-client-dialog.c * src/client-types/mb-wm-client-panel.c * src/core/Makefile.am: * configure.ac: Objectified MBWindowManager and moved all relevant code to mb-window-manager.h/c (removed empty mb-wm-core.h/c); unified function naming to use mb_wm_ prefix. * src/core/mb-wm-client-base.h: Stripped trailing whitespace. * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: Added licence; made non-public functions static; added MBWindowManger to MBWMClientWindow struct. * src/core/mb-wm-root-window.c: * src/core/mb-wm-root-window.h: Skeleton for MBWMRootWindow object. * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: (mb_wm_object_ref): Modified to return void* instead of MBWMObject* to avoid endless casting. 2007-09-06 Tomas Frydrych * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: * src/core/mb-wm-client.c: * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: * src/core/mb-wm-types.h: (mb_wm_object_signal_connect): (mb_wm_object_signal_disconnect): (mb_wm_object_signal_emit): Moved signal handling into MBWMObject. 2007-09-05 Tomas Frydrych * src/core/mb-wm-types.h: * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: (mb_wm_client_prop_handler_add): Return numerical id for the handler to aid removal. (mb_wm_client_prop_handler_remove): Implemented. (mb_wm_client_window_emit_prop_changes): Cleaned up some casts. * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: (mb_wm_object_ref): Return object pointer for convenience of use; handle NULL gracefully. (mb_wm_object_ref): Handle NULL gracefully. 2007-09-05 Tomas Frydrych * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: * src/core/mb-wm-client.c: * src/core/mb-wm-core.c: * src/core/mb-wm-types.h: Objectified MBWMClientWindow. 2007-09-05 Tomas Frydrych * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-app.h: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-dialog.h: * src/client-types/mb-wm-client-panel.c: * src/client-types/mb-wm-client-panel.h: * src/core/Makefile.am: * src/core/mb-wm-client-window.c: * src/core/mb-wm-client-window.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-core.c: * src/core/mb-wm-object.h: * src/core/mb-wm-props.c: * src/core/mb-wm-props.h: * src/core/mb-wm-types.h: * src/core/mb-wm.h: * src/managers/matchbox-window-manager-2-simple.c: Namespace cleanup: renamed MBWMWindow to MBWMClientWindow; moved mb-wm-window.h/c accordingly; stripped trailing whitespace. 2007-09-04 Matthew Allum * TODO: * src/core/mb-wm-client.c: * src/core/mb-wm-core.c: * src/core/mb-wm-types.h: * src/core/mb-wm-window.c: * src/core/mb-wm-window.h: Remove ALLOWED_ACTIONS. Add basic callback infrastructure for window prop changes. 2007-09-04 Tomas Frydrych * src/core/mb-wm-types.h: * src/core/mb-wm-atoms.c: * src/core/mb-wm-window.c: * src/core/mb-wm-window.h: (mb_wm_window_sync_properties): Handling of _NET_WM_USER_TIME property. 2007-09-04 Matthew Allum * TODO: Added with current feature list to implement. 2007-09-04 Tomas Frydrych * src/core/mb-wm-window.c: * src/core/mb-wm-window.h: (mb_wm_window_sync_properties): Handling of _NET_WM_ALLOWED_ACTIONS property. 2007-09-04 Tomas Frydrych * src/core/mb-wm-types.h: * src/core/mb-wm-util.c: * src/core/mb-wm-util.h: Added MBWMRgbaIcon type; stripped trailing whitespace. * src/core/mb-wm-window.c: * src/core/mb-wm-window.h: (mb_wm_window_sync_properties): Handling of _NET_WM_ICON property; stripped trailing whitespace. 2007-09-04 Tomas Frydrych * src/core/mb-wm-object.c: (mb_wm_object_register_class): Reallocate object storage space as needed. Stripped trailing whitespace. 2007-09-03 Tomas Frydrych * src/core/mb-wm-client.c: (mb_wm_client_destroy): Free client window. * src/core/mb-wm-core.c: (mb_wm_core_handle_map_request): (mb_wm_manage_preexistsing_wins): Free client window. * src/core/mb-wm-window.c: * src/core/mb-wm-window.h: (mb_wm_window_sync_properties): Handling of _NET_WM_PID and WM_CLIENT_MACHINE properties. (mb_wm_client_window_free): Added. 2007-09-03 Matthew Allum * src/core/mb-wm-core.c: (mb_wm_core_manage_client), (mb_wm_core_unmanage_client): Add missing refs * src/core/mb-wm-object.h: Add some object types. * src/core/mb-wm-stack.c: (mb_wm_stack_dump): More debug info. 2007-09-03 Tomas Frydrych * src/core/mb-wm-atoms.c: * src/core/mb-wm-types.h: * src/core/mb-wm-window.c: * src/core/mb-wm-window.h: (mb_wm_window_sync_properties): Handling of WM_PROTOCOLS property. 2007-08-23 Matthew Allum * README: Update with plans/design 2006-11-23 Matthew Allum * src/client-types/mb-wm-client-dialog.c: * src/core/Makefile.am: * src/core/mb-wm-core.c: * src/core/mb-wm-debug.c: * src/core/mb-wm-debug.h: * src/core/mb-wm-macros.h: * src/core/mb-wm-util.c: * src/core/mb-wm.h: New debug messaging code + macros. 2006-11-20 Matthew Allum * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-dialog.h: * src/client-types/mb-wm-client-panel.c: * src/core/mb-wm-client-base.c: (mb_wm_client_base_class_type), * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-core.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-object.h: * src/core/mb-wm-stack.c: * src/core/mb-wm-stack.h: * src/core/mb-wm-types.h: * src/core/mb-wm-util.c: * src/core/mb-wm-util.h: * src/core/mb-wm-window.h: * src/managers/matchbox-window-manager-2-simple.c: Redo stacking mechanism. Various other tweaks all over. 2006-07-20 Matthew Allum * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-panel.c: * src/core/mb-wm-client-base.c: * src/core/mb-wm-client-base.h: * src/core/mb-wm-client.c: * src/core/mb-wm-decor.c: * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: Improve simple object system as to initiate parent classes on derived classes/objects. 2006-03-24 Matthew Allum * src/client-types/mb-wm-client-dialog.c: (mb_wm_client_dialog_class_init), (mb_wm_client_dialog_request_geometry), (mb_wm_client_dialog_new): * src/core/mb-wm-client-base.c: (mb_wm_client_base_realize), (mb_wm_client_base_display_sync), (mb_wm_client_base_destroy): * src/core/mb-wm-client.c: (mb_wm_client_get_transients): * src/core/mb-wm-client.h: * src/core/mb-wm-layout.c: (mb_wm_layout_manager_update): Dialog window support improved a tiny bit. 2006-03-24 Matthew Allum * src/client-types/Makefile.am: * src/client-types/mb-wm-client-dialog.c: * src/client-types/mb-wm-client-dialog.h: * src/core/mb-wm-client-base.c: (mb_wm_client_base_stack), (mb_wm_client_base_display_sync): * src/core/mb-wm-client.c: (mb_wm_client_add_transient), (mb_wm_client_remove_transient): * src/core/mb-wm-core.c: (stack_get_window_list), (mb_wm_core_manage_client): * src/core/mb-wm-layout.c: (mb_wm_layout_manager_update): * src/managers/Makefile.am: * src/managers/matchbox-window-manager-2-simple.c: (client_new): Add ( broken ) dialog window support. 2006-03-16 Matthew Allum * src/core/mb-wm-core.c: (test_key_press), (test_destroy_notify), (mb_wm_core_handle_property_notify), (mb_wm_core_handle_config_request), (mb_wm_core_handle_map_request), (mb_wm_core_managed_client_from_xwindow), (mb_wm_main_loop), (mb_wm_x_event_handler_remove), (mb_wm_fd_watch_add), (mb_wm_fd_watch_remove), (mb_wm_handle_x_event), (mb_wm_init): * src/core/mb-wm-core.h: * src/core/mb-wm-types.h: Further rework on X event handlers * src/core/mb-wm-decor.c: (mb_wm_decor_sync_window), (mb_wm_decor_button_realize), (mb_wm_decor_button_sync_window), (mb_wm_decor_button_show), (mb_wm_decor_button_hide), (mb_wm_decor_button_move_to), (button_press_handler), (button_release_handler), (mb_wm_decor_button_create): * src/core/mb-wm-decor.h: Improve button handling. * src/managers/matchbox-window-manager-2-simple.c: (main): * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_request_geometry), (decor_resize), (decor_repaint): * src/client-types/mb-wm-client-app.h: Add a simple close button to main apps. * src/core/mb-wm-util.c: Comment out X erro trap debug statements 2006-03-15 Matthew Allum * src/core/mb-wm-core.c: (mb_wm_run), (mb_wm_remove_x_event_handler), (mb_wm_add_timeout_handler), (mb_wm_handle_x_event), (mb_wm_init): * src/core/mb-wm-types.h: Rework X event handlers adding stacking capabilities. 2006-03-14 Matthew Allum * src/core/mb-wm-core.c: (test_destroy_notify), (mb_wm_core_handle_config_request), (stack_sync_to_display), (mb_wm_core_sync), (mb_wm_core_unmanage_client), (mb_wm_core_managed_client_from_xwindow), (mb_wm_run), (mb_wm_manage_preexistsing_wins), (mb_wm_register_client_type), (mb_wm_new), (mb_wm_add_x_event_handler), (mb_wm_remove_x_event_handler), (mb_wm_add_timeout_handler), (mb_wm_handle_x_event), (mb_wm_init): Begin reworking Eventing. * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_request_geometry): * src/core/mb-wm-client-base.c: (mb_wm_client_base_realize), (mb_wm_client_base_display_sync): * src/core/mb-wm-client-base.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-decor.c: (mb_wm_decor_sync_window), (mb_wm_decor_reparent), (mb_wm_decor_calc_geometry), (mb_wm_decor_handle_map), (mb_wm_decor_handle_repaint), (mb_wm_decor_handle_resize), (mb_wm_decor_create), (mb_wm_decor_get_x_window), (mb_wm_decor_get_type), (mb_wm_decor_get_geometry), (mb_wm_decor_mark_dirty), (mb_wm_decor_attach), (mb_wm_decor_detach): * src/core/mb-wm-decor.h: * src/core/mb-wm-stack.c: (mb_wm_stack_insert_above_client): * src/core/mb-wm-types.h: * src/core/mb-wm-window.c: (mb_wm_client_window_new): * src/theme-engines/theme-cairo.c: (mb_wm_theme_paint_decor): 2006-03-01 Matthew Allum * src/client-types/Makefile.am: * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_request_geometry), (decor_resize), (decor_repaint): * src/client-types/mb-wm-client-app.h: * src/client-types/mb-wm-client-panel.c: (mb_wm_client_panel_class_type), (mb_wm_client_panel_realize), (mb_wm_client_panel_request_geometry): * src/client-types/mb-wm-client-panel.h: * src/core/Makefile.am: * src/core/mb-wm-client-base.c: (mb_wm_client_base_class_type), (mb_wm_client_base_init), (mb_wm_client_base_realize), (mb_wm_client_base_stack), (mb_wm_client_base_show), (mb_wm_client_base_hide), (mb_wm_client_base_display_sync), (mb_wm_client_base_destroy), (mb_wm_client_base_request_geometry): * src/core/mb-wm-client-base.h: * src/core/mb-wm-client.c: (mb_wm_client_stacking_mark_dirty), (mb_wm_client_geometry_mark_dirty), (mb_wm_client_visibility_mark_dirty), (mb_wm_client_decor_mark_dirty), (mb_wm_client_new), (mb_wm_client_init), (mb_wm_client_realize), (mb_wm_client_is_realized), (mb_wm_client_stack), (mb_wm_client_needs_stack_sync), (mb_wm_client_show), (mb_wm_client_hide), (mb_wm_client_needs_visibility_sync), (mb_wm_client_needs_geometry_sync), (mb_wm_client_needs_decor_sync), (mb_wm_client_needs_sync), (mb_wm_client_is_mapped), (mb_wm_client_display_sync), (mb_wm_client_request_geometry): * src/core/mb-wm-client.h: * src/core/mb-wm-core.c: (test_destroy_notify), (mb_wm_core_managed_client_from_xwindow), (mb_wm_run), (mb_wm_init): * src/core/mb-wm-decor.c: (mb_wm_decor_ref): * src/core/mb-wm-decor.h: * src/core/mb-wm-object.c: * src/core/mb-wm-object.h: * src/core/mb-wm-props.c: (mb_wm_props_send_x_message): * src/core/mb-wm-stack.c: (mb_wm_stack_get_highest_by_type), (mb_wm_stack_get_lowest_by_type): * src/core/mb-wm-types.h: * src/core/mb-wm-util.h: * src/core/mb-wm.h: * src/managers/matchbox-window-manager-2-simple.c: (key_binding_func), (main): Implement beginnings of new object system. 2006-02-11 Matthew Allum * configure.ac: * src/Makefile.am: * src/client-types/Makefile.am: * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_request_geometry), (decor_repaint): * src/core/mb-wm-atoms.c: (mb_wm_atoms_init): * src/core/mb-wm-client-base.c: (mb_wm_client_base_realize), (mb_wm_client_base_display_sync): * src/core/mb-wm-client.c: (mb_wm_client_get_coverage): * src/core/mb-wm-client.h: * src/core/mb-wm-core.c: (mb_wm_core_handle_config_request), (mb_wm_core_sync), (mb_wm_core_manage_client), (mb_wm_run), (mb_wm_get_display_geometry), (mb_wm_display_sync_queue), (mb_wm_new), (mb_wm_init): * src/core/mb-wm-core.h: * src/core/mb-wm-decor.c: (mb_wm_decor_sync_window), (mb_wm_decor_calc_geometry), (mb_wm_decor_get_type), (mb_wm_decor_unref), (mb_wm_decor_ref): * src/core/mb-wm-decor.h: * src/core/mb-wm-layout.c: (mb_wm_layout_manager_update): * src/managers/Makefile.am: * src/managers/matchbox-window-manager-2-simple.c: (main): * src/theme-engines/Makefile.am: * src/theme-engines/mb-wm-theme.h: * src/theme-engines/theme-cairo.c: * src/theme-engines/theme-simple.c: Add beginning of theme code with initial optional cairo and GTK support. Now paints frames. Manage pre-existing windows on start up. Various tweaks here and there. 2006-01-31 Matthew Allum * src/client-types/mb-wm-client-app.c: (mb_wm_client_app_get_type), (mb_wm_client_app_request_geometry), (decor_resize), (decor_repaint), (mb_wm_client_app_new): * src/core/Makefile.am: * src/core/mb-wm-client-base.c: (mb_wm_client_base_realize), (mb_wm_client_base_display_sync), (mb_wm_client_base_destroy), (mb_wm_client_base_request_geometry): * src/core/mb-wm-client.h: * src/core/mb-wm-core.c: (test_destroy_notify), (mb_wm_core_handle_map_request), (stack_get_window_list), (stack_sync_to_display), (mb_wm_core_sync), (mb_wm_core_manage_client), (mb_wm_run), (mb_wm_init): * src/core/mb-wm-decor.c: (mb_wm_decor_sync_window), (mb_wm_decor_reparent), (mb_wm_decor_calc_geometry), (mb_wm_decor_handle_map), (mb_wm_decor_handle_repaint), (mb_wm_decor_handle_resize), (mb_wm_decor_create), (mb_wm_decor_get_x_window), (mb_wm_decor_get_type), (mb_wm_decor_get_geometry), (mb_wm_decor_mark_dirty): * src/core/mb-wm-decor.h: * src/core/mb-wm-types.h: * src/core/mb-wm-util.c: (mb_wm_util_malloc0): * src/core/mb-wm-util.h: * src/core/mb-wm-window.c: (mb_wm_client_window_new): * src/core/mb-wm.h: Redo decor handling. Simplify syncing queue a little more. Various up minor cleanups and tweaks. 2006-01-25 Matthew Allum * src/core/Makefile.am: * src/core/mb-wm-client-base.c: (mb_wm_client_base_display_sync): * src/core/mb-wm-client.c: (mb_wm_client_visibility_mark_dirty), (mb_wm_client_needs_visibility_sync), (mb_wm_client_needs_geometry_sync): * src/core/mb-wm-client.h: * src/core/mb-wm-core.c: * src/core/mb-wm-decor.c: (mb_wm_decor_create), (mb_wm_decor_get_x_window), (mb_wm_decor_mark_dirty), (mb_wm_decor_attach), (mb_wm_decor_detach), (mb_wm_decor_unref), (mb_wm_decor_ref), (mb_wm_decor_button_create): * src/core/mb-wm-decor.h: * src/core/mb-wm.h: Add some initial infrastructure for window decorations 2006-01-15 Matthew Allum * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-app.h: * src/client-types/mb-wm-client-panel.c: (mb_wm_client_panel_new): * src/client-types/mb-wm-client-panel.h: * src/core/mb-wm-client-base.c: (mb_wm_client_base_init), (mb_wm_client_base_realize), (mb_wm_client_base_stack), (mb_wm_client_base_show), (mb_wm_client_base_hide), (mb_wm_client_base_display_sync), (mb_wm_client_base_destroy): * src/core/mb-wm-client-base.h: * src/core/mb-wm-client.c: (mb_wm_client_needs_stack_sync), (mb_wm_client_hide): * src/core/mb-wm-client.h: * src/core/mb-wm-core.c: (test_destroy_notify), (mb_wm_core_handle_map_request), (stack_get_window_list), (mb_wm_core_sync), (mb_wm_core_manage_client), (mb_wm_core_unmanage_client), (mb_wm_run), (mb_wm_get_display_geometry), (mb_wm_display_sync_queue), (mb_wm_init): * src/core/mb-wm-core.h: * src/core/mb-wm-keys.c: (mb_wm_keys_press): * src/core/mb-wm-stack.c: (mb_wm_stack_insert_above_client), (mb_wm_stack_prepend_bottom): * src/core/mb-wm-stack.h: * src/core/mb-wm-types.h: * src/core/mb-wm-util.c: (mb_wm_util_warn), (mb_wm_util_list_length), (mb_wm_util_list_get_last), (mb_wm_util_list_get_first), (mb_wm_util_list_get_nth_data), (mb_wm_util_list_append): * src/core/mb-wm-util.h: * src/core/mb-wm-window.c: (mb_wm_window_sync_properties): * src/core/mb-wm.h: * src/managers/matchbox-window-manager-2-simple.c: (key_binding_func), (main): Various minor tweaks. 2005-11-17 Matthew Allum * configure.ac: * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-app.h: * src/client-types/mb-wm-client-panel.c: (mb_wm_client_panel_new): * src/client-types/mb-wm-client-panel.h: * src/core/mb-wm-client.h: Make things build again. * src/managers/matchbox-window-manager-2-simple.c: (client_new): * src/matchbox-window-manager-2.c: Move and rename. 2005-11-17 Matthew Allum * configure.ac: * src/Makefile.am: * src/client-types/Makefile.am: * src/client-types/mb-wm-client-app.c: * src/client-types/mb-wm-client-app.h: * src/client-types/mb-wm-client-panel.c: * src/client-types/mb-wm-client-panel.h: * src/core/Makefile.am: * src/core/mb-wm-atoms.c: (mb_wm_atoms_init): * src/core/mb-wm-client-base.c: * src/core/mb-wm-client-base.h: * src/core/mb-wm-client.c: * src/core/mb-wm-client.h: * src/core/mb-wm-decor.c: * src/core/mb-wm-decor.h: * src/core/mb-wm-props.c: (mb_wm_xwin_get_geometry_reply): * src/core/mb-wm-props.h: * src/core/mb-wm-types.h: * src/core/mb-wm-window.h: * src/core/mb-wm.h: * src/managers/Makefile.am: * src/matchbox-window-manager-2.c: More refactoring. Add initial decoration framework code 2005-11-11 Matthew Allum reviewed by: * src/core/mb-wm-atoms.c: (mb_wm_atoms_init): * src/core/mb-wm-props.c: (mb_wm_property_reply): * src/core/mb-wm-props.h: * src/core/mb-wm-types.h: * src/core/mb-wm-window.c: (mb_wm_window_sync_properties): * src/core/mb-wm-window.h: 2005-11-10 Matthew Allum reviewed by: * src/core/mb-wm-atoms.c: (mb_wm_atoms_init): * src/core/mb-wm-props.c: (mb_wm_property_reply): * src/core/mb-wm-props.h: * src/core/mb-wm-types.h: * src/core/mb-wm-window.c: (mb_wm_window_sync_properties): * src/core/mb-wm-window.h: 2005-11-08 Matthew Allum * Makefile: * Makefile.am: * autogen.sh: * configure.ac: * matchbox-window-manager-2.c: * mb-wm-atoms.c: * mb-wm-atoms.h: * mb-wm-client.c: * mb-wm-client.h: * mb-wm-core.c: * mb-wm-core.h: * mb-wm-keys.c: * mb-wm-keys.h: * mb-wm-layout.c: * mb-wm-layout.h: * mb-wm-props.c: * mb-wm-props.h: * mb-wm-stack.c: * mb-wm-stack.h: * mb-wm-types.h: * mb-wm-util.c: * mb-wm-util.h: * mb-wm.h: * src/Makefile.am: * src/core/Makefile.am: * src/core/mb-wm-client.c: (mb_wm_client_window_new), (mb_wm_client_new), (mb_wm_client_base_init): * src/core/mb-wm-client.h: * src/core/mb-wm-core.c: (test_map_request), (mb_wm_run): * src/core/mb-wm-types.h: * src/core/mb-wm-window.c: * src/core/mb-wm-window.h: * src/core/mb-wm.h: * src/matchbox-window-manager-2.c: (test_panel_client_request_geometry), (test_client_new): * xas.c: * xas.h: Autofooify. Split Window 'wrapper' code into its own file and rejig a little. 2005-11-06 Matthew Allum * Makefile: * matchbox-window-manager-2.c: (client_new), (main): * mb-wm-client.c: (mb_wm_client_set_layout_hints): * mb-wm-client.h: * mb-wm-core.c: (mb_wm_run), (mb_wm_init): * mb-wm-keys.c: * mb-wm-keys.h: * mb-wm-types.h: * mb-wm-util.c: (mb_wm_util_malloc0), (mb_wm_util_list_get_nth_data), (mb_wm_util_list_append): * mb-wm-util.h: * mb-wm.h: Add initial key bindings support. Various other minor tweaks. 2005-11-04 Matthew Allum * Makefile: * matchbox-window-manager-2.c: (test_panel_client_request_geometry), (test_panel_client_new), (test_client_new), (client_new), (main): * mb-wm-client.c: (mb_wm_client_window_new), (mb_wm_client_base_init), (mb_wm_client_init), (mb_wm_client_is_realized), (mb_wm_client_base_realize), (mb_wm_client_needs_sync), (mb_wm_client_is_mapped), (mb_wm_client_base_display_sync), (mb_wm_client_display_sync), (mb_wm_client_destroy), (mb_wm_client_base_destroy), (mb_wm_client_base_request_geometry), (mb_wm_client_request_geometry): * mb-wm-client.h: * mb-wm-core.c: (mb_wm_init): * mb-wm-layout-manager.c: * mb-wm-layout-manager.h: * mb-wm-layout.c: (maximise_geometry), (mb_wm_layout_manager_get_edge_offset), (mb_wm_layout_manager_update): * mb-wm-util.c: (mb_wm_util_trap_x_errors), (mb_wm_util_malloc0): * mb-wm-util.h: * mb-wm.h: * xas.c: (xas_async_handler): Fix up layout manager and add some layout support for panels.