diff --git a/src/i18n/lang/en-US/settings.ts b/src/i18n/lang/en-US/settings.ts index 153dde8..aa21568 100644 --- a/src/i18n/lang/en-US/settings.ts +++ b/src/i18n/lang/en-US/settings.ts @@ -66,7 +66,9 @@ export default { noMusicSources: 'No sources selected', gdmusicInfo: 'GD Music Station intelligently resolves music from multiple platforms automatically', autoPlay: 'Auto Play', - autoPlayDesc: 'Auto resume playback when reopening the app' + autoPlayDesc: 'Auto resume playback when reopening the app', + showStatusBar: "Show Status Bar", + showStatusBarContent: "You can display the music control function in your mac status bar (effective after a restart)" }, application: { closeAction: 'Close Action', diff --git a/src/i18n/lang/zh-CN/settings.ts b/src/i18n/lang/zh-CN/settings.ts index 52db911..72a3e57 100644 --- a/src/i18n/lang/zh-CN/settings.ts +++ b/src/i18n/lang/zh-CN/settings.ts @@ -66,7 +66,9 @@ export default { noMusicSources: '未选择音源', gdmusicInfo: 'GD音乐台可自动解析多个平台音源,自动选择最佳结果', autoPlay: '自动播放', - autoPlayDesc: '重新打开应用时是否自动继续播放' + autoPlayDesc: '重新打开应用时是否自动继续播放', + showStatusBar: '是否显示状态栏控制功能', + showStatusBarContent: '可以在您的mac状态栏显示音乐控制功能(重启后生效)', }, application: { closeAction: '关闭行为', diff --git a/src/main/modules/config.ts b/src/main/modules/config.ts index f406785..7e54e87 100644 --- a/src/main/modules/config.ts +++ b/src/main/modules/config.ts @@ -24,6 +24,7 @@ type SetConfig = { fontFamily: string; fontScope: 'global' | 'lyric'; language: string; + showTopAction: boolean; }; interface StoreType { set: SetConfig; diff --git a/src/main/modules/tray.ts b/src/main/modules/tray.ts index 898b0ec..b9ebcd6 100644 --- a/src/main/modules/tray.ts +++ b/src/main/modules/tray.ts @@ -11,6 +11,7 @@ import { join } from 'path'; import type { Language } from '../../i18n/main'; import i18n from '../../i18n/main'; +import { getStore } from './config'; // 歌曲信息接口定义 interface SongInfo { @@ -327,7 +328,8 @@ export function updateTrayMenu(mainWindow: BrowserWindow) { // 初始化状态栏Tray function initializeStatusBarTray(mainWindow: BrowserWindow) { - if (process.platform !== 'darwin') return; + const store = getStore() + if (process.platform !== 'darwin' || !store.get('set.showTopAction')) return; const iconSize = getProperIconSize(); diff --git a/src/main/set.json b/src/main/set.json index a73356e..4750155 100644 --- a/src/main/set.json +++ b/src/main/set.json @@ -23,5 +23,6 @@ "alwaysShowDownloadButton": false, "unlimitedDownload": false, "enableMusicUnblock": true, - "enabledMusicSources": ["migu", "kugou", "pyncmd", "bilibili", "kuwo"] + "enabledMusicSources": ["migu", "kugou", "pyncmd", "bilibili", "kuwo"], + "showTopAction": false } diff --git a/src/renderer/views/set/index.vue b/src/renderer/views/set/index.vue index 55347c7..7850f64 100644 --- a/src/renderer/views/set/index.vue +++ b/src/renderer/views/set/index.vue @@ -183,6 +183,17 @@ +
+
+
{{ t('settings.playback.showStatusBar') }}
+
{{ t('settings.playback.showStatusBarContent') }}
+
+ + + + +
+
{{ t('settings.playback.autoPlay') }}
@@ -488,6 +499,8 @@ import config from '../../../../package.json'; // 所有平台默认值 const ALL_PLATFORMS: Platform[] = ['migu', 'kugou', 'pyncmd', 'bilibili', 'kuwo']; +const platform = window.electron.ipcRenderer.sendSync('get-platform'); + const settingsStore = useSettingsStore(); const userStore = useUserStore();