diff options
author | Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com> | 2016-12-13 14:35:25 +0900 |
---|---|---|
committer | Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com> | 2016-12-14 14:41:46 +0900 |
commit | 57e18aeaf2a9ae292af7559580f8154527fc04f5 (patch) | |
tree | c1071a6288a30d3743bcbfbdc6d96cc96e1a4abc /interfaces | |
parent | b9f0e1049e70e9553a752d13de5d4023e85cc662 (diff) |
Fix and improve switching applications
v2: (Tadao Tanikawa)
Minor fixed pointed by reveiw and organize debug message
v1: (Tadao Tanikawa)
Quick hack to fix and improve switching applications.
Changes:
* Improve management of layers and surfaces
Previously single layer was shared among all applications,
now each application has its own layer.
* Improve showing / hiding applications
Previously to show/hide application, surfaces are added
or removed everytime, but it's slow.
Now reordering layers controls showing/hiding applications,
it much faster.
* Shortcut icons whose application is not installed no
longer cause issue to switch apps.
Caution:
This patch is very quick hack, and many old codes which
regarding to management surfaces are disabled, so there
may be unnoticed degraded.
Change-Id: I69494213b0d1b169558f3d792ebecf414caccacc
Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
Diffstat (limited to 'interfaces')
-rw-r--r-- | interfaces/windowmanager.xml | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/interfaces/windowmanager.xml b/interfaces/windowmanager.xml index 754c816..8a34611 100644 --- a/interfaces/windowmanager.xml +++ b/interfaces/windowmanager.xml @@ -127,6 +127,7 @@ Returns a list of layouts that offer the exact requested ammount of surface render areas. If the list is empty, no layout fits the exact ammount. --> + <method name="getAvailableLayouts"> <arg name="numberOfAppSurfaces" type="i" direction="in"/> <arg name="layoutIds" type="ai" direction="out"/> @@ -134,19 +135,6 @@ </method> <!-- - getAllSurfacesOfProcess: - @pid: The PID of the process. - @surfaceIds: A list of surfaces that were created by the process. - - The surface IDs can be used to assign them to a layout render area. - --> - <method name="getAllSurfacesOfProcess"> - <arg name="pid" type="i" direction="in"/> - <arg name="layoutIds" type="ai" direction="out"/> - <annotation name="org.qtproject.QtDBus.QtTypeName.Out0" value="QList<int>"/> - </method> - - <!-- setSurfaceToLayoutArea: @surfaceId: The ID of the surface that shall be positioned. @layoutAreaId: The ID of the layout area where the surface shall be rendered. @@ -187,12 +175,23 @@ <!-- showLayer: @layer: The ID of the layer to show. POPUP=0, HOMESCREEN_OVERLAY=1, APPS=2, HOMESCREEN=3 + @pid: The PID of the app to show. (used only when layer is APPS=2) Show complete layers. By default, all layers are shown. --> <method name="showLayer"> <arg name="layer" type="i" direction="in"/> + <arg name="pid" type="i" direction="in"/> + </method> + <!-- + showAppLayer: + @pid: The PID of the app to show. + + Show layer for application . + --> + <method name="showAppLayer"> + <arg name="pid" type="i" direction="in"/> </method> <!-- hideLayer: |