mirror of
https://github.com/qier222/YesPlayMusic.git
synced 2025-03-06 10:21:33 +08:00
try tray context on linux | 尝试在linux上实现托盘菜单 (#926)
* try tray context on linux * 调整linux下托盘菜单的选项位置 * bug fix * fix : linux tray contextMenu cant open * prettier code * 移除 显示主面板 的图标
This commit is contained in:
parent
b6cc6f8284
commit
704732a046
@ -9,16 +9,24 @@ export function createTray(win) {
|
|||||||
height: 20,
|
height: 20,
|
||||||
width: 20,
|
width: 20,
|
||||||
});
|
});
|
||||||
let tray = new Tray(icon);
|
|
||||||
|
|
||||||
tray.setToolTip('YesPlayMusic');
|
let contextMenu = Menu.buildFromTemplate([
|
||||||
|
//setContextMenu破坏了预期的click行为
|
||||||
tray.on('click', () => {
|
//在linux下,鼠标左右键都会呼出contextMenu
|
||||||
|
//所以此处单独为linux添加一个 显示主面板 选项
|
||||||
|
...(process.platform === 'linux'
|
||||||
|
? [
|
||||||
|
{
|
||||||
|
label: '显示主面板',
|
||||||
|
click: () => {
|
||||||
win.show();
|
win.show();
|
||||||
});
|
},
|
||||||
|
},
|
||||||
tray.on('right-click', () => {
|
{
|
||||||
const contextMenu = Menu.buildFromTemplate([
|
type: 'separator',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
: []),
|
||||||
{
|
{
|
||||||
label: '播放/暂停',
|
label: '播放/暂停',
|
||||||
icon: nativeImage.createFromPath(
|
icon: nativeImage.createFromPath(
|
||||||
@ -79,9 +87,27 @@ export function createTray(win) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
let tray = new Tray(icon);
|
||||||
|
tray.setToolTip('YesPlayMusic');
|
||||||
|
|
||||||
|
if (process.platform === 'linux') {
|
||||||
|
//linux下托盘的实现方式比较迷惑
|
||||||
|
//right-click无法在linux下使用
|
||||||
|
//click在默认行为下会弹出一个contextMenu,里面的唯一选项才会调用click事件
|
||||||
|
//setContextMenu应该是目前唯一能在linux下使用托盘菜单api
|
||||||
|
//但是无法区分鼠标左右键
|
||||||
|
|
||||||
|
tray.setContextMenu(contextMenu);
|
||||||
|
} else {
|
||||||
|
//windows and macos
|
||||||
|
tray.on('click', () => {
|
||||||
|
win.show();
|
||||||
|
});
|
||||||
|
|
||||||
|
tray.on('right-click', () => {
|
||||||
tray.popUpContextMenu(contextMenu);
|
tray.popUpContextMenu(contextMenu);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return tray;
|
return tray;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user