shadowsocksrr / electron-ssr

Shadowsocksr client using electron
MIT License
1.73k stars 510 forks source link

优化应用开启行为 #34

Closed zidoshare closed 4 years ago

zidoshare commented 4 years ago

问题:当用户点击快捷方式打开应用时,不能显示主界面

优化:当点击应用程序图标(快捷方式)时将能显示主界面,从而在无法显示托盘图标的桌面环境中能够进入主界面

主要原因是应用开启时仅检测了最小化,并未检测visible可见性状态。

本次更新主要是为了在linux gnome等桌面中如果无法显示托盘时,能够通过点击图标进入主界面,在其他平台也使图标点击行为一致,当用户多次点击图标,应该均为显示主界面。

另外根据gnome作者去除tray icon api的意图来看,gnome建议app尽量不使用tray icon,而是采用启动图标显示隐藏,并在app界面进行相关功能。后台运行时应该更深度的集成到gnome环境,例如 notification中。

原博文链接

xVanTuring commented 4 years ago

关于gnome集成,我也在做一个Gnome的SSR插件,效果和electron-ssr状态栏菜单类似。 至于直接在 Electron 里面集成可能会有点麻烦。

xVanTuring commented 4 years ago

目前可以考虑把菜单的功能,比如系统代理设置放到设置页面里面

xVanTuring commented 4 years ago

@zidoshare 可以考虑直接修改为,

    showWindow()
    //  const _window = getWindow()
    //  if (_window) {
    //   if (_window.isMinimized()) {
    //     _window.restore()
    //   }
    //   _window.focus()
    // }

在Gnome上的测试结果正常,能够重新显示hide的窗口