aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2011-07-11makefile: Fix tabs vs space issueHEADmasterZhai, Edwin
Fix following build error: | Makefile:734: *** missing separator (did you mean TAB instead of 8 spaces?). Stop. | ERROR: oe_runmake failed Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2010-12-09theme: Don't _Stop the parser for "</theme>" tagsRobert Bragg
In xml_element_end_cb we were calling XML_StopParser when finding a </theme> tag, but the semantics of that are the XML_Parse will return an abort error which then results in us reporting a parse error. Instead of explicitly trying to stop the parser we simply ignore the </theme> tags and assume we will get an error from expat if the tag is unbalanced.
2010-12-09theme: fix manual list manipulationRobert Bragg
This is fallout from converting from the custom list implementation to GList. In xml_stack_pop we were using free() instead of g_list_free_1 to free a list node but also we were leaving the prev member of the new top in an inconsistent (non-NULL) state which was confusing the GList implementation resulting in a crash. We now use g_list_delete_link to remove the top of the list.
2010-12-09theme: Check status of XML_ParseRobert Bragg
We were assuming an error with parsing if XML_Parse returned a non-zero value but actually the API is defined so the opposite is true so we now only report a warning when XML_Parse returns zero.
2010-12-09decor: initialise geom before using it for requestRobert Bragg
In mb_wm_decor_grab_handler when handling motion events we would use the motion events to request new client window geometry via mb_wm_client_request_geometry but we weren't initializing the width and height members which could result in the client being killed by the server when failing to allocate an obscene amount of memory.
2010-12-09configure: check for xrender when supporting compositeRobert Bragg
We currently use XRenderFindVisualFormat to determine if a particular window has an alpha component so libmatchbox itself depents on the xrender extension library when support for composite is enabled.
2010-12-09configure: unconditionally check for libexpat.soRobert Bragg
This adds a configure.ac check for expat.h and libexpat.so since the theming code currently assumes this API.
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-09managers: Adds an example xrender based compositorRobert Bragg
Like the clutter based compositor it is based on the code of the simple manager and it builds on the mb-wm-comp-mgr-xrender code that used to live under the matchbox directory but has now been moved to part of the compositor itself.
2010-12-09theme: gracefully handle failures to parse a themeRobert Bragg
We now simply print a warning and fallback to the default material if we fail to parse a theme's xml.
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.
2010-12-09lists: Completely removes mb_wm_util_listRobert Bragg
This actually replaces all use of the mb_wm_util_list API so all the code now just uses the g_list API directly.
2010-12-09util: re-implement linked lists using GList APIRobert Bragg
This makes the mb_wm_util_list API pass straight through to the g_list API.
2010-12-09build: Don't provide CompMgr subclasses in libmatchboxRobert Bragg
This makes it the responsibility of managers/ to provide their own CompMgr subclasses if they want to support compositing. This defines a new manager called "clutter" based on the simple manager and the mb-wm-comp-mgr-clutter code has been moved under managers/clutter. The way matchbox is now configured has been tweaked. There is now a --enable-compositing option that determines if libmatchbox supports compositing which is required if you want to implement a new manager that handles compositing. Also there is a --with-managers= option that takes a coma separated list of which managers to build, including simple,maemo and clutter.
2010-12-09build: Make glib-2.0 a required dependencyRobert Bragg
It doesn't make much sense to have to reimplement basic C utility APIs such as linked lists and hash tables so this makes glib a required dependency for matchbox 2.
2010-12-09Adds some more files to .gitignoreRobert Bragg
2010-12-09build: Another pass at overhauling the naming schemesRobert Bragg
There currently lots of inconsistent ways we refer to matchbox 2; it can be mbwm2, matchbox-wm-2, matchbox2, matchbox-window-manager-2 and things are also confusing when considering the naming of pkg-config files and for choosing the directory name for installing headers. The approach I'm starting to settle on (this goes back on some of the renaming changes I made recently, so sorry for the churn) is to consider the canonical name of the project just "matchbox" and then we use the package/library versioning to define it as "2.0". Headers now get installed in $prefix/include/matchbox-2.0/matchbox and the top level header has been renamed from mb-wm.h to matchbox.h. The pkg-config file will be installed as matchbox-2.0.pc
2010-12-09rename mb-wm.h -> matchbox.hRobert Bragg
2010-12-09build: Remove object typedefs from mb-wm-types.hRobert Bragg
If you need to use MBWMTheme you should include "mb-wm-theme.h". The previous approach of putting all the object typedefs in mb-wm-types.h feels like it hid odd inter-object dependencies because it helped to avoid circular dependancy issues but imho I think the lines between objects interfaces should be clearer.
2010-12-09build: fix the build for managers/maemoRobert Bragg
Some misc #include fixes to enable managers/maemo to build again
2010-12-09build: bump pre-requisites for auto{conf,make},libtoolRobert Bragg
we now expect 2.63, 1.11, and 2.26 respectively
2010-12-09build: simplify the build structureRobert Bragg
The micro organisation of source files was a bit unnecessary given the small size of matchbox2 and made the makefiles a bit more complex than needs be. We now just have a single Makefile.am for libmatchbox2 which uses a few automake conditionals to decide when certain files should be excluded from the build.
2010-12-09update managers to link with libmatchbox2Robert Bragg
This updates {simple,maemo}/Makefile.am so they now just link with libmatchbox2 instead of cherry picking which internal libraries they want to statically link with.
2010-12-09build: Unconditionally build libmatchbox2Robert Bragg
Move mbwm2 towards primarily providing a library for building window and composite managers. The library is now built unconditionally and the window managers under the managers/ subdirectory should instead be made to link against this library instead of statically linking to the internal .la files.
2010-12-09add a '2' suffix to ENABLE_LIBMATCHBOX conditionalRobert Bragg
2010-12-09rename --enable-libmatchbox to --enable-libmatchbox2Robert Bragg
This simply renames the --enable-libmatchbox configure option to have a 2 suffix.
2010-12-09build: Remove AM_MAINTAINER_MODE from configure.acRobert Bragg
Anyone who builds the matchbox2 source should expect that if they modify configure.ac or a Makefile.am file then the autotool magic should be re-run so the changes take immediate affect. With the AM_MAINTAINER_MODE option though you have to explicitly opt in to the bahaviour that we'd get anyway without using the macro
2010-12-09build: Enable silent automake rulesRobert Bragg
So we can see past all the noise of compiling and actually see compilation warnings we enable the silent automake build rules option in configure.ac
2010-12-09build: updates autogen.sh to handle gtkdocizeRobert Bragg
This nabs the autogen.sh from Clutter as a basis than can handle the gtkdocizing of the project
2010-12-09docs: Adds initial gtk-doc boilerplateRobert Bragg
This adds the basis for creating an API reference for libmatchbox2
2010-12-09re-organize directory structure a bitRobert Bragg
This renames the matchbox directory matchbox2 and it also moves the /matchbox/managers directory to sit alongside the matchbox2 directory. The idea being that everything under matchbox2 should be code that gets linked into libmatchbox2 while code sitting alongside can then provide examples that actually consume the libmatchbox2 api.
2010-11-25check we have expat.hTomas Frydrych
2010-11-21.gitignoreTomas Frydrych
2010-11-21[MBWMCompMgrClutter] run scale effects from center of actorTomas Frydrych
2010-11-21[MBWMClientWindow] Support multiple items in _NET_WM_WINDOW_TYPE propertyTomas Frydrych
Handle the propery as per EWMH spec: find the first value we understand; the content of the whole property is made available for custom implemenations via the net_type_full/net_type_full_size members.
2010-11-21[MBWMCompMgrClutter] general code clean upTomas Frydrych
2010-11-21[MNWMCompMgrClutter] use bounding box damage, rather than non-emptyTomas Frydrych
This allows for some damage event compression, improving compositor performance
2010-11-21[MBWMCompMgrClutterClient] implement freezing of updatesTomas Frydrych
Attempt to freeze updates to client texture during effect progress. NB: Whether this works depends on how tfp is implemented by the driver; it is advisable that any effects around the unmap/minimize events are implemented in a fashion that can cope with the content of the client window going black during the effect.
2010-11-21[MBWMCompMgrClutter] Implement compositor stack freezingTomas Frydrych
Some effects (notably the Unmap one) need to be able to freeze the compositor stack for duration of the effect, otherwise the animated actor disappears below the top.
2010-11-21[MBWMCompMgrClutter] Update for Clutter 1.0Tomas Frydrych
Rewrite animations in the clutter compositor using ClutterAnimation API Require clutter 1.5.6 (should be possible to use cluter 1.2.x, but there is a bug in the 1.3/1.4 series that makes it unusable for us; this is fixed in 1.5.6).
2010-07-21Replace changelog with a pointer to gitwebRoss Burton
2010-04-12Fix SIGSEGV whne destroying a client with active ping timeoutTomas Frydrych
2010-04-12Make file clean upTomas Frydrych
2008-10-092008-10-09 Tomas Frydrych <tf@linux.intel.com>Tomas Frydrych
* matchbox/core/mb-wm-stack.c: (mb_wm_stack_remove): Fixed bug in stack size accounting (patch by Aurélien Bauchet <abauchet@comwax.com>).
2008-09-262008-09-26 Ross Burton <ross@linux.intel.com>Ross Burton
* matchbox/core/mb-window-manager.c: When the root window resizes, update the work area rectangles.
2008-09-162008-09-16 Tomas Frydrych <tf@linux.intel.com>Tomas Frydrych
* matchbox/core/mb-window-manager.c: * matchbox/core/mb-wm-atoms.c: * matchbox/core/mb-wm-client-window.c: * matchbox/core/mb-wm-client-window.h: * matchbox/core/mb-wm-types.h: Use WM_NORMAL_HINTS for window gravity (instead of the X attribute) and user position (patch by Aurélien Bauchet <abauchet@comwax.com>).
2008-09-152008-09-15 Ross Burton <ross@linux.intel.com>Ross Burton
* matchbox/core/mb-window-manager.[ch]: Make get_desktop_geometry a vfunc, so that subclasses can override it.