Age | Commit message (Collapse) | Author |
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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).
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* src/managers/maemo/maemo-toolbar.c:
(maemo_toolbar_stack):
Always stack maemo status bar immediately above top level
application.
|
|
* 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.
|
|
* 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.
|
|
* doc/MBWM2-Overview.xml:
Brief overview of the MBWM2 framework.
|
|
* 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.
|
|
* src/core/mb-window-manager.c:
(mb_wm_compositing_on):
Don't segfault if creation of compositing manager fails.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* src/client-types/mb-wm-client-menu.c:
(mb_wm_client_menu_init):
Changed stacking so that menus always stack on the top.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* src/managers/maemo/maemo-toolbar.c:
Fixed handling of geometry for maemo panels.
|
|
* 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.
|
|
* src/theme-engines/mb-wm-theme-simple.c:
Rename left over MBWMXmlClr to MBWMColor.
|
|
* 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.
|
|
* 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.
|
|
* src/core/mb-wm-root-window.c:
Fixed build.
|
|
* src/core/mb-wm-root-window.c:
(mb_wm_root_window_handle_message):
Fixed handling of _NET_ACTIVE_WINDOW client message.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* src/core/mb-window-manager.c:
(mb_wm_update_root_win_lists):
Fixed MB_APP_WINDOW_LIST_STACKING
|
|
* 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.
|
|
* 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.
|
|
* 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.
|
|
* 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.
|