Age | Commit message (Collapse) | Author |
|
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
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
|
|
This allows for some damage event compression, improving compositor performance
|
|
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.
|
|
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.
|
|
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).
|
|
|
|
|
|
* matchbox/core/mb-wm-stack.c:
(mb_wm_stack_remove):
Fixed bug in stack size accounting (patch by Aurélien Bauchet
<abauchet@comwax.com>).
|
|
* matchbox/core/mb-window-manager.c:
When the root window resizes, update the work area rectangles.
|
|
* 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>).
|
|
* matchbox/core/mb-window-manager.[ch]:
Make get_desktop_geometry a vfunc, so that subclasses can override
it.
|
|
* matchbox/managers/simple/Makefile.am:
* matchbox/managers/maemo/Makefile.am:
Fixed order of libraries for the linker so we can build
with --as-needed.
|
|
* configure.ac
* matchbox/client-types/Makefile.am
* matchbox/comp-mgr/Makefile.am
* matchbox/core/Makefile.am
* matchbox/theme-engines/Makefile.am
* matchbox/Makefile.am
* matchbox/managers/simple/Makefile.am:
Allows building managers and libmatchbox at the same time. By default
managers remain disabled if libmatchbox is enabled, but you can now
enable managers explicitly to get both. This also removes lots of
Makefile.am ifdef checks where we were toggling between
noinst_LIBRARIES ending in .a vs .la. All CLIENT_LIBS are listed as
.la now and all noinst libs are build as .la. Libtool then figures
out the right thing to do.
|
|
* matchbox/core/mb-wm-client.c:
Plumbs in a call to mb_wm_handle_hang_client in
mb_wm_client_ping_timeout_cb, so that derivative managers can now just
implement wm_class->client_responding and wm_class->client_hang to
handle unresponsive clients.
|
|
* matchbox/core/mb-wm-client.c:
Adds a check in mb_wm_client_ping_start that the client supports
the NET_WM_PING protocol.
Adds a verbose comment in mb_wm_client_deliver_delete about not being
able check for failures of WM_DELETE messages. (Since I recently had
a problem in a derivative WM that was attempting just that.)
|
|
* matchbox/theme-engines/mb-wm-theme-png.c:
mb_wm_theme_png_get_button_position now propery determines the button
positions in the case that the decor has been expanded larger than the
themes template image.
|
|
* configure.ac:
Adds a -I$(top_builddir) to MBWM_INCS for finding mb-wm-config.h
when doing out of tree builds.
* matchbox/client-types/Makefile.am:
* matchbox/comp-mgr/Makefile.am:
* matchbox/theme-engines/Makefile.am:
Removes us of wildcards for setting pkginclude_HEADERS variables.
Automake doesn't support wildcards.
|
|
* configure.ac:
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
Use ClutterGLXTexturePixmap when building agains clutter GLX
backend.
|
|
* matchbox/core/mb-wm-decor.c:
(mb_wm_decor_button_press_handler):
Ensure that if a custom press handler is installed, it gets called
even if the button is not press-activated; do not block rest of
main loop, so that timers and such work.
|
|
* /matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
(tidy_texture_frame_paint):
Updated to match upstream API change.
|
|
* matchbox/theme-engines/mb-wm-theme.c:
* matchbox/theme-engines/mb-wm-theme.h:
(mb_wm_theme_set_custom_theme_alloc_func):
Added a hook to simplify subclassing of theme-engines.
|
|
* matchbox/theme-engines/mb-wm-theme.c:
(xml_element_start_cb):
Hooked custom button type function in.
|
|
* matchbox/core/mb-wm-decor.c:
(mb_wm_decor_button_new):
Added missing type parameter.
|
|
* matchbox/theme-engines/mb-wm-theme.c:
* matchbox/theme-engines/mb-wm-theme.h:
(mb_wm_theme_set_custom_button_type_func):
Added a hook to simplify subclassing of theme-engines.
|
|
* matchbox/theme-engines/mb-wm-theme-png.h:
Added mb_wm_theme_png_class_type() prototype.
|
|
* matchbox/theme-engines/mb-wm-theme.c:
* matchbox/theme-engines/mb-wm-theme.h:
(mb_wm_theme_set_custom_theme_type_func):
Added a hook to simplify subclassing of theme-engines.
|
|
* /matchbox/comp-mgr/mb-wm-comp-mgr.c:
(mb_wm_comp_mgr_client_show):
(mb_wm_comp_mgr_client_configure):
(mb_wm_comp_mgr_client_repair):
(mb_wm_comp_mgr_register_client):
(mb_wm_comp_mgr_unregister_client):
NULL checks.
|
|
* matchbox/core/mb-wm-main-context.c:
* matchbox/core/mb-wm-main-context.h:
* matchbox/core/mb-wm-types.h:
Added hook for ClientMessage events.
|
|
* /matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
(mb_wm_comp_mgr_clutter_restack_real):
Do a parent check when restacking to avoid triggering clutter
warning.
(mb_wm_comp_mgr_clutter_add_actor):
Handle clients with desktop unset gracefully.
|
|
* matchbox/core/mb-wm-main-context.c:
(mb_wm_main_context_handle_x_event):
Sanitized so we do not crash if a callback removes itself.
|
|
* matchbox/theme-engines/mb-wm-theme.c:
* matchbox/theme-engines/mb-wm-theme.h:
(mb_wm_theme_set_custom_type_func):
Added a hook to allow theming of custom client types.
|
|
* matchbox/core/mb-window-manager.c:
(mb_wm_init):
Force a stack sync on startup to allow compositing managers to
handle initial state depending on whether the stack is empty or
not.
|
|
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h:
Added MBWMCompMgrClutter::client_new() virtual to simplify
subclassing.
|
|
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h:
Added getter for client flags.
|
|
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h:
Added public API for setting client flags to allow subclasses of
MBWMCompMgrClutter to efficiently implement effects.
|
|
* /matchbox/core/mb-wm-client.c:
(mb_wm_client_shutdown):
Fixed for clients that do not have _NET_WM_PID set.
|
|
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
(mb_wm_comp_mgr_clutter_client_destroy):
(mb_wm_comp_mgr_clutter_private_free):
Use clutter_actor_destroy() rather than g_object_unref() to
destroy actors we own.
|
|
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h:
(mb_wm_comp_mgr_clutter_get_arena):
Added an intermediate ClutterGroup to sit between stage and the CM
actors to provide a greater flexibility for any derived
compositing managers.
|
|
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:
* matchbox/managers/simple/matchbox-window-manager-2-simple.c:
Further changes to sync up with clutter.
|
|
* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
* matchbox/core/mb-window-manager.c:
Sync up with changes to clutter API.
|
|
* matchbox/core/mb-window-manager.c:
Add support for the root window resizing itself, which means RANDR has
been used.
|
|
* matchbox/core/mb-window-manager.c:
Only register a configure notify handler for all windows if
compositing is enabled.
|
|
* matchbox-window-manager-2/matchbox/client-types/mb-wm-client-panel.c
* matchbox-window-manager-2/matchbox/core/mb-wm-client-window.c
* matchbox-window-manager-2/matchbox/core/mb-wm-client.h
* matchbox-window-manager-2/matchbox/core/mb-wm-client-window.h
* matchbox-window-manager-2/matchbox/core/mb-wm-types.h
* matchbox-window-manager-2/matchbox/core/mb-wm-client-base.c
* matchbox-window-manager-2/matchbox/core/mb-window-manager.c
* matchbox-window-manager-2/matchbox/core/mb-wm-client.c
* matchbox-window-manager-2/matchbox/managers/maemo/maemo-toolbar.c:
Changes how we respond to configure notifications. We now defer the
response until after all layout decisions so we know for sure when we
need to send a synthetic event. Note this adds a new
client->window->x_geometry member that is meant to always be a pristine
copy of the X dimensions for the client xwindow.
client->window->geometry continues to be used for layout purposes.
|
|
* matchbox/client-types/mb-wm-client-desktop.c:
* matchbox/client-types/mb-wm-client-input.c:
* matchbox/client-types/mb-wm-client-dialog.c:
Remove unused defines.
|
|
* matchbox/core/mb-wm-layout.[ch]:
Expose mb_wm_layout_maximise_geometry and
mb_wm_layout_clip_geometry for subclasses to use.
|