aboutsummaryrefslogtreecommitdiffstats
path: root/matchbox/mb-wm-manager.c
AgeCommit message (Collapse)Author
2010-12-09Switch to mb-window-type-xyz.[ch] naming conventionRobert Bragg
As part of an ongoing effort to remove the overloading of the term "client" in the API this switches the window-type classes to use a mb-wm-window-type-xyx.[ch] filename scheme and a MBWMWindowTypeXyz symbol name scheme instead of mb-wm-client-xyz.[ch] and MBWMClientXyz.
2010-12-09theme: don't determine use of compositing in themeRobert Bragg
This removes the option of overriding the use of compositing in a theme.
2010-12-09fix: switch to g_list to avoid using free()Robert Bragg
This fixes some crashes due to lists now being based on the glib slice allocated but the previous matchbox list API just used malloc/free. There were some places in matchbox where we were using free() to free links of a list, but now we need to use g_list_free_1.
2010-12-09Overhaul our mainloop integrationRobert Bragg
This removes mb-wm-main-context.c since we now just use a glib mainloop context instead. The new mainloop integration API allows matchbox to be fed X events from an external toolkit so core matchbox no longer needs to have any gtk specific event source integration code, since it should be straightforward for a gtk based wm/compositor to decide to take ownership of event fetching and pass those events through to matchbox manually if they want. In the process of removing references to the mb-wm-main-context API it was necessary to refactor how we handle mouse grabs for moving and resizing windows. Previously we would do an X grab and then then immediately enter a tight loop, polling for X mouse events and handling them until something triggers an ungrab and then resume fetching events in the normal way. Now though when we do the mouse grab we just use mb_wm_manager_add_event_handler to register a temporary interest in mouse events and mb_wm_manager_remove_event_handler when the grab is finished. This means we can continue to use the normal event delivery mechanism during a grab and more importantly we don't block the mainloop which would really upset window managers and compositors needing to process other asynchronous events during a grab.
2010-12-09rename mb-window-manager -> mb-wm-managerRobert Bragg
So the naming of MBWindowManager is consistent with other matchbox objects the new name is MBWMManager. The API has also been modified so that method functions aren't simply using the mb_wm_method_name scheme they new use a mb_wm_manager_method_name scheme. Some of the property setters were missing an explicit "set" in the name which has been added, and in anticipation that we will start to replace the use of "client" with "window" some of methods corresponding to windows have been renamed ahead of time.