[maemo-commits] [maemo-commits] r18527 - in projects/haf/trunk/libmatchbox2: . debian matchbox/core
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Thu May 28 16:45:24 EEST 2009
- Previous message: [maemo-commits] r18526 - projects/haf/tags/osso-af-utils
- Next message: [maemo-commits] r18528 - projects/haf/trunk/libmatchbox2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: kihamala Date: 2009-05-28 16:45:22 +0300 (Thu, 28 May 2009) New Revision: 18527 Modified: projects/haf/trunk/libmatchbox2/ChangeLog projects/haf/trunk/libmatchbox2/debian/changelog projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.h Log: support functions for HD's non-composited mode Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-05-28 13:44:19 UTC (rev 18526) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-05-28 13:45:22 UTC (rev 18527) @@ -1,3 +1,10 @@ +2009-05-28 Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> + + * matchbox/core/mb-window-manager.[ch] (mb_wm_unredirect_client, + mb_wm_setup_redirection): New functions for offscreen redirection + manipulation. + (mb_wm_handle_map_notify): Unredirect the client if we are in the mode. + 2009-05-27 Thomas Thurman <thomas.thurman at collabora.co.uk> Fixes: NB#117084 System-modal windows lose focus Modified: projects/haf/trunk/libmatchbox2/debian/changelog =================================================================== --- projects/haf/trunk/libmatchbox2/debian/changelog 2009-05-28 13:44:19 UTC (rev 18526) +++ projects/haf/trunk/libmatchbox2/debian/changelog 2009-05-28 13:45:22 UTC (rev 18527) @@ -1,6 +1,7 @@ matchbox-window-manager-2 (0.2.41-1~unreleased) unstable; urgency=low - * foo + Kimmo: + * Support functions for hildon-desktop's non-composited mode. -- Kimmo Hämäläinen <kimmo.hamalainen at nokia.com> Mon, 25 May 2009 10:13:36 +0300 Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-05-28 13:44:19 UTC (rev 18526) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-05-28 13:45:22 UTC (rev 18527) @@ -735,6 +735,47 @@ #if ENABLE_COMPOSITE +static void +mb_wm_unredirect_client (MBWindowManager *wm, + MBWindowManagerClient *client) +{ + if (client->xwin_frame) + { + XCompositeUnredirectWindow (wm->xdpy, client->xwin_frame, + CompositeRedirectManual); + XCompositeUnredirectSubwindows (wm->xdpy, client->xwin_frame, + CompositeRedirectManual); + XCompositeRedirectWindow (wm->xdpy, client->xwin_frame, + CompositeRedirectAutomatic); + } + else + { + XCompositeUnredirectWindow (wm->xdpy, client->window->xwindow, + CompositeRedirectManual); + XCompositeUnredirectSubwindows (wm->xdpy, client->window->xwindow, + CompositeRedirectManual); + } +} + +void +mb_wm_setup_redirection (MBWindowManager *wm, int redirection) +{ + Window root_win = wm->root_win->xwindow; + + if (redirection) + { + XCompositeRedirectSubwindows (wm->xdpy, root_win, + CompositeRedirectManual); + wm->non_redirection = False; + } + else + { + XCompositeUnredirectSubwindows (wm->xdpy, root_win, + CompositeRedirectManual); + wm->non_redirection = True; + } +} + /* For the compositing engine we need to track overide redirect * windows so the compositor can paint them. */ @@ -785,6 +826,9 @@ */ mb_wm_client_reset_hiding_from_desktop (client); } + + if (wm->non_redirection) + mb_wm_unredirect_client (wm, client); } return True; @@ -831,6 +875,9 @@ mb_wm_manage_client (wm, client, True); mb_wm_comp_mgr_map_notify (wm->comp_mgr, client); + if (wm->non_redirection) + mb_wm_unredirect_client (wm, client); + return True; } #endif Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.h =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.h 2009-05-28 13:44:19 UTC (rev 18526) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.h 2009-05-28 13:45:22 UTC (rev 18527) @@ -130,6 +130,7 @@ char **argv; int argc; + Bool non_redirection; }; /** @@ -238,5 +239,7 @@ void mb_adjust_dialog_title_position (MBWindowManager *wm, int new_padding); +void +mb_wm_setup_redirection (MBWindowManager *wm, int redirection); #endif
- Previous message: [maemo-commits] r18526 - projects/haf/tags/osso-af-utils
- Next message: [maemo-commits] r18528 - projects/haf/trunk/libmatchbox2
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]