[关闭]
@electricface 2016-07-19T09:27:04.000000Z 字数 1898 阅读 1756

dde-daemon dock 新接口设计

工作


Dest: com.deepin.dde.daemon.Dock

Dock Manager

ObjPath: /com/deepin/dde/daemon/Dock

Interfaces

com.deepin.dde.daemon.Dock

Methods

Properties

项目的 objPath,不需要监视这个属性改变
Array of [objPath] Entries Read

驻留程序列表
Array of [String] DockedApps Read

显示模式
Int32 DisplayMode Read/Write

隐藏模式
Int32 HideMode Read/Write

位置
Int32 Postion Read/Write

图标尺寸
UInt32 IconSize Read/Write

隐藏状态,控制前端的显示隐藏
Int32 HideState Read

Signals

增加一个项目
EntryAdded(ObjPath entryObjPath, Int32 index)
减少一个项目
EntryRemoved(String entryId)

服务重启
ServiceRestarted()

Entry

为每一个entry创建一个 objPath
ObjPath: /com/deepin/dde/daemon/Dock/entries/e0Txxxxxxx
后面这个 e0Txxxxxxx 就是 entryId

Interfaces

com.deepin.dde.daemon.Dock.Entry

Methods

点击项目时调用它
Activate(UInt32 timestamp) -> ()

接受拖拽文件时调用它
HandleDragDrop(UInt32 timestamp, Array of [String] files) -> ()

右键菜单项目被点击时调用
HandleMenuItem(UInt32 timestamp, String menuItemId) -> ()

驻留,暂时无用
RequestDock() -> ()

取消驻留,将图标从dock上拖走时调用
RequestUndock() -> ()

Properties

Entry Id 保证不改变
String Id Read

是否为活跃状态,表示活跃窗口是否在这个entry中
Boolean IsActive Read

是否已经驻留
Boolean IsDocked Read

应用名
String Name Read

当前窗口
UInt32 CurrentWindow Read

图标
String Icon Read

菜单,JSON 编码
String Menu Read

窗口标题,键为windowId,值为窗口标题
Dict of {UInt32, String} WindowTitles Read

Signals

暂无

枚举值

DisplayMode

Fashion 0 时尚
Efficient 1 高效
Classic 2 经典,即将废弃

HideMode

KeepShowing 0 一直显示
KeepHidden 1 一直隐藏
SmartHide 3 智能隐藏

Postion

Top 0 顶部
Right 1 右侧
Bottom 2 底部,默认值
Left 3 左侧

HideState

Unknown 未知状态 0,如果是这个值前端不要有动作
Show 显示 1
Hide 隐藏 2

前后端进程启动过程分析

Dock 后端被重启的情况

后端:启动完成后,发送 ServiceRestarted 信号

前端:需要前端监听 ServiceRestarted 信号,如果收到,需要刷新下 Entries 属性,就能保证前后端功能正常。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注