2007-10-19 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-19 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.